diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 915dda724d53c..5d7970740da58 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -189,7 +189,6 @@ /_maps/ @EOBGames @Maurukas @MMMiracles @san7890 @ShizCalev /icons/ @Imaginos16 @Krysonism @Twaticus @Wallemations -/icons/ass/ @Ghilker @tralezab /code/__DEFINES/atmospherics/ @Ghilker @LemonInTheDark diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000000..84bd4fa20aad9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + target-branch: master + schedule: + interval: daily + labels: + - GitHub + open-pull-requests-limit: 10 diff --git a/.github/guides/RUNNING_A_SERVER.md b/.github/guides/RUNNING_A_SERVER.md index 095c33d20710f..a1b43e2bb2a32 100644 --- a/.github/guides/RUNNING_A_SERVER.md +++ b/.github/guides/RUNNING_A_SERVER.md @@ -4,7 +4,7 @@ BYOND installed. You can get it from https://www.byond.com/download. Once you've that, extract the game files to wherever you want to keep them. This is a sourcecode-only release, so the next step is to compile the server files. -Double-click `BUILD.bat` in the root directory of the source code. This'll take +Double-click `BUILD.cmd` in the root directory of the source code. This'll take a little while, and if everything's done right you'll get a message like this: ``` diff --git a/.github/guides/STANDARDS.md b/.github/guides/STANDARDS.md index 9c6496e0c4dc9..c27c8ae7417ec 100644 --- a/.github/guides/STANDARDS.md +++ b/.github/guides/STANDARDS.md @@ -513,6 +513,30 @@ The following is a list of procs, and their safe replacements. * Move away from something, taking turf density into account `walk_away()` -> `SSmove_manager.move_away()` * Move to a random place nearby. NOT random walk `walk_rand()` -> `SSmove_manager.move_rand()` is random walk, `SSmove_manager.move_to_rand()` is walk to a random place +### Avoid pointer use + +BYOND has a variable type called pointers, which allow you to reference a variable rather then its value. As an example of how this works: + +``` +var/pointed_at = "text" +var/value = pointed_at // copies the VALUE of pointed at +var/reference = &pointed_at // points at pointed_at itself + +// so we can retain a reference even if pointed_at changes +pointed_at = "text AGAIN" +world << (*reference) // Deref to get the value, outputs "text AGAIN" + +// or modify the var remotely +*reference = "text a THIRD TIME" +world << pointed_at // outputs "text a THIRD TIME" +``` + +The problem with this is twofold. +- First: if you use a pointer to reference a var on a datum, it is essentially as if you held an invisible reference to that datum. This risks hard deletes in very unclear ways that cannot be tested for. +- Second: People don't like, understand how pointers work? They mix them up with classical C pointers, when they're more like `std::shared_ptr`. This leads to code that just doesn't work properly, or is hard to follow without first getting your mind around it. It also risks hiding what code does in dumb ways because pointers don't have unique types. + +For these reasons and with the hope of avoiding pointers entering general use, be very careful using them, if you use them at all. + ### BYOND hellspawn What follows is documentation of inconsistent or strange behavior found in our engine, BYOND. diff --git a/.github/workflows/auto_changelog.yml b/.github/workflows/auto_changelog.yml index f47c2936980fe..45303ec0c92af 100644 --- a/.github/workflows/auto_changelog.yml +++ b/.github/workflows/auto_changelog.yml @@ -15,10 +15,22 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + + - name: Generate App Token + id: app-token-generation + uses: actions/create-github-app-token@v1 + if: env.APP_PRIVATE_KEY != '' && env.APP_ID != '' + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + env: + APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} + APP_ID: ${{ secrets.APP_ID }} + - name: Run auto changelog - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const { processAutoChangelog } = await import('${{ github.workspace }}/tools/pull_request_hooks/autoChangelog.js') await processAutoChangelog({ github, context }) - github-token: ${{ secrets.COMFY_ORANGE_PAT || secrets.GITHUB_TOKEN }} + github-token: ${{ steps.app-token-generation.outputs.token || secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index d8d9ec0505bda..bc640dbbf4ab0 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -22,9 +22,17 @@ concurrency: cancel-in-progress: true jobs: - run_linters: + start_gate: if: ( !contains(github.event.head_commit.message, '[ci skip]') ) + name: Start Gate + runs-on: ubuntu-latest + steps: + - name: Mandatory Empty Step + run: exit 0 + + run_linters: name: Run Linters + needs: start_gate runs-on: ubuntu-22.04 timeout-minutes: 5 @@ -71,7 +79,7 @@ jobs: path: tools/icon_cutter/cache key: ${{ runner.os }}-cutter-${{ hashFiles('dependencies.sh') }} - name: Install OpenDream - uses: robinraju/release-downloader@v1.9 + uses: robinraju/release-downloader@v1.11 with: repository: "OpenDreamProject/OpenDream" tag: "latest" @@ -134,9 +142,8 @@ jobs: run: tools/build/build --ci lint tgui-test compile_all_maps: - if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Compile Maps - needs: [collect_data] + needs: collect_data runs-on: ubuntu-22.04 timeout-minutes: 5 @@ -159,8 +166,8 @@ jobs: max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}} collect_data: - if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Collect data for other tasks + needs: start_gate runs-on: ubuntu-22.04 timeout-minutes: 5 outputs: @@ -189,9 +196,8 @@ jobs: echo "max_required_byond_client=$(grep -Ev '^[[:blank:]]{0,}#{1,}|^[[:blank:]]{0,}$' .github/max_required_byond_client.txt | tail -n1)" >> $GITHUB_OUTPUT run_all_tests: - if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Integration Tests - needs: [collect_data] + needs: collect_data strategy: fail-fast: false @@ -204,9 +210,9 @@ jobs: max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}} run_alternate_tests: - if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.collect_data.outputs.alternate_tests != '[]' ) + if: needs.collect_data.outputs.alternate_tests != '[]' name: Alternate Tests - needs: [collect_data] + needs: collect_data strategy: fail-fast: false matrix: @@ -219,18 +225,9 @@ jobs: minor: ${{ matrix.setup.minor }} max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}} - check_alternate_tests: - if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.collect_data.outputs.alternate_tests != '[]' ) - name: Check Alternate Tests - needs: [run_alternate_tests] - runs-on: ubuntu-22.04 - timeout-minutes: 5 - steps: - - run: echo Alternate tests passed. - compare_screenshots: - if: ( !contains(github.event.head_commit.message, '[ci skip]') && (always() && (!failure() && !cancelled())) ) - needs: [run_all_tests, run_alternate_tests] + if: needs.collect_data.outputs.alternate_tests == '[]' || needs.run_alternate_tests.result == 'success' + needs: [ collect_data, run_all_tests, run_alternate_tests ] name: Compare Screenshot Tests timeout-minutes: 15 runs-on: ubuntu-22.04 @@ -267,7 +264,6 @@ jobs: path: artifacts/screenshot_comparisons test_windows: - if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Windows Build needs: [collect_data] runs-on: windows-latest @@ -291,3 +287,14 @@ jobs: with: dmb-location: tgstation.dmb max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}} + + completion_gate: # Serves as a non-moving target for branch rulesets + if: always() && !cancelled() + name: Completion Gate + needs: [ test_windows, compare_screenshots, compile_all_maps, run_linters ] + runs-on: ubuntu-latest + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/compile_changelogs.yml b/.github/workflows/compile_changelogs.yml index e1b8774905f13..aaf01306a806e 100644 --- a/.github/workflows/compile_changelogs.yml +++ b/.github/workflows/compile_changelogs.yml @@ -9,6 +9,8 @@ jobs: compile: name: "Compile changelogs" runs-on: ubuntu-22.04 + permissions: + contents: write steps: - name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps" id: value_holder @@ -18,37 +20,54 @@ jobs: unset SECRET_EXISTS if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi echo "ACTIONS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT + - name: "Setup python" if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: actions/setup-python@v1 + uses: actions/setup-python@v5 with: python-version: '3.x' + - name: "Install deps" if: steps.value_holder.outputs.ACTIONS_ENABLED run: | python -m pip install --upgrade pip python -m pip install pyyaml sudo apt-get install dos2unix + - name: "Checkout" if: steps.value_holder.outputs.ACTIONS_ENABLED uses: actions/checkout@v4 with: fetch-depth: 25 persist-credentials: false + - name: "Compile" if: steps.value_holder.outputs.ACTIONS_ENABLED run: | python tools/ss13_genchangelog.py html/changelogs + - name: Commit if: steps.value_holder.outputs.ACTIONS_ENABLED run: | - git config --local user.email "action@github.com" - git config --local user.name "Changelogs" + git config --local user.name "tgstation-ci[bot]" + git config --local user.email "179393467+tgstation-ci[bot]@users.noreply.github.com" git pull origin master git add html/changelogs git commit -m "Automatic changelog compile [ci skip]" -a || true + + - name: Generate App Token + id: app-token-generation + uses: actions/create-github-app-token@v1 + if: env.APP_PRIVATE_KEY != '' && env.APP_ID != '' + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + env: + APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} + APP_ID: ${{ secrets.APP_ID }} + - name: "Push" if: steps.value_holder.outputs.ACTIONS_ENABLED uses: ad-m/github-push-action@master with: - github_token: ${{ secrets.COMFY_ORANGE_PAT || secrets.GITHUB_TOKEN }} + github_token: ${{ steps.app-token-generation.outputs.token || secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml index 2ffef72218384..388c907b25296 100644 --- a/.github/workflows/generate_documentation.yml +++ b/.github/workflows/generate_documentation.yml @@ -27,10 +27,9 @@ jobs: touch dmdoc/.nojekyll echo codedocs.tgstation13.org > dmdoc/CNAME - name: Deploy - uses: JamesIves/github-pages-deploy-action@3.7.1 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: - BRANCH: gh-pages - CLEAN: true - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SINGLE_COMMIT: true - FOLDER: dmdoc + branch: gh-pages + clean: true + single-commit: true + folder: dmdoc diff --git a/.github/workflows/remove_guide_comments.yml b/.github/workflows/remove_guide_comments.yml index e3a4ac3feda06..621d860c5cd47 100644 --- a/.github/workflows/remove_guide_comments.yml +++ b/.github/workflows/remove_guide_comments.yml @@ -11,7 +11,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Remove guide comments - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const { removeGuideComments } = await import('${{ github.workspace }}/tools/pull_request_hooks/removeGuideComments.js') diff --git a/.github/workflows/rerun_flaky_tests.yml b/.github/workflows/rerun_flaky_tests.yml index 7f498de144308..80ece468061b4 100644 --- a/.github/workflows/rerun_flaky_tests.yml +++ b/.github/workflows/rerun_flaky_tests.yml @@ -12,7 +12,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Rerun flaky tests - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const { rerunFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') @@ -24,7 +24,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Report flaky tests - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const { reportFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') diff --git a/.github/workflows/show_screenshot_test_results.yml b/.github/workflows/show_screenshot_test_results.yml index c61d09fa89057..b48ca983b35e7 100644 --- a/.github/workflows/show_screenshot_test_results.yml +++ b/.github/workflows/show_screenshot_test_results.yml @@ -34,7 +34,7 @@ jobs: npm install node-fetch - name: Show screenshot test results if: steps.secrets_set.outputs.SECRETS_ENABLED - uses: actions/github-script@v6 + uses: actions/github-script@v7 env: FILE_HOUSE_KEY: ${{ secrets.ARTIFACTS_FILE_HOUSE_KEY }} with: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 241db03f6e82d..1b268802227af 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/stale@v4 + - uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-pr-message: "This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself" diff --git a/.github/workflows/test_merge_bot.yml b/.github/workflows/test_merge_bot.yml index c77e507794413..76dcd3cabc5b0 100644 --- a/.github/workflows/test_merge_bot.yml +++ b/.github/workflows/test_merge_bot.yml @@ -32,7 +32,7 @@ jobs: npm install node-fetch - name: Check for test merges if: steps.secrets_set.outputs.GET_TEST_MERGES_URL - uses: actions/github-script@v6 + uses: actions/github-script@v7 env: GET_TEST_MERGES_URL: ${{ secrets.GET_TEST_MERGES_URL }} with: diff --git a/.github/workflows/tgs_test.yml b/.github/workflows/tgs_test.yml index bd538307aa3f3..4b7853aa77cfe 100644 --- a/.github/workflows/tgs_test.yml +++ b/.github/workflows/tgs_test.yml @@ -14,6 +14,7 @@ on: - 'code/__DEFINES/tgs.dm' - 'code/game/world.dm' - 'code/modules/tgs/**' + - 'tools/bootstrap/**' - 'tools/tgs_scripts/**' - 'tools/tgs_test/**' pull_request: @@ -28,6 +29,7 @@ on: - 'code/__DEFINES/tgs.dm' - 'code/game/world.dm' - 'code/modules/tgs/**' + - 'tools/bootstrap/**' - 'tools/tgs_scripts/**' - 'tools/tgs_test/**' merge_group: @@ -57,7 +59,7 @@ jobs: - 5000:5000 #Can't use env here for some reason steps: - name: Setup dotnet - uses: actions/setup-dotnet@v2 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index 232c02c0ecbed..3f7ee320d90b5 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -9,6 +9,9 @@ jobs: update-dmapi: runs-on: ubuntu-22.04 name: Update the TGS DMAPI + permissions: + contents: write + pull-requests: write steps: - name: Clone uses: actions/checkout@v4 @@ -29,12 +32,23 @@ jobs: - name: Commit and Push continue-on-error: true run: | - git config user.name "tgstation-server-ci[bot]" - git config user.email "161980869+tgstation-server-ci[bot]@users.noreply.github.com" + git config user.name "tgstation-ci[bot]" + git config user.email "179393467+tgstation-ci[bot]@users.noreply.github.com" git add . git commit -m 'Update TGS DMAPI' git push -f -u origin tgs-dmapi-update + - name: Generate App Token + id: app-token-generation + uses: actions/create-github-app-token@v1 + if: env.APP_PRIVATE_KEY != '' && env.APP_ID != '' + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + env: + APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} + APP_ID: ${{ secrets.APP_ID }} + - name: Create Pull Request uses: repo-sync/pull-request@v2 if: ${{ success() }} @@ -45,4 +59,4 @@ jobs: pr_body: "This pull request updates the TGS DMAPI to the latest version. Please note any changes that may be breaking or unimplemented in your codebase by checking what changes are in the definitions file: code/__DEFINES/tgs.dm before merging.\n\n${{ steps.dmapi-update.outputs.release-notes }}" pr_label: "Tools" pr_allow_empty: false - github_token: ${{ secrets.COMFY_ORANGE_PAT }} + github_token: ${{ steps.app-token-generation.outputs.token || secrets.GITHUB_TOKEN }} diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm index 2e500943b6430..905403954b67b 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm @@ -70,7 +70,7 @@ /area/ruin/powered/icemoon_phone_booth) "W" = ( /obj/machinery/vending/cigarette{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/icemoon, diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm index 121f9e4ea45d4..c9b3d35aa7264 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm @@ -538,9 +538,7 @@ }, /area/ruin/pizzeria) "yP" = ( -/obj/machinery/vending/dinnerware{ - onstation = 0 - }, +/obj/machinery/vending/dinnerware, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm new file mode 100644 index 0000000000000..15a51d2858a1e --- /dev/null +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm @@ -0,0 +1,1247 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clipboard{ + pixel_y = 3; + pixel_x = -4 + }, +/obj/structure/noticeboard/directional/north, +/obj/item/petri_dish/random, +/obj/item/paper/fluff/junkmail_generic{ + name = "weird note" + }, +/obj/item/paper/guides/antag/supermatter_sliver, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"aP" = ( +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/cup/soda_cans/beer{ + pixel_x = -6 + }, +/obj/item/reagent_containers/cup/soda_cans/beer{ + pixel_x = 6 + }, +/obj/structure/closet/mini_fridge, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"bn" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/petri_dish{ + pixel_x = -10; + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/mortar{ + pixel_x = -17; + pixel_y = 1 + }, +/obj/item/pestle{ + pixel_x = -12; + pixel_y = -2 + }, +/obj/structure/microscope, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"bx" = ( +/obj/item/cigbutt, +/turf/template_noop, +/area/template_noop) +"bC" = ( +/obj/machinery/navbeacon{ + location = "syndielab_beacon1"; + codes_txt = "patrol;next_patrol=syndielab_beacon2" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"cd" = ( +/obj/structure/chair/sofa/corp/left, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"cg" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light/warm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"ci" = ( +/obj/structure/flora/bush/pointy/style_3{ + pixel_y = -4; + pixel_x = 6 + }, +/obj/structure/flora/bush/ferny/style_2{ + pixel_y = 6; + pixel_x = -3 + }, +/turf/open/floor/grass{ + initial_gas_mix = "o2=1000;n2=1100;TEMP=280" + }, +/area/ruin/syndielab) +"cu" = ( +/obj/machinery/door/airlock/security{ + desc = "It opens and closes. Menacingly!"; + name = "Syndicate Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"cM" = ( +/mob/living/basic/trooper/syndicate/ranged/shotgun, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"cP" = ( +/obj/effect/mapping_helpers/bombable_wall, +/turf/closed/wall/r_wall/syndicate/nodiagonal{ + desc = "An ominous looking wall. It has extra insulation to keep the heat in."; + name = "plastitanium wall" + }, +/area/ruin/syndielab) +"dD" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/condiment/bbqsauce{ + pixel_y = 8; + pixel_x = -9 + }, +/obj/item/reagent_containers/condiment/donksauce{ + pixel_y = 5; + pixel_x = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"el" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"ex" = ( +/obj/structure/flora/tree/jungle/small/style_4{ + pixel_x = -14; + pixel_y = 5 + }, +/obj/structure/flora/bush/sunny{ + pixel_y = 12; + pixel_x = 12 + }, +/obj/structure/flora/bush/fullgrass/style_2, +/turf/open/floor/grass{ + initial_gas_mix = "o2=1000;n2=1100;TEMP=280" + }, +/area/ruin/syndielab) +"ey" = ( +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"gE" = ( +/obj/machinery/vending/donksnack{ + onstation_override = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"hl" = ( +/obj/machinery/navbeacon{ + location = "syndielab_beacon2"; + codes_txt = "patrol;next_patrol=syndielab_beacon3" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"hn" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 8; + icon_keyboard = "syndie_key" + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"hu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"iy" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"iQ" = ( +/obj/structure/closet/crate/preopen, +/obj/item/radio/off{ + pixel_x = 8 + }, +/obj/item/radio/off{ + pixel_x = -5 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"lW" = ( +/obj/structure/filingcabinet, +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt/alternate, +/obj/item/pen, +/obj/item/paper/guides/antag/nuke_instructions, +/obj/item/cigarette/syndicate, +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/obj/item/sticker/syndicate, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"mi" = ( +/obj/structure/sign/poster/contraband/cybersun_six_hundred/directional/west, +/obj/item/vending_refill/donksoft{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/item/vending_refill/donksnackvendor, +/obj/structure/closet/crate/freezer/donk, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"na" = ( +/obj/item/climbing_hook, +/obj/item/pickaxe/silver{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/t_scanner/adv_mining_scanner{ + pixel_x = 3; + pixel_y = -1 + }, +/obj/item/hatchet/wooden{ + pixel_y = -7; + pixel_x = -3 + }, +/obj/structure/closet/crate/preopen, +/obj/structure/sign/poster/contraband/gorlex_recruitment/directional/west, +/obj/effect/decal/cleanable/plastic, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"nD" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/microwave, +/obj/machinery/light/warm/directional/east, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"nT" = ( +/obj/machinery/atmospherics/components/binary/pump/on/dark/hidden{ + dir = 1; + target_pressure = 180 + }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"oA" = ( +/obj/structure/syndicate_uplink_beacon, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"oY" = ( +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/east{ + cable_layer = 1 + }, +/obj/effect/mapping_helpers/apc/cut_AI_wire, +/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 + }, +/obj/item/traitor_bug{ + pixel_y = 6; + pixel_x = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"qy" = ( +/obj/item/clothing/suit/hooded/explorer/syndicate{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/clothing/mask/gas/syndicate, +/obj/structure/rack, +/obj/machinery/light/warm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"qC" = ( +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"ry" = ( +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = -7; + pixel_y = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"rH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"rO" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"sa" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"sj" = ( +/obj/structure/chair/office/tactical{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"sp" = ( +/obj/effect/decal/cleanable/plastic, +/obj/structure/mop_bucket/janitorialcart{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"sV" = ( +/obj/machinery/vending/donksofttoyvendor{ + onstation_override = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"tb" = ( +/obj/machinery/light/warm/directional/north, +/obj/effect/decal/cleanable/oil/streak, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"tC" = ( +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"uT" = ( +/obj/structure/table/wood, +/obj/item/ammo_casing/shotgun/scatterlaser{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/ammo_casing/shotgun/buckshot{ + pixel_y = 4; + pixel_x = 8 + }, +/turf/open/floor/carpet/red, +/area/ruin/syndielab) +"uX" = ( +/obj/structure/flora/bush/ferny{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/machinery/air_sensor{ + chamber_id = "syndielab_biodome" + }, +/turf/open/floor/grass{ + initial_gas_mix = "o2=1000;n2=1100;TEMP=280" + }, +/area/ruin/syndielab) +"vr" = ( +/obj/structure/sign/poster/contraband/revolver/directional/east, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"vE" = ( +/obj/structure/safe, +/obj/item/book/granter/crafting_recipe/donk_secret_recipe, +/obj/item/stack/sheet/mineral/plasma/thirty, +/obj/item/storage/wallet/money{ + desc = "It can hold a few small and personal things." + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"vO" = ( +/obj/machinery/door/airlock/survival_pod{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/fans/tiny, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"wh" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/trash/ready_donk{ + pixel_x = 6 + }, +/obj/structure/sign/poster/contraband/eat/directional/east, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"wj" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"wl" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"wJ" = ( +/obj/structure/rack, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/suit/hooded/explorer/syndicate{ + pixel_x = 8; + pixel_y = -2 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"xa" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"xg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"xr" = ( +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/door/airlock/security{ + desc = "It opens and closes. Menacingly!"; + name = "Syndicate Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"yW" = ( +/turf/open/floor/carpet/red, +/area/ruin/syndielab) +"AD" = ( +/obj/structure/bookcase, +/obj/item/book/manual/fish_catalog{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/book/manual/nuclear{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/book/manual/wiki/cytology{ + pixel_x = 6; + pixel_y = -2 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"AR" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal{ + desc = "An ominous looking wall. It has extra insulation to keep the heat in."; + name = "plastitanium wall" + }, +/area/ruin/syndielab) +"AX" = ( +/obj/item/ammo_casing/shotgun/buckshot/spent{ + pixel_y = -6; + pixel_x = 4 + }, +/turf/open/floor/carpet/red, +/area/ruin/syndielab) +"Co" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"CS" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Dd" = ( +/obj/item/storage/bag/trash/filled, +/obj/structure/closet/crate/bin, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"De" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/trash/semki{ + pixel_y = 12 + }, +/obj/item/soap/syndie, +/obj/structure/noticeboard/directional/east, +/obj/item/paper/fluff/junkmail_generic{ + name = "weird note" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"EY" = ( +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/door/airlock/security/glass{ + desc = "It opens and closes. Menacingly!"; + name = "Syndicate Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Fz" = ( +/obj/structure/cable/layer1, +/obj/machinery/power/terminal{ + cable_layer = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"FJ" = ( +/obj/machinery/light/warm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Gi" = ( +/obj/machinery/navbeacon{ + location = "syndielab_beacon4"; + codes_txt = "patrol;next_patrol=syndielab_beacon1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"GL" = ( +/obj/structure/chair/office/tactical, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"GV" = ( +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/door/airlock/security{ + desc = "It opens and closes. Menacingly!"; + name = "Syndicate Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Hq" = ( +/obj/item/seeds/lavaland/cactus{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/seeds/lavaland/cactus{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/item/seeds/lavaland/fireblossom{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/stack/ore/glass/basalt{ + amount = 50; + pixel_y = -3; + pixel_x = -3 + }, +/obj/structure/closet/crate/secure/syndicate/cybersun/dawn{ + req_access = null + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"Hs" = ( +/obj/structure/rack, +/obj/item/storage/bag/trash, +/obj/item/pushbroom, +/obj/item/storage/bag/trash{ + pixel_x = 9; + pixel_y = -3 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/cable/layer1, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"HH" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/paper/guides/antag/hdd_extraction{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/tcomms{ + pixel_x = 12; + pixel_y = 1 + }, +/obj/structure/sign/poster/contraband/interdyne_gene_clinics/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"HS" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/syndicate, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"IQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/mob/living/basic/bot/dedbot, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Jc" = ( +/obj/effect/overloader_trap{ + uses_remaining = 1; + shock_damage = 55; + shock_range = 2; + machine_overload_damage = 160 + }, +/obj/machinery/telecomms/hub, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"JF" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/sign/poster/contraband/hacking_guide/directional/north, +/obj/item/assembly/signaler/cyborg{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/assembly/voice{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"Ka" = ( +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/door/airlock/security/glass{ + desc = "It opens and closes. Menacingly!"; + name = "Syndicate Airlock" + }, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"KV" = ( +/obj/machinery/computer/atmos_control/noreconnect{ + atmos_chambers = list("syndielab_biodome"="Biodome Atmos"); + dir = 4; + name = "gas tank monitor"; + desc = "This computer connects to and controls the sensors and equipment in a nearby pressurised gas reservoir."; + icon_keyboard = "syndie_key" + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Lt" = ( +/obj/item/paper/fluff/operative, +/obj/structure/noticeboard/directional/north, +/obj/structure/cable/layer1, +/obj/item/ammo_casing/shotgun/buckshot/spent{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"MW" = ( +/turf/template_noop, +/area/template_noop) +"NM" = ( +/obj/structure/sign/poster/contraband/donk_co/directional/east, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Qj" = ( +/obj/structure/flora/bush/grassy{ + pixel_x = 15; + pixel_y = 3 + }, +/obj/structure/flora/bush, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ + dir = 1; + chamber_id = "syndielab_biodome" + }, +/turf/open/floor/grass{ + initial_gas_mix = "o2=1000;n2=1100;TEMP=280" + }, +/area/ruin/syndielab) +"QO" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/computer_disk/syndicate/camera_app{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/crowbar/hammer{ + pixel_x = 3; + pixel_y = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"Sq" = ( +/obj/structure/rack, +/obj/item/pinata/donk{ + pixel_y = 10 + }, +/obj/item/storage/box/party_poppers{ + pixel_y = 1; + pixel_x = 7 + }, +/obj/item/storage/box/firecrackers{ + pixel_x = -8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Te" = ( +/obj/machinery/navbeacon{ + location = "syndielab_beacon3"; + codes_txt = "patrol;next_patrol=syndielab_beacon4" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Tl" = ( +/obj/item/stack/tile/carpet/donk/thirty{ + pixel_x = 6; + pixel_y = -5 + }, +/obj/item/toy/plush/donkpocket{ + pixel_x = 12; + pixel_y = 3 + }, +/obj/item/stack/tile/carpet/donk/thirty{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/item/toy/plush/donkpocket{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/stack/package_wrap, +/obj/structure/closet/crate/preopen, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"Ts" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/sign/poster/contraband/c20r/directional/north, +/obj/item/anomaly_releaser{ + pixel_y = 6 + }, +/obj/item/anomaly_releaser, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"TB" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"UF" = ( +/obj/machinery/door/airlock/survival_pod/glass{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/fans/tiny, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"UM" = ( +/obj/item/ammo_box/c9mm, +/obj/item/ammo_box/magazine/m9mm, +/obj/structure/closet/crate/secure/syndicate/gorlex/weapons, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/syndielab) +"Vf" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/item/stack/ore/plasma{ + pixel_x = 7; + pixel_y = 10 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Vu" = ( +/obj/structure/aquarium/donkfish, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"VO" = ( +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Wn" = ( +/obj/machinery/computer/terminal{ + dir = 4; + upperinfo = "ERROR - NO FINGERPRINT MATCH ON FILE!"; + tguitheme = "syndicate"; + desc = "An state-of-the-art lab terminal. The Cybersun Industries logo is imprinted just below the screen."; + content = list("*Solid Matter Analyzer and Research Terminal*"); + name = "lab terminal"; + icon_screen = "tcboss"; + icon_keyboard = "syndie_key" + }, +/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; + pixel_x = -5 + }, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) +"Xe" = ( +/obj/structure/closet/crate/cardboard, +/obj/item/paint/red{ + pixel_y = 2; + pixel_x = -6 + }, +/obj/item/paint_palette{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/item/mod/paint, +/obj/structure/sign/poster/contraband/energy_swords/directional/south, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Xm" = ( +/obj/structure/closet/crate/secure/trashcart, +/obj/item/relic, +/obj/item/storage/bag/trash/filled{ + pixel_y = 1; + pixel_x = 6 + }, +/obj/item/storage/bag/trash/filled{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/storage/bag/trash/filled{ + pixel_y = -1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Xt" = ( +/turf/closed/mineral/snowmountain/icemoon, +/area/icemoon/underground/explored) +"YH" = ( +/obj/item/storage/medkit, +/obj/structure/sign/poster/contraband/free_key/directional/south, +/obj/structure/rack, +/obj/item/stack/medical/suture, +/obj/item/clothing/neck/stethoscope, +/obj/item/reagent_containers/hypospray/medipen/atropine, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Ze" = ( +/obj/machinery/porta_turret/syndicate/energy/cybersun, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"Zx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/smes/magical/cybersun{ + cable_layer = 1; + input_level = 180000; + output_level = 200000; + dir = 1 + }, +/obj/structure/cable/layer1, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndielab) +"ZW" = ( +/obj/structure/chair/sofa/corp/right, +/mob/living/basic/trooper/syndicate/ranged/shotgun, +/obj/machinery/light/warm/directional/north, +/obj/structure/cable/layer1, +/turf/open/floor/iron/dark/textured, +/area/ruin/syndielab) + +(1,1,1) = {" +MW +MW +MW +MW +Xt +Xt +bx +MW +MW +Xt +MW +MW +MW +MW +MW +MW +"} +(2,1,1) = {" +MW +MW +MW +MW +Xt +AR +AR +vO +AR +Xt +Xt +Xt +Xt +MW +MW +MW +"} +(3,1,1) = {" +MW +MW +Xt +Xt +Xt +AR +cg +xg +AR +AR +cP +AR +Xt +Xt +Xt +MW +"} +(4,1,1) = {" +MW +AR +AR +AR +AR +AR +AR +UF +AR +na +mi +AR +AR +AR +Xt +Xt +"} +(5,1,1) = {" +Xt +AR +aa +Wn +bC +EY +el +el +AR +iQ +iy +vE +Xe +AR +AR +Xt +"} +(6,1,1) = {" +Xt +AR +Ts +sj +FJ +AR +qy +el +AR +AD +ry +ey +VO +Tl +AR +Xt +"} +(7,1,1) = {" +Xt +AR +bn +Vf +xa +AR +Ze +Gi +cu +el +ey +wl +sa +Hq +AR +Xt +"} +(8,1,1) = {" +Xt +AR +AR +AR +EY +AR +qC +qC +AR +tb +HS +ey +sp +UM +AR +Xt +"} +(9,1,1) = {" +Xt +AR +pK +KV +el +nT +Qj +ex +qC +el +Sq +cM +Hs +AR +AR +Xt +"} +(10,1,1) = {" +Xt +AR +JF +sj +el +qC +uX +ci +qC +el +oY +Fz +Zx +AR +Xt +Xt +"} +(11,1,1) = {" +Xt +AR +Jc +oA +FJ +AR +qC +qC +AR +GV +AR +qC +qC +AR +Xt +MW +"} +(12,1,1) = {" +Xt +AR +HH +GL +hl +IQ +rH +rH +xr +Te +hu +TB +lW +AR +Xt +MW +"} +(13,1,1) = {" +Xt +AR +QO +hn +el +Xm +rO +aP +AR +Lt +AX +yW +YH +AR +Xt +MW +"} +(14,1,1) = {" +Xt +AR +AR +AR +EY +qC +qC +qC +AR +ZW +uT +yW +Vu +AR +Xt +MW +"} +(15,1,1) = {" +Xt +Xt +AR +gE +el +wj +dD +Co +AR +cd +Wo +yW +Dd +AR +Xt +MW +"} +(16,1,1) = {" +MW +Xt +AR +sV +NM +tC +tC +tC +Ka +WO +vr +CS +wJ +AR +Xt +MW +"} +(17,1,1) = {" +MW +Xt +AR +AR +AR +nD +wh +De +AR +AR +AR +AR +AR +AR +MW +MW +"} +(18,1,1) = {" +MW +MW +Xt +Xt +AR +AR +AR +AR +AR +Xt +Xt +Xt +Xt +Xt +Xt +MW +"} +(19,1,1) = {" +MW +MW +MW +Xt +Xt +Xt +Xt +Xt +Xt +Xt +MW +MW +MW +MW +MW +MW +"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm index a2b3d227d5db2..7b7cec2c72a05 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm @@ -66,7 +66,7 @@ /obj/effect/step_trigger/sound_effect{ happens_once = 1; name = "\proper a grave mistake"; - sound = 'sound/hallucinations/i_see_you1.ogg'; + sound = 'sound/effects/hallucinations/i_see_you1.ogg'; triggerer_only = 1 }, /obj/effect/step_trigger/message{ diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm index 851cfe35548b6..4cbf3478bc233 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm @@ -13,7 +13,7 @@ /area/ruin/powered/lavaland_phone_booth) "k" = ( /obj/machinery/vending/snack/green{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/lavaland_atmos, @@ -66,7 +66,7 @@ /area/ruin/powered/lavaland_phone_booth) "W" = ( /obj/machinery/vending/cigarette{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/lavaland_atmos, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm index 5653125ca0e60..6e29288ba6737 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm @@ -376,7 +376,7 @@ /obj/item/storage/box/lights/bulbs, /obj/item/storage/toolbox/mechanical/old, /obj/item/gift{ - contains_type = /obj/item/gun/ballistic/automatic/toy/unrestricted + contains_type = /obj/item/gun/ballistic/automatic/toy }, /obj/item/gift{ contains_type = /obj/item/gun/ballistic/automatic/pistol/toy diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 6df974f9ea279..b73cf11fda63e 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -18,19 +18,19 @@ "aj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/medical/syndicate_access, +/obj/machinery/vending/medical/syndicate, /turf/open/floor/iron/white/side{ dir = 4 }, /area/ruin/syndicate_lava_base/virology) "ak" = ( -/obj/machinery/vending/boozeomat/syndicate_access, +/obj/machinery/vending/boozeomat/syndicate, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/bar) "al" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/medical/syndicate_access, +/obj/machinery/vending/medical/syndicate, /turf/open/floor/iron/white, /area/ruin/syndicate_lava_base/medbay) "ap" = ( diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm index 4bdf2af01f19d..a52a428a8258a 100644 --- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm @@ -573,13 +573,7 @@ /area/ruin/space/has_grav/derelictoutpost) "cC" = ( /obj/structure/alien/weeds/creature, -/mob/living/basic/creature{ - desc = "Awh its so sm-OH GOD WHAT THE FUCK."; - health = 25; - maxHealth = 25; - name = "hatchling"; - current_size = 0.85 - }, +/mob/living/basic/creature/hatchling, /turf/open/floor/iron, /area/ruin/space/has_grav/derelictoutpost) "cD" = ( @@ -765,9 +759,7 @@ /area/ruin/space/has_grav/derelictoutpost) "dl" = ( /obj/structure/alien/weeds/creature, -/mob/living/basic/creature{ - name = "Miss Tiggles" - }, +/mob/living/basic/creature/tiggles, /turf/open/floor/iron, /area/ruin/space/has_grav/derelictoutpost) "dm" = ( diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm index edd734ee6f586..025a2b62e0a83 100644 --- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm +++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm @@ -1062,7 +1062,6 @@ /turf/open/floor/iron/dark, /area/ruin/space/has_grav/dangerous_research/lab) "oJ" = ( -/obj/structure/closet/crate/secure/interdyne, /obj/item/stack/medical/suture/emergency, /obj/item/stack/medical/gauze/twelve, /obj/item/reagent_containers/hypospray/medipen/blood_loss, @@ -1070,6 +1069,9 @@ /obj/effect/turf_decal/tile/dark_red/anticorner{ dir = 4 }, +/obj/structure/closet/crate/secure/freezer/interdyne{ + req_access = null + }, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/dangerous_research) "oW" = ( @@ -2155,7 +2157,6 @@ /turf/open/floor/iron/dark, /area/ruin/space/has_grav/dangerous_research/lab) "BG" = ( -/obj/structure/closet/crate/secure/interdyne, /obj/item/stack/sheet/mineral/plasma/thirty, /obj/item/stack/sheet/mineral/wood/fifty, /obj/item/stack/sheet/iron/fifty, @@ -2164,6 +2165,9 @@ amount = 30 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/secure/syndicate/interdyne{ + req_access = null + }, /turf/open/floor/iron, /area/ruin/space/has_grav/dangerous_research/maint) "BJ" = ( @@ -3658,7 +3662,6 @@ /turf/open/floor/iron/dark, /area/ruin/space/has_grav/dangerous_research) "VQ" = ( -/obj/structure/closet/crate/secure/interdyne, /obj/item/reagent_containers/cup/glass/waterbottle/large, /obj/item/reagent_containers/cup/glass/waterbottle/large, /obj/item/reagent_containers/cup/glass/waterbottle/large, @@ -3669,6 +3672,9 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, +/obj/structure/closet/crate/secure/syndicate/interdyne{ + req_access = null + }, /turf/open/floor/iron, /area/ruin/space/has_grav/dangerous_research/maint) "Wm" = ( diff --git a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm index 7b12e87992c8a..cb2a35084f93e 100644 --- a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm +++ b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm @@ -613,7 +613,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicate_forgotten_ship) "ct" = ( -/obj/machinery/vending/medical/syndicate_access/cybersun, +/obj/machinery/vending/medical/syndicate/cybersun, /turf/open/floor/plastic, /area/ruin/space/has_grav/syndicate_forgotten_ship) "cu" = ( diff --git a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm index 50e0bffd56727..df3c3ca64277e 100644 --- a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm +++ b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm @@ -139,7 +139,7 @@ "bq" = ( /obj/structure/cable/layer1, /obj/machinery/vending/sovietsoda{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/sign/poster/contraband/clown/directional/east, /obj/machinery/duct, @@ -527,7 +527,7 @@ "dU" = ( /obj/structure/cable/layer1, /obj/machinery/vending/cigarette/syndicate{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/duct, /obj/effect/mapping_helpers/broken_machine, @@ -544,7 +544,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, /obj/machinery/duct, /obj/machinery/vending/clothing{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ @@ -1378,7 +1378,7 @@ /area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) "lT" = ( /obj/machinery/vending/cola/black{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/duct, /obj/effect/mapping_helpers/broken_machine, @@ -1866,7 +1866,7 @@ /obj/structure/cable/layer1, /obj/machinery/duct, /obj/machinery/vending/assist{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/camera/xray/directional/west, /turf/open/floor/catwalk_floor/iron_smooth, @@ -2475,7 +2475,7 @@ /obj/structure/cable/layer1, /obj/machinery/duct, /obj/machinery/vending/cola/shamblers{ - onstation_override = 1 + all_products_free = 0 }, /turf/open/floor/catwalk_floor/iron_smooth, /area/ruin/space/has_grav/hauntedtradingpost/public/corridor) @@ -4199,7 +4199,7 @@ "KH" = ( /obj/structure/cable/layer1, /obj/machinery/vending/donksnack{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/duct, /obj/machinery/camera/autoname/directional/west{ @@ -4516,7 +4516,7 @@ "MO" = ( /obj/machinery/duct, /obj/machinery/vending/snack{ - onstation_override = 1 + all_products_free = 0 }, /turf/open/floor/catwalk_floor/iron_smooth, /area/ruin/space/has_grav/hauntedtradingpost/public/corridor) @@ -4616,7 +4616,7 @@ "NY" = ( /obj/structure/cable/layer1, /obj/machinery/vending/coffee{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/duct, /turf/open/floor/catwalk_floor/iron_smooth, @@ -4755,7 +4755,7 @@ "Pk" = ( /obj/structure/cable/layer1, /obj/machinery/vending/tool{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/sign/poster/contraband/donk_co/directional/west, /obj/machinery/duct, @@ -4886,7 +4886,7 @@ "QM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, /obj/machinery/vending/sovietsoda{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ pipe_color = "#FF7B00"; @@ -5415,7 +5415,7 @@ /obj/structure/cable/layer1, /obj/machinery/duct, /obj/machinery/vending/medical{ - onstation_override = 1; + all_products_free = 0; name = "\improper CyberMed +" }, /turf/open/floor/catwalk_floor/iron_smooth, @@ -5635,7 +5635,7 @@ /area/ruin/space/has_grav/hauntedtradingpost/office) "Ww" = ( /obj/machinery/vending/coffee{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/cable/layer1, /obj/machinery/duct, @@ -5712,7 +5712,7 @@ "Xe" = ( /obj/structure/cable/layer1, /obj/machinery/vending/cola/shamblers{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/duct, /obj/effect/overloader_trap, @@ -5802,7 +5802,7 @@ /area/ruin/space/has_grav/hauntedtradingpost/public) "XK" = ( /obj/machinery/vending/donksnack{ - onstation_override = 1 + all_products_free = 0 }, /obj/machinery/duct, /turf/open/floor/catwalk_floor/iron_smooth, diff --git a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm index abccc6b550eb1..c925d017ad3a3 100644 --- a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm +++ b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm @@ -690,7 +690,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/infested_frigate) "kw" = ( -/obj/machinery/vending/boozeomat/syndicate_access, +/obj/machinery/vending/boozeomat/syndicate, /turf/open/floor/iron/freezer, /area/ruin/space/has_grav/infested_frigate) "kS" = ( diff --git a/_maps/RandomRuins/SpaceRuins/interdyne.dmm b/_maps/RandomRuins/SpaceRuins/interdyne.dmm index cf8c7f8c0d408..9c802b0be434c 100644 --- a/_maps/RandomRuins/SpaceRuins/interdyne.dmm +++ b/_maps/RandomRuins/SpaceRuins/interdyne.dmm @@ -140,7 +140,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/interdyne) "fS" = ( -/obj/machinery/vending/medical/syndicate_access, +/obj/machinery/vending/medical/syndicate, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/interdyne) "ga" = ( diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index 55f0f884f165a..0c3c231b5f225 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -1645,9 +1645,7 @@ /area/ruin/space/ancientstation/charlie/hall) "hr" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/dinnerware{ - onstation = 0 - }, +/obj/machinery/vending/dinnerware, /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "ht" = ( @@ -2368,9 +2366,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/coffee{ - onstation = 0 - }, +/obj/machinery/vending/coffee, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "ku" = ( @@ -2744,9 +2740,7 @@ /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/hall) "lU" = ( -/obj/machinery/vending/hydronutrients{ - onstation = 0 - }, +/obj/machinery/vending/hydronutrients, /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) diff --git a/_maps/RandomRuins/SpaceRuins/phonebooth.dmm b/_maps/RandomRuins/SpaceRuins/phonebooth.dmm index 2eb0698ebbfd5..1cf0f64e7ff0a 100644 --- a/_maps/RandomRuins/SpaceRuins/phonebooth.dmm +++ b/_maps/RandomRuins/SpaceRuins/phonebooth.dmm @@ -13,7 +13,7 @@ /area/ruin/space/has_grav/powered/space_phone_booth) "k" = ( /obj/machinery/vending/snack/green{ - onstation_override = 1 + all_products_free = 1 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/airless, @@ -66,7 +66,7 @@ /area/ruin/space/has_grav/powered/space_phone_booth) "W" = ( /obj/machinery/vending/cigarette{ - onstation_override = 1 + all_products_free = 0 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/airless, diff --git a/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm b/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm index 91f7771f0ea69..1ac14090b39ce 100644 --- a/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm +++ b/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm @@ -44,9 +44,7 @@ }, /area/ruin/space/has_grav/spinwardsmoothies) "ti" = ( -/obj/machinery/vending/boozeomat/all_access{ - onstation = 0 - }, +/obj/machinery/vending/boozeomat, /turf/open/floor/wood/tile, /area/ruin/space/has_grav/spinwardsmoothies) "wv" = ( diff --git a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm index 602aa1a273b9d..12bc608bda910 100644 --- a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm +++ b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm @@ -1331,9 +1331,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, -/obj/machinery/vending/medical{ - onstation = 0 - }, +/obj/machinery/vending/medical, /turf/open/floor/iron/showroomfloor/airless, /area/ruin/space/has_grav/whiteship/box) "PV" = ( diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index bfbc5a18c56a1..0c30bb3c51d51 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -4122,7 +4122,7 @@ pixel_x = -1; pixel_y = 10 }, -/obj/item/gun/ballistic/shotgun/toy/unrestricted{ +/obj/item/gun/ballistic/shotgun/toy{ pixel_y = -2 }, /obj/effect/light_emitter{ diff --git a/_maps/RandomZLevels/TheBeach.dmm b/_maps/RandomZLevels/TheBeach.dmm index 41fcd3280d490..d179a7dc5148c 100644 --- a/_maps/RandomZLevels/TheBeach.dmm +++ b/_maps/RandomZLevels/TheBeach.dmm @@ -738,7 +738,7 @@ /turf/open/floor/iron/white/textured_large, /area/awaymission/beach) "jF" = ( -/obj/machinery/vending/boozeomat/all_access{ +/obj/machinery/vending/boozeomat{ desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one. May not work for bartenders that don't have Nanotrasen bank accounts." }, /turf/open/floor/wood/large, @@ -2766,7 +2766,7 @@ /turf/open/floor/iron/white/textured_large, /area/awaymission/beach) "Il" = ( -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /turf/open/misc/beach/sand, /area/awaymission/beach) "It" = ( diff --git a/_maps/RandomZLevels/museum.dmm b/_maps/RandomZLevels/museum.dmm index afd0cd888fdcd..d9c7d0aa705a6 100644 --- a/_maps/RandomZLevels/museum.dmm +++ b/_maps/RandomZLevels/museum.dmm @@ -1235,7 +1235,7 @@ }, /obj/item/reagent_containers/cup/glass/coffee, /obj/item/paper/fluff/scrambled_pass{ - puzzle_id = "museum_r_wing_puzzle" + puzzle_id = "museum_right_wing" }, /turf/open/floor/iron/dark, /area/awaymission/museum) @@ -2720,7 +2720,7 @@ "wi" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 8; - id = "museum_secret" + id = "museum_right_wing" }, /turf/open/floor/iron, /area/awaymission/museum) @@ -3128,7 +3128,7 @@ /turf/open/floor/bluespace, /area/awaymission/museum) "zC" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/wood/tile, /area/awaymission/museum) "zE" = ( @@ -3958,7 +3958,7 @@ /area/awaymission/museum) "FO" = ( /obj/effect/decal/cleanable/crayon/puzzle/pin{ - puzzle_id = "museum_r_wing_puzzle" + puzzle_id = "museum_right_wing" }, /turf/closed/indestructible/reinforced, /area/awaymission/museum) @@ -4152,7 +4152,7 @@ /obj/effect/turf_decal/siding/dark_blue, /obj/machinery/door/poddoor/shutters/indestructible{ dir = 8; - id = "museum_secret" + id = "museum_right_wing" }, /turf/open/floor/iron/dark, /area/awaymission/museum) @@ -4221,7 +4221,7 @@ /area/awaymission/museum) "Id" = ( /obj/effect/decal/cleanable/crayon/puzzle/pin{ - puzzle_id = "museum_r_wing_puzzle" + puzzle_id = "museum_right_wing" }, /turf/closed/indestructible/wood, /area/awaymission/museum) @@ -5246,7 +5246,7 @@ /obj/structure/fluff/fake_camera, /obj/effect/decal/puzzle_dots{ pixel_y = -32; - id = "museum_r_wing_puzzle" + id = "museum_right_wing" }, /turf/open/floor/iron/dark, /area/awaymission/museum) @@ -5332,10 +5332,10 @@ }, /obj/machinery/door/poddoor/shutters/indestructible{ dir = 8; - id = "museum_secret" + id = "museum_right_wing" }, /obj/machinery/puzzle/password/pin/directional/south{ - id = "museum_r_wing_puzzle"; + id = "museum_right_wing"; late_initialize_pop = 1 }, /turf/open/floor/iron/dark, @@ -5349,7 +5349,7 @@ /obj/machinery/light/directional/west, /obj/effect/decal/cleanable/crayon/puzzle/pin{ pixel_x = -32; - puzzle_id = "museum_r_wing_puzzle" + puzzle_id = "museum_right_wing" }, /turf/open/floor/iron/white/small, /area/awaymission/museum) @@ -34926,7 +34926,7 @@ FK FK FK FK -FO +FK FK FK FK @@ -37490,7 +37490,7 @@ GQ FK FK vb -FK +FO FK FK PP diff --git a/_maps/deathmatch/lattice_battles.dmm b/_maps/deathmatch/lattice_battles.dmm index eab56ca3064a0..25508fc93d462 100644 --- a/_maps/deathmatch/lattice_battles.dmm +++ b/_maps/deathmatch/lattice_battles.dmm @@ -9,30 +9,19 @@ dir = 1 }, /obj/item/clothing/head/cone, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "cN" = ( /obj/structure/railing/unbreakable{ dir = 8 }, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) -"df" = ( -/obj/structure/lattice/catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/chasm, -/area/deathmatch/fullbright) "dM" = ( /turf/open/chasm, /area/deathmatch/fullbright) -"eK" = ( -/obj/structure/lattice/catwalk, -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/chasm, -/area/deathmatch/fullbright) "gz" = ( /obj/structure/flora/rock/pile/style_random, /turf/open/misc/asteroid/moon, @@ -45,12 +34,12 @@ dir = 1 }, /obj/structure/flora/lunar_plant/style_1, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "ho" = ( /obj/structure/flora/lunar_plant/style_1, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /obj/structure/railing/unbreakable{ dir = 6 }, @@ -62,7 +51,7 @@ }, /obj/structure/flora/rock/pile/style_random, /obj/structure/flora/lunar_plant/style_3, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "jb" = ( @@ -75,7 +64,7 @@ }, /obj/structure/flora/rock/pile/style_random, /obj/structure/flora/lunar_plant/style_3, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "rE" = ( @@ -96,12 +85,12 @@ /obj/structure/railing/unbreakable{ dir = 4 }, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "tL" = ( /obj/structure/railing/unbreakable, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "uJ" = ( @@ -109,7 +98,7 @@ dir = 4 }, /obj/item/clothing/head/cone, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "uO" = ( @@ -139,7 +128,7 @@ dir = 8 }, /obj/structure/flora/lunar_plant/style_1, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "AS" = ( @@ -150,7 +139,7 @@ /obj/structure/railing/unbreakable{ dir = 1 }, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "Cf" = ( @@ -190,7 +179,7 @@ dir = 10 }, /obj/structure/flora/lunar_plant/style_1, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "KO" = ( @@ -199,7 +188,7 @@ /area/deathmatch/fullbright) "LN" = ( /obj/structure/railing/corner, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "MF" = ( @@ -217,12 +206,11 @@ /area/deathmatch/fullbright) "NA" = ( /obj/structure/flora/lunar_plant/style_2, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "NG" = ( /obj/structure/lattice/catwalk, -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/cardboard, /obj/item/statuebust, /turf/open/chasm, @@ -233,7 +221,7 @@ /turf/open/chasm, /area/deathmatch/fullbright) "NY" = ( -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /obj/structure/railing/unbreakable, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) @@ -245,21 +233,15 @@ /mob/living/basic/spider/giant/nurse/away_caves, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) -"Sv" = ( -/obj/structure/lattice/catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/rubble, -/turf/open/chasm, -/area/deathmatch/fullbright) "SL" = ( /obj/structure/flora/rock/pile/style_random, /obj/structure/flora/lunar_plant/style_3, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "Uy" = ( /obj/item/clothing/head/cone, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /obj/structure/railing/corner/unbreakable{ dir = 1 }, @@ -270,7 +252,7 @@ dir = 9 }, /obj/structure/flora/rock/style_random, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "Xf" = ( @@ -285,7 +267,7 @@ /area/deathmatch/fullbright) "Xo" = ( /obj/structure/flora/rock/style_random, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "Yu" = ( @@ -294,11 +276,11 @@ dir = 6 }, /obj/structure/flora/lunar_plant/style_3, -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "YH" = ( -/obj/effect/playeronly_barrier, +/obj/effect/invisible_wall, /turf/open/misc/asteroid/moon, /area/deathmatch/fullbright) "YV" = ( @@ -466,9 +448,9 @@ MF MF MF vk -df vk -df +vk +vk vk MF dM @@ -571,12 +553,12 @@ vk MF MF vk -df -Sv +vk +NI vk MF vk -df +vk MF vk vk @@ -595,7 +577,7 @@ CI tL MF vk -df +vk MF MF vk @@ -603,10 +585,10 @@ vk MF MF vk -df vk vk -df +vk +vk vk hH gN @@ -633,7 +615,7 @@ vk vk vk vk -df +vk NG gN gN @@ -649,7 +631,7 @@ gN Yu MF MF -eK +wb vk vk vk @@ -703,7 +685,7 @@ gN gN gN bm -df +vk vk vk vk @@ -738,7 +720,7 @@ MF vk vk vk -df +vk MF vk vk @@ -795,7 +777,7 @@ vk vk vk vk -df +vk gN gN gN diff --git a/_maps/deathmatch/ragin_mages.dmm b/_maps/deathmatch/ragin_mages.dmm index 1a3d307181d08..96249fcf6928d 100644 --- a/_maps/deathmatch/ragin_mages.dmm +++ b/_maps/deathmatch/ragin_mages.dmm @@ -479,9 +479,6 @@ /turf/open/floor/engine/cult, /area/deathmatch) "DK" = ( -/obj/structure/railing{ - dir = 8 - }, /obj/structure/railing{ dir = 8 }, diff --git a/_maps/deathmatch/ragnarok.dmm b/_maps/deathmatch/ragnarok.dmm index 328055398e71a..89273eb45ada2 100644 --- a/_maps/deathmatch/ragnarok.dmm +++ b/_maps/deathmatch/ragnarok.dmm @@ -7,13 +7,17 @@ /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/misc/asteroid/moon, /area/deathmatch) +"aR" = ( +/obj/structure/bonfire/dense/prelit, +/turf/open/misc/grass/jungle, +/area/deathmatch) "bb" = ( /obj/structure/flora/coconuts, /turf/open/misc/dirt/jungle, /area/deathmatch) "bj" = ( /obj/effect/turf_decal/siding/wood/corner, -/obj/structure/bonfire/prelit, +/obj/structure/bonfire/dense/prelit, /turf/open/floor/wood/large, /area/deathmatch) "bn" = ( @@ -24,7 +28,7 @@ dir = 4 }, /obj/effect/turf_decal/siding/wood, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "bI" = ( /turf/open/misc/asteroid/moon, @@ -122,7 +126,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "fO" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -224,7 +228,7 @@ /obj/effect/turf_decal/weather/dirt{ dir = 6 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "jv" = ( /obj/structure/flora/grass/jungle/b/style_random, @@ -263,7 +267,7 @@ /area/deathmatch) "lr" = ( /obj/effect/turf_decal/siding/wood, -/obj/structure/bonfire/prelit, +/obj/structure/bonfire/dense/prelit, /turf/open/floor/wood/large, /area/deathmatch) "lx" = ( @@ -321,7 +325,7 @@ /obj/effect/turf_decal/weather/dirt{ dir = 8 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "ox" = ( /obj/effect/cosmic_rune, @@ -344,7 +348,7 @@ /obj/effect/turf_decal/weather/dirt{ dir = 6 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "pr" = ( /obj/structure/flora/bush/jungle/a/style_random, @@ -426,7 +430,7 @@ /obj/effect/turf_decal/weather/dirt{ dir = 4 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "rH" = ( /obj/effect/turf_decal/siding/wood{ @@ -522,6 +526,12 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/wood/large, /area/deathmatch) +"wJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/misc/dirt/jungle, +/area/deathmatch) "wP" = ( /obj/structure/flora/rock/style_random, /obj/effect/turf_decal/weather/dirt{ @@ -564,6 +574,11 @@ /obj/effect/spawner/random/decoration/glowstick/on, /turf/open/floor/plating/heretic_rust, /area/deathmatch) +"yZ" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/misc/dirt/jungle, +/area/deathmatch) "zo" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/effect/landmark/deathmatch_player_spawn, @@ -616,8 +631,10 @@ /turf/open/floor/wood/tile, /area/deathmatch) "AO" = ( -/obj/effect/decal/cleanable/ants, -/turf/closed/wall/heretic_rust, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/misc/dirt/jungle, /area/deathmatch) "Ba" = ( /obj/structure/destructible/cult/pylon, @@ -648,7 +665,7 @@ /obj/effect/turf_decal/weather/dirt{ dir = 6 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "CB" = ( /obj/structure/destructible/eldritch_crucible, @@ -664,7 +681,7 @@ /obj/effect/turf_decal/weather/dirt{ dir = 8 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "CR" = ( /mob/living/carbon/human/species/monkey, @@ -681,14 +698,14 @@ /obj/effect/turf_decal/weather/dirt{ dir = 9 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "Ds" = ( /obj/effect/turf_decal/weather/dirt{ dir = 8 }, /obj/effect/turf_decal/siding/wood, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "Du" = ( /obj/structure/flora/rock/pile/style_random, @@ -705,7 +722,13 @@ /obj/effect/turf_decal/weather/dirt{ dir = 6 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"Ed" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/misc/dirt/jungle, /area/deathmatch) "EF" = ( /obj/effect/decal/cleanable/dirt, @@ -731,7 +754,6 @@ /area/deathmatch) "FQ" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/ants, /turf/open/misc/grass/jungle, /area/deathmatch) "FS" = ( @@ -785,7 +807,9 @@ /turf/open/floor/cult, /area/deathmatch) "Ic" = ( -/obj/effect/decal/cleanable/ants, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, /turf/open/misc/dirt/jungle, /area/deathmatch) "Ig" = ( @@ -827,7 +851,8 @@ /turf/open/misc/grass/jungle, /area/deathmatch) "Kg" = ( -/turf/open/water/jungle, +/obj/structure/flora/rock/style_4, +/turf/open/misc/dirt/jungle, /area/deathmatch) "Kl" = ( /obj/effect/spawner/structure/window/bronze, @@ -855,6 +880,15 @@ /obj/structure/flora/grass/jungle/a/style_random, /turf/open/misc/grass/jungle, /area/deathmatch) +"LW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/deathmatch) "My" = ( /obj/structure/table/wood, /obj/item/food/grown/holymelon, @@ -883,7 +917,8 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/water/jungle, +/obj/structure/flora/rock/style_4, +/turf/open/misc/dirt/jungle, /area/deathmatch) "Or" = ( /obj/structure/flora/tree/jungle/style_random, @@ -899,12 +934,18 @@ dir = 6 }, /obj/effect/turf_decal/siding/wood, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "Px" = ( /obj/structure/flora/tree/jungle/style_random, /turf/open/misc/grass/jungle, /area/deathmatch) +"PC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/misc/dirt/jungle, +/area/deathmatch) "PH" = ( /obj/effect/visible_heretic_influence, /turf/open/misc/dirt/jungle, @@ -940,10 +981,6 @@ /obj/effect/forcefield/cult/permanent, /turf/open/misc/dirt/jungle/dark, /area/deathmatch) -"RE" = ( -/obj/structure/bonfire/prelit, -/turf/open/misc/grass/jungle, -/area/deathmatch) "RL" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/flora/rock/pile/jungle/style_random, @@ -1057,7 +1094,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/water/jungle, +/turf/open/misc/dirt/jungle, /area/deathmatch) "VF" = ( /obj/effect/turf_decal/siding/wood{ @@ -1098,6 +1135,15 @@ /obj/structure/flora/grass/jungle/b/style_random, /turf/open/misc/dirt/jungle/dark, /area/deathmatch) +"Ww" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/deathmatch) "Xa" = ( /obj/structure/rack/skeletal, /obj/item/clothing/head/helmet/chaplain/ancient{ @@ -1114,8 +1160,13 @@ /turf/closed/wall/mineral/cult/artificer, /area/deathmatch) "Yn" = ( -/obj/effect/decal/cleanable/ants, -/turf/open/misc/grass/jungle, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, /area/deathmatch) "Ys" = ( /obj/effect/turf_decal/siding/wood{ @@ -1193,7 +1244,7 @@ /turf/open/misc/grass/jungle, /area/deathmatch) "ZY" = ( -/obj/structure/bonfire/prelit, +/obj/structure/bonfire/dense/prelit, /turf/open/misc/dirt/jungle, /area/deathmatch) @@ -1362,7 +1413,7 @@ jL jv CR LU -Yn +qa Sw Sw yY @@ -1464,7 +1515,7 @@ eL Be XL VP -AO +SC tm qa vI @@ -1515,7 +1566,7 @@ GD qa LU Fn -qa +aR Sw Sw oC @@ -1528,7 +1579,7 @@ dI lx PI Vm -iJ +Ic TN qh FK @@ -1543,7 +1594,7 @@ Ig Ig wR ZY -Ic +FK FK FK sC @@ -1561,8 +1612,8 @@ PI NX NQ NQ -NQ -TN +Ed +AO CE DA Ig @@ -1576,7 +1627,7 @@ iJ TN TN TN -qh +Ww FK FK FK @@ -1586,16 +1637,16 @@ eB SC FK sC -iJ +Ic Ds PI Bp FK FK wR -SE +wJ FK -sC +yZ Ig Ig Ig @@ -1606,18 +1657,18 @@ Ig SE NQ NQ -NQ +LW Kg -TN -qh +AO +PC FK FK -iJ -qh +Yn +PC RL PI Do -Kg +FK Pi PI gx @@ -1638,24 +1689,24 @@ sC sC FK bb -SE -NQ +wJ +Ed bv PI ou -NQ -Kg +Ed +FK Ds ft Vv oO FK -ZY -qa +FK +aR GD qa jv -Yn +qa GD RW jL @@ -1675,7 +1726,7 @@ RL PI Bp bb -SE +wJ rD YI jb @@ -1770,7 +1821,7 @@ QO Jf Yv qa -RE +aR Ov qg qg @@ -1954,7 +2005,7 @@ YN Wp qa qa -Yn +qa qa qa qa @@ -1982,7 +2033,7 @@ KL Nf Sf Jf -RE +aR Px Ik GO diff --git a/_maps/icebox.json b/_maps/icebox.json index 2f11d13e7eaa1..ea24dd3360455 100644 --- a/_maps/icebox.json +++ b/_maps/icebox.json @@ -14,7 +14,6 @@ }, "traits": [ { - "Up": true, "Mining": true, "Linkage": null, "Gravity": true, @@ -23,8 +22,6 @@ "No Parallax": true }, { - "Down": true, - "Up": true, "Mining": true, "Linkage": null, "Gravity": true, @@ -33,7 +30,6 @@ "No Parallax": true }, { - "Down": true, "Mining": true, "Linkage": null, "Gravity": true, @@ -48,6 +44,9 @@ "job_changes": { "Captain": { "special_charter": "moon" + }, + "Cook": { + "additional_cqc_areas": ["/area/station/service/bar/atrium"] } } } diff --git a/_maps/map_files/Basketball/stadium.dmm b/_maps/map_files/Basketball/stadium.dmm index bcbb91ce4b7ef..c6b6901672553 100644 --- a/_maps/map_files/Basketball/stadium.dmm +++ b/_maps/map_files/Basketball/stadium.dmm @@ -405,7 +405,7 @@ /turf/open/floor/wood, /area/centcom/basketball) "Ax" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/wood, /area/centcom/basketball) "AC" = ( diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 2087d98e0ee5f..465d8fab85f23 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -1,10 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aae" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "aal" = ( /obj/machinery/camera/directional/east{ c_tag = "Atmospherics Tank - N2" @@ -71,6 +65,19 @@ /obj/machinery/power/tracker, /turf/open/space/basic, /area/station/solars/aft) +"abv" = ( +/obj/structure/table, +/obj/item/paper/crumpled{ + pixel_x = -27; + pixel_y = 2 + }, +/obj/item/storage/medkit/regular{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/cargo/sorting) "abB" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall/r_wall, @@ -152,20 +159,6 @@ }, /turf/open/floor/grass/Airless, /area/station/hallway/primary/central/aft) -"ael" = ( -/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = -40; - pixel_y = -8 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "aem" = ( /obj/machinery/power/terminal, /obj/structure/cable, @@ -205,21 +198,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"aeH" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = 8; - pixel_y = 24 - }, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_x = 8; - pixel_y = 36 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "aeX" = ( /obj/structure/window/spawner/directional/east, /obj/item/kirbyplants/random, @@ -347,6 +325,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) "ahf" = ( @@ -395,6 +374,17 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/wood/tile, /area/station/command/bridge) +"ahI" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/item/folder/yellow{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ahW" = ( /obj/structure/railing{ dir = 1 @@ -518,6 +508,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"amq" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) "amE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -542,6 +539,15 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) +"amX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "anb" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta, /obj/effect/turf_decal/siding/red/corner{ @@ -552,6 +558,14 @@ }, /turf/open/floor/wood/tile, /area/station/command/bridge) +"and" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/turf/open/floor/plating, +/area/station/cargo/miningfoundry) "ani" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 @@ -601,6 +615,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"api" = ( +/obj/machinery/skill_station, +/turf/open/floor/wood/parquet, +/area/station/service/library) "apk" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_red{ @@ -644,6 +662,11 @@ /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, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "apZ" = ( /turf/open/floor/engine/helium, /area/station/ai_monitored/turret_protected/ai) @@ -816,11 +839,6 @@ /obj/structure/sign/poster/contraband/lusty_xenomorph/directional/north, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) -"atx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "atB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -1103,10 +1121,6 @@ }, /turf/closed/wall, /area/station/hallway/primary/central/aft) -"axj" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/cargo/storage) "axq" = ( /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) @@ -1140,6 +1154,15 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"axP" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown/anticorner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "axX" = ( /obj/effect/turf_decal/siding/yellow, /obj/effect/turf_decal/tile/yellow/diagonal_centre, @@ -1194,17 +1217,6 @@ }, /turf/open/floor/wood, /area/station/engineering/main) -"ayT" = ( -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 9 - }, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "ayV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1266,13 +1278,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood/large, /area/station/command/corporate_suite) -"azK" = ( -/obj/effect/turf_decal/siding/red, -/obj/item/kirbyplants/random, -/obj/item/storage/toolbox/mechanical, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron, -/area/station/cargo/storage) "azN" = ( /obj/structure/chair{ dir = 4 @@ -1389,6 +1394,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"aBt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aBu" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -1430,6 +1443,18 @@ }, /turf/open/floor/carpet/blue, /area/station/commons/dorms) +"aBQ" = ( +/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/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "aBV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -1484,16 +1509,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aDJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/directions/vault/directional/west{ - dir = 2 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "aEa" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, @@ -1677,23 +1692,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"aGI" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/can/food/pine_nuts{ - pixel_x = 16; - pixel_y = 6 - }, -/obj/machinery/cell_charger{ - pixel_x = -1; - pixel_y = 2 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) "aGU" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron, @@ -1722,17 +1720,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/grass, /area/station/security/prison/garden) -"aHS" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "aIb" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -1759,12 +1746,15 @@ /area/station/maintenance/department/engine/atmos) "aIr" = ( /obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; name = "Kitchen Shutters" }, -/turf/open/floor/iron/kitchen/small, +/obj/effect/turf_decal/siding/end{ + dir = 8 + }, +/obj/machinery/door/window/left/directional/south, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "aIu" = ( /obj/structure/bookcase/random/reference, @@ -1806,6 +1796,10 @@ "aJq" = ( /turf/closed/mineral/random/stationside, /area/space/nearstation) +"aJD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aJE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -1899,9 +1893,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"aLm" = ( -/turf/closed/wall/rust, -/area/station/cargo/drone_bay) "aLr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1977,6 +1968,18 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"aMI" = ( +/obj/machinery/mineral/ore_redemption{ + dir = 4; + input_dir = 8; + output_dir = 4 + }, +/obj/machinery/door/window/right/directional/east{ + name = "Ore Redemtion Window" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/textured_large, +/area/station/cargo/office) "aNd" = ( /turf/open/floor/engine, /area/station/engineering/supermatter/room) @@ -2002,6 +2005,14 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/storage) +"aNE" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/cargo/storage) "aNJ" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/north{ @@ -2697,18 +2708,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter) -"bbK" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/kirbyplants/organic/applebush{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) "bbT" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -2722,6 +2721,15 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"bbV" = ( +/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/catwalk_floor/iron_white, +/area/station/cargo/storage) "bcr" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, @@ -2758,6 +2766,12 @@ dir = 4 }, /area/station/science/xenobiology) +"bdi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) "bdN" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -2791,14 +2805,6 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"bes" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/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/service/library) "bey" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -2833,6 +2839,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/herringbone, /area/station/service/abandoned_gambling_den/gaming) +"bfS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "bfU" = ( /obj/machinery/atmospherics/components/binary/pump/on{ name = "Air to Distro staging" @@ -2850,6 +2864,23 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white/small, /area/station/science/server) +"bgl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/table/glass, +/obj/item/flashlight/lamp/green{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/item/taperecorder{ + pixel_x = -15; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "bgn" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -2959,6 +2990,11 @@ /obj/machinery/holopad, /turf/open/floor/iron/white/small, /area/station/science/lobby) +"biV" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron, +/area/station/cargo/miningfoundry) "bja" = ( /obj/structure/railing/corner/end/flip{ dir = 8 @@ -2984,6 +3020,19 @@ }, /turf/open/floor/iron/white/side, /area/station/hallway/primary/central/aft) +"bjf" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/table, +/obj/effect/turf_decal/delivery/white, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/smooth, +/area/station/cargo/sorting) "bjh" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -3002,6 +3051,9 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bjt" = ( +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "bjL" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table, @@ -3172,6 +3224,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/maintenance/department/engine/atmos) +"bmO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/delivery/white, +/turf/closed/wall, +/area/station/maintenance/port/fore) "bmT" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -3302,6 +3364,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) +"boG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "boI" = ( /obj/machinery/mecha_part_fabricator/maint{ name = "forgotten exosuit fabricator" @@ -3447,6 +3520,18 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"bqA" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = 3 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "bqD" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -3524,6 +3609,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"brO" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "brZ" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -3533,6 +3626,16 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/aft) +"bst" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "bsu" = ( /obj/structure/barricade/wooden/crude, /obj/effect/mapping_helpers/broken_floor, @@ -3726,29 +3829,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"bvV" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"bwy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/destructible/cult/item_dispenser/archives/library, -/obj/item/book/codex_gigas, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/library) "bwz" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"bwW" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/break_room) "bxa" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -3886,6 +3983,13 @@ }, /turf/open/floor/wood, /area/station/engineering/atmos/pumproom) +"bzW" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "bzZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -3986,30 +4090,6 @@ }, /turf/open/floor/iron, /area/station/security/processing) -"bCh" = ( -/obj/effect/turf_decal/stripes{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/machinery/door/airlock/mining{ - name = "Bitrunning Den" - }, -/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/supply/bit_den, -/turf/open/floor/iron/dark/smooth_half{ - dir = 1 - }, -/area/station/cargo/bitrunning/den) "bCn" = ( /obj/effect/turf_decal/tile/blue, /obj/structure/extinguisher_cabinet/directional/west, @@ -4051,16 +4131,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lower) -"bCZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bDg" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -4078,6 +4148,16 @@ /obj/structure/cable, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) +"bDi" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "O2 to Airmix" + }, +/obj/machinery/light/no_nightlight/directional/north, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "bDj" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -4133,6 +4213,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"bEv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "bEw" = ( /obj/structure/sign/directions/supply{ dir = 1; @@ -4281,13 +4365,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"bGU" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Filing Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/office) "bGX" = ( /obj/structure/chair/office, /obj/effect/turf_decal/siding/wideplating{ @@ -4331,6 +4408,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"bHw" = ( +/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/port/greater) "bHy" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/scientist, @@ -4358,6 +4441,11 @@ /obj/structure/window/spawner/directional/south, /turf/open/misc/sandy_dirt, /area/station/science/research) +"bIu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "bIJ" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 @@ -4392,27 +4480,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/service/chapel) -"bJH" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 4 - }, -/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{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Office" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "atmos_airlock_1" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) "bJK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4441,16 +4508,6 @@ /obj/effect/turf_decal/weather/dirt, /turf/open/floor/grass, /area/station/service/chapel) -"bKz" = ( -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) "bKE" = ( /obj/effect/turf_decal/siding/red{ dir = 1 @@ -4506,6 +4563,14 @@ /obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) +"bLG" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/cargo/office) "bLS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4645,13 +4710,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/misc/sandy_dirt, /area/station/hallway/secondary/entry) -"bOY" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/machinery/conveyor{ - id = "mining" - }, -/turf/open/floor/iron, -/area/station/cargo/miningfoundry) "bPd" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -4768,6 +4826,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"bRA" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/lobby) "bRK" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 4 @@ -4837,6 +4898,12 @@ /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{ @@ -4969,12 +5036,6 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron, /area/station/science/xenobiology) -"bXb" = ( -/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/electrical) "bXi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5132,25 +5193,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"cag" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Office" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "atmos_airlock_1" - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) "cam" = ( /obj/machinery/flasher/directional/east{ id = "AI"; @@ -5246,6 +5288,15 @@ "cbm" = ( /turf/closed/wall/rust, /area/station/ai_monitored/aisat/exterior) +"cbq" = ( +/obj/structure/cable, +/obj/machinery/airalarm/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) "cbt" = ( /obj/structure/cable, /obj/structure/table/bronze, @@ -5343,6 +5394,13 @@ /obj/machinery/light/cold/dim/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"ccO" = ( +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cdg" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/grass, @@ -5351,6 +5409,16 @@ /obj/machinery/telecomms/server/presets/medical, /turf/open/floor/circuit, /area/station/tcommsat/server) +"cdp" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "CO2 to Pure" + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "cdz" = ( /obj/effect/turf_decal/tile/yellow, /obj/machinery/light/cold/dim/directional/west, @@ -5368,14 +5436,6 @@ }, /turf/open/floor/grass, /area/station/service/chapel) -"cdC" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/exodrone/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "cdY" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -5388,6 +5448,20 @@ /obj/structure/window/spawner/directional/south, /turf/open/space/basic, /area/space/nearstation) +"ceD" = ( +/obj/machinery/door/airlock/grunge{ + name = "Janitorial Closet" + }, +/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/textured_half{ + dir = 8 + }, +/area/station/service/janitor) "ceN" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -5633,6 +5707,22 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"cjc" = ( +/obj/structure/chair/stool/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) +"cjf" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/cargo/lobby) "cjm" = ( /obj/structure/closet/firecloset, /obj/machinery/status_display/evac/directional/south, @@ -5710,6 +5800,14 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/noslip, /area/station/maintenance/department/medical/central) +"cky" = ( +/obj/machinery/airalarm/directional/north, +/obj/item/kirbyplants/organic/applebush{ + pixel_y = 5 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "ckL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5730,16 +5828,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ckR" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Plasma to Pure" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "ckV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6109,6 +6197,18 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) +"csj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "csl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -6139,18 +6239,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/small, /area/station/medical/medbay/lobby) -"csA" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "csE" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -6221,6 +6309,13 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/security/prison/rec) +"cuZ" = ( +/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, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "cvc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -6400,6 +6495,25 @@ /obj/structure/cable, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/ce) +"cyQ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/rack, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -8; + pixel_y = 11 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/pickaxe, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "cyU" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/maintenance, @@ -6431,6 +6545,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"czh" = ( +/obj/machinery/light/floor, +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_br/style_3, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) "czq" = ( /obj/structure/curtain/cloth, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6443,13 +6563,6 @@ dir = 8 }, /area/station/service/janitor) -"czu" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "cAb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -6585,6 +6698,15 @@ }, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"cCC" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "cCD" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance/external{ @@ -6704,6 +6826,15 @@ dir = 1 }, /area/station/maintenance/starboard/greater) +"cDQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/wood, +/area/station/service/chapel/office) "cDV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -6724,6 +6855,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"cEp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "cED" = ( /obj/structure/railing/corner, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -6908,6 +7044,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/lawoffice) +"cHD" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "cHG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7158,6 +7301,12 @@ /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"cMH" = ( +/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_dark, +/area/station/maintenance/central/greater) "cMS" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/north, @@ -7183,6 +7332,21 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"cNl" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) +"cNw" = ( +/obj/effect/turf_decal/siding/red, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/cargo/storage) "cNR" = ( /obj/structure/chair/office{ dir = 4 @@ -7203,6 +7367,16 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"cOa" = ( +/obj/structure/table, +/obj/item/screwdriver{ + pixel_y = -6 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "cOd" = ( /obj/structure/flora/bush/flowers_yw/style_random, /obj/structure/flora/rock/pile/style_2{ @@ -7213,6 +7387,13 @@ /obj/structure/window/spawner/directional/west, /turf/open/misc/sandy_dirt, /area/station/commons/fitness/recreation/entertainment) +"cOs" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/cargo/sorting) "cOC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7346,15 +7527,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"cQV" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, -/turf/open/floor/iron/smooth_half{ - dir = 8 - }, -/area/station/engineering/main) "cRc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7599,6 +7771,13 @@ dir = 1 }, /area/station/hallway/primary/aft) +"cUV" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) "cUY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -7649,16 +7828,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) -"cVO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/chapel/office) "cVQ" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -7675,6 +7844,11 @@ dir = 4 }, /area/station/maintenance/fore/lesser) +"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 @@ -7828,11 +8002,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"cYT" = ( -/obj/structure/hedge, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "cYW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/steam_vent, @@ -7961,6 +8130,13 @@ dir = 1 }, /area/station/science/lower) +"day" = ( +/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, +/turf/open/floor/iron, +/area/station/cargo/lobby) "daC" = ( /obj/structure/hedge, /obj/effect/turf_decal/siding/thinplating_new{ @@ -8012,10 +8188,6 @@ "dbF" = ( /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"dbJ" = ( -/obj/effect/landmark/start/librarian, -/turf/open/floor/iron/grimy, -/area/station/service/library) "dbZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -8032,6 +8204,11 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"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 @@ -8235,10 +8412,12 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dfN" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/grass, +"dfM" = ( +/obj/structure/rack, +/obj/item/storage/medkit/regular, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, /area/station/cargo/storage) "dfT" = ( /obj/effect/turf_decal/bot{ @@ -8277,6 +8456,25 @@ /obj/structure/cable, /turf/open/floor/iron/white/corner, /area/station/science/lower) +"dgt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/storage/fancy/candle_box, +/obj/structure/rack/skeletal, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) +"dgy" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet, +/area/station/maintenance/hallway/abandoned_recreation) "dgV" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -8433,6 +8631,13 @@ /obj/effect/landmark/start/mime, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"diN" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/cargo/office) "diP" = ( /turf/open/floor/iron, /area/station/hallway/primary/central/aft) @@ -8533,6 +8738,12 @@ /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, @@ -8607,6 +8818,9 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"dmO" = ( +/turf/open/floor/iron/dark, +/area/station/cargo/lobby) "dmT" = ( /obj/machinery/camera/directional/north{ c_tag = "Xenobiology - Cell 2"; @@ -8642,10 +8856,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) -"dny" = ( -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "dnK" = ( /obj/item/kirbyplants/random, /obj/item/storage/briefcase{ @@ -8676,12 +8886,12 @@ /obj/machinery/door/airlock/maintenance{ name = "Maintenance" }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) "dob" = ( @@ -8712,13 +8922,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"doi" = ( -/obj/machinery/vending/wardrobe/chap_wardrobe, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "doj" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -8775,13 +8978,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"dpz" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch/directional/west, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "dpH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 8 @@ -8804,6 +9000,23 @@ /obj/item/clothing/head/utility/chefhat, /turf/open/floor/iron/dark/small, /area/station/commons/fitness/locker_room) +"dqF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen/invisible{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/machinery/newscaster/directional/north, +/obj/item/storage/photo_album/library, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "dqO" = ( /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs/auxiliary) @@ -9057,6 +9270,15 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"dvP" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/cargo/storage) "dvY" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -9082,6 +9304,9 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"dwy" = ( +/turf/open/floor/catwalk_floor/iron_white, +/area/station/cargo/storage) "dwC" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -9260,11 +9485,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dzH" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) "dAn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -9333,6 +9553,10 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/evidence) +"dAZ" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/cargo/lobby) "dBh" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -9345,6 +9569,14 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"dBn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dBr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9440,16 +9672,6 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"dDi" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "dDk" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/chapel{ @@ -9515,6 +9737,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) +"dEp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dEq" = ( /obj/effect/turf_decal/siding/thinplating_new/light, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9548,19 +9776,18 @@ dir = 1 }, /area/station/science/ordnance/testlab) -"dEQ" = ( -/obj/structure/cable, -/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/port/greater) "dEY" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 5 }, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) +"dFn" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "dFA" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ @@ -9663,6 +9890,12 @@ }, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) +"dIw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "dIQ" = ( /obj/effect/turf_decal/weather/dirt, /obj/structure/flora/bush/flowers_yw/style_3, @@ -9778,6 +10011,11 @@ }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"dLl" = ( +/obj/effect/spawner/structure/window, +/obj/structure/curtain/bounty/start_closed, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "dLn" = ( /obj/structure/chair/office, /turf/open/floor/iron/dark/herringbone, @@ -9842,6 +10080,13 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"dMC" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/grille, +/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, @@ -9921,6 +10166,19 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/storage/tools) +"dOH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dOP" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 1 @@ -10042,17 +10300,10 @@ /obj/effect/turf_decal/siding/wood/end, /turf/open/floor/stone, /area/station/service/chapel) -"dRD" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"dRz" = ( +/obj/docking_port/stationary/syndicate/northeast, +/turf/open/space/basic, +/area/space) "dRT" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10141,6 +10392,22 @@ /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{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"dTj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/airlock{ + name = "Cargo Maintenance" + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dTo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/effect/turf_decal/stripes/line{ @@ -10170,11 +10437,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"dTQ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/chapel/office) "dTW" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/computer/shuttle/mining{ @@ -10338,6 +10600,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/science/lower) +"dXu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "dXO" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -10458,13 +10728,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"dZm" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "dZn" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -10565,6 +10828,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood/tile, /area/station/service/bar) +"ebn" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "ebE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10582,6 +10850,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) +"ebM" = ( +/obj/structure/disposalpipe/segment, +/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, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ebU" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/servingdish, @@ -10661,6 +10942,19 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"edA" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "QMLoad"; + name = "Loading Conveyor"; + pixel_x = -13; + pixel_y = 19 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "edD" = ( /obj/machinery/light/small/directional/west, /obj/item/kirbyplants/random, @@ -10754,10 +11048,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"efn" = ( -/obj/effect/spawner/random/structure/crate_loot, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "efy" = ( /obj/item/kirbyplants/organic/plant21, /obj/machinery/status_display/ai/directional/west, @@ -10813,11 +11103,22 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"egg" = ( +/obj/structure/water_source/puddle, +/turf/open/misc/asteroid, +/area/station/maintenance/starboard/greater) "egr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) +"egA" = ( +/obj/machinery/vending/autodrobe, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "egC" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -10857,6 +11158,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) +"egW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ehd" = ( /obj/item/stack/cable_coil, /obj/item/electronics/airlock, @@ -10894,6 +11207,19 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"ehu" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/east{ + id = "qm_warehouse_aft"; + name = "Warehouse Door Control"; + pixel_x = -24; + pixel_y = -23; + req_access = list("cargo") + }, +/obj/machinery/light/small/dim/directional/west, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ehT" = ( /obj/machinery/door/airlock{ id_tag = "commiss2"; @@ -10924,6 +11250,16 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"eib" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2"; + name = "Unloading Conveyor"; + pixel_x = -13; + pixel_y = 3 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/cargo/storage) "eip" = ( /obj/machinery/power/port_gen/pacman, /obj/machinery/power/terminal{ @@ -11105,9 +11441,11 @@ }, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; - name = "Kitchen Shutters" + name = "Kitchen Shutters"; + dir = 4 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/siding/end, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "elc" = ( /obj/structure/cable, @@ -11191,14 +11529,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"elN" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "elR" = ( /obj/structure/table, /obj/structure/window/spawner/directional/south, @@ -11228,6 +11558,9 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"emz" = ( +/turf/closed/wall/r_wall/rust, +/area/station/maintenance/department/electrical) "emB" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -11291,6 +11624,16 @@ "enG" = ( /turf/open/floor/iron/dark, /area/station/science/ordnance) +"enI" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "enV" = ( /obj/structure/closet/secure_closet/research_director, /obj/item/radio/intercom/directional/north, @@ -11316,13 +11659,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/security/brig/entrance) -"eog" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 4 - }, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "eok" = ( /obj/machinery/air_sensor/nitrogen_tank, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -11538,6 +11874,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"eti" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/cargo/storage) "etl" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 5 @@ -11559,6 +11904,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/circuit, /area/station/maintenance/port/aft) +"etJ" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/stone, +/area/station/service/chapel) "etZ" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/effect/turf_decal/siding/wideplating/dark/corner{ @@ -11750,6 +12099,26 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) +"eyx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/sign/directions/supply/directional/west{ + pixel_x = 0; + pixel_y = 39 + }, +/obj/structure/sign/directions/vault/directional/west{ + dir = 2; + pixel_x = 0; + pixel_y = 30 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "eyB" = ( /obj/structure/cable, /obj/machinery/door/firedoor, @@ -11948,17 +12317,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/art) -"eBC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "eBH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12008,6 +12366,23 @@ }, /turf/open/floor/iron/small, /area/station/engineering/main) +"eCO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) +"eCV" = ( +/obj/effect/turf_decal/tile/brown/anticorner/contrasted, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/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, +/area/station/cargo/sorting) "eDh" = ( /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, @@ -12028,6 +12403,7 @@ /obj/machinery/door/airlock/engineering/glass{ name = "Engineering Foyer" }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) "eDr" = ( @@ -12143,6 +12519,13 @@ /obj/machinery/camera/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) +"eEG" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/cargo/storage) "eEL" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -12336,18 +12719,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/security/prison/workout) -"eHv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/chair/comfy/brown{ - buildstackamount = 0; - color = "#c45c57"; - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/library) "eHy" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -12377,13 +12748,14 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"eIF" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/table, +"eII" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/status_display/evac/directional/east, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, -/area/station/cargo/sorting) +/area/station/hallway/primary/central/fore) "eIM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -12430,6 +12802,20 @@ /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, @@ -12455,14 +12841,6 @@ /obj/effect/turf_decal/stripes/asteroid/end, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"eKd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/light/small/directional/west, -/obj/machinery/airlock_sensor/incinerator_atmos{ - pixel_y = -20 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "eKf" = ( /obj/structure/table, /obj/item/storage/box/donkpockets/donkpocketpizza, @@ -12491,6 +12869,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"eKV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "eKW" = ( /obj/machinery/door/airlock/maintenance{ name = "Bathroom" @@ -12571,6 +12954,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"eNa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/miningfoundry) "eNl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12681,6 +13077,12 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"ePr" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ePt" = ( /obj/structure/flora/grass/jungle/a/style_4, /turf/open/floor/grass, @@ -12748,6 +13150,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"eQI" = ( +/obj/effect/turf_decal/stripes/line{ + 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, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) "eQQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12796,6 +13209,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/science/lower) +"eSA" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) "eSV" = ( /obj/structure/bed/maint, /turf/open/floor/iron/small, @@ -12849,6 +13272,12 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/wood/tile, /area/station/service/bar) +"eTL" = ( +/obj/structure/cable, +/turf/open/floor/iron/stairs{ + dir = 1 + }, +/area/station/cargo/lobby) "eTT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13055,6 +13484,11 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"eXl" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "eXo" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/server) @@ -13152,6 +13586,10 @@ }, /turf/open/misc/sandy_dirt, /area/station/maintenance/port/lesser) +"eZd" = ( +/obj/effect/spawner/random/structure/crate_loot, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "eZi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13467,6 +13905,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/security/brig) +"fgo" = ( +/obj/item/pickaxe, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "fgp" = ( /turf/open/floor/iron/dark/side, /area/station/security/execution/transfer) @@ -13602,6 +14044,10 @@ /obj/item/plate, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"fiE" = ( +/obj/effect/turf_decal/siding/red, +/turf/open/floor/iron, +/area/station/cargo/storage) "fiK" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -13671,12 +14117,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"fkd" = ( -/obj/structure/chair/stool/directional/south, -/obj/machinery/holopad, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "fkj" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -13798,6 +14238,13 @@ /obj/item/flashlight/lantern, /turf/open/floor/plating/rust, /area/station/maintenance/starboard/greater) +"fma" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "fme" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 @@ -14071,6 +14518,13 @@ /obj/machinery/door/window/brigdoor/right/directional/north, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/customs) +"frY" = ( +/obj/structure/closet/secure_closet/security/cargo, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "frZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14148,18 +14602,6 @@ }, /turf/open/floor/wood/tile, /area/station/maintenance/aft) -"fts" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/order_console/bitrunning{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ftv" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/table/reinforced, @@ -14193,6 +14635,18 @@ }, /turf/open/floor/wood, /area/station/service/chapel) +"ftI" = ( +/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/brown/half/contrasted{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/lobby) "ftT" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /obj/machinery/camera/directional/west{ @@ -14328,6 +14782,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"fvX" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs/cable/red{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/iron, +/area/station/cargo/sorting) "fwc" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -14403,14 +14866,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"fxc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) "fxi" = ( /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"fxp" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "fxF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14422,6 +14885,14 @@ /obj/structure/table, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) +"fxO" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/storage) "fxW" = ( /obj/machinery/restaurant_portal/restaurant, /obj/effect/turf_decal/siding/wood{ @@ -14564,6 +15035,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"fAn" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fAr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/barricade/wooden/crude, @@ -14687,9 +15165,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"fCd" = ( -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) "fCf" = ( /obj/effect/turf_decal/caution{ dir = 4 @@ -14719,6 +15194,16 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"fCK" = ( +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/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/supply, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) "fCS" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/airalarm/directional/east, @@ -14993,9 +15478,13 @@ /obj/machinery/smartfridge, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; - name = "Kitchen Shutters" + name = "Kitchen Shutters"; + dir = 4 }, -/turf/open/floor/iron/kitchen/small, +/obj/effect/turf_decal/siding/end{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "fGT" = ( /obj/effect/turf_decal/tile/neutral{ @@ -15082,6 +15571,14 @@ /obj/machinery/vending/wardrobe/science_wardrobe, /turf/open/floor/iron/white, /area/station/science/research) +"fHX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/cargo/storage) "fIe" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 6 @@ -15106,6 +15603,13 @@ /obj/machinery/light/floor, /turf/open/floor/stone, /area/station/service/bar) +"fIq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/office) "fIw" = ( /obj/effect/landmark/navigate_destination/dockescpod, /turf/open/floor/plating, @@ -15303,22 +15807,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"fLF" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #2" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/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, -/area/station/cargo/storage) "fLI" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron/dark/small, @@ -15355,6 +15843,15 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/commons/fitness/recreation/entertainment) +"fMf" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "fMg" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron/smooth, @@ -15633,6 +16130,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/small, /area/station/service/janitor) +"fQv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fQA" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 8 @@ -15729,9 +16234,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood/parquet, /area/station/service/library) -"fSe" = ( -/turf/closed/wall/rust, -/area/station/cargo/miningfoundry) "fSf" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -15968,6 +16470,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /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, @@ -16512,10 +17023,12 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"ggr" = ( -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) +"ggn" = ( +/obj/effect/decal/cleanable/oil, +/obj/machinery/byteforge, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "ggw" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 1 @@ -16544,6 +17057,14 @@ }, /turf/open/floor/wood, /area/station/engineering/atmospherics_engine) +"ggK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/pdapainter/supply, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) "ggN" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -16672,6 +17193,12 @@ /obj/machinery/nuclearbomb/beer, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) +"giA" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "giU" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -16791,11 +17318,6 @@ /obj/machinery/suit_storage_unit/atmos, /turf/open/floor/iron/dark, /area/station/engineering/atmos/office) -"gls" = ( -/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/maintenance/central/greater) "glM" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -16909,6 +17431,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"gnO" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "gnQ" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window, @@ -17077,6 +17608,12 @@ /obj/structure/spider/stickyweb, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"gqw" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "gqS" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /obj/effect/turf_decal/siding/wideplating, @@ -17194,6 +17731,20 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"guq" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"gus" = ( +/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) "guz" = ( /obj/structure/cable, /obj/item/kirbyplants/random, @@ -17369,15 +17920,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"gxr" = ( -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/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/miningfoundry) "gxs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research/glass{ @@ -17414,10 +17956,6 @@ /obj/item/hfr_box/core, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"gxL" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) "gxP" = ( /obj/structure/flora/bush/large/style_random, /obj/structure/window/spawner/directional/east, @@ -17652,6 +18190,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/small, /area/station/hallway/primary/fore) +"gBs" = ( +/obj/effect/spawner/structure/window, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "gBu" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -17844,6 +18388,37 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gEa" = ( +/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{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/office) +"gEb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/folder/yellow{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/storage/dice{ + pixel_x = -10; + pixel_y = 11 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/carpet, +/area/station/maintenance/hallway/abandoned_recreation) "gEc" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -17870,16 +18445,6 @@ "gEH" = ( /turf/closed/wall/r_wall, /area/station/security/evidence) -"gEJ" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron, -/area/station/cargo/office) "gEM" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -17901,6 +18466,25 @@ }, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"gFi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/button/door/directional/east{ + id = "qm_warehouse"; + name = "Warehouse Door Control"; + pixel_x = -24; + pixel_y = 24; + req_access = list("cargo") + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gFm" = ( /obj/machinery/light/dim/directional/south, /obj/effect/turf_decal/tile/neutral, @@ -17994,12 +18578,6 @@ }, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) -"gGw" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/newscaster/directional/west, -/obj/structure/chair, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) "gGx" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -18016,6 +18594,14 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"gGA" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/storage) "gGB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18104,6 +18690,25 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/gateway) +"gIr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2"; + name = "Sort and Deliver"; + pixel_x = 8; + pixel_y = 12 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "gIs" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18177,6 +18782,26 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/security) +"gJb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 1; + id = "packageSort2" + }, +/obj/machinery/door/window/left/directional/west{ + name = "Crate Security Door"; + req_access = list("shipping") + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "gJo" = ( /turf/open/floor/iron/stairs{ dir = 8 @@ -18249,18 +18874,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"gKK" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "gKL" = ( /turf/closed/wall/r_wall, /area/station/engineering/break_room) @@ -18340,6 +18953,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"gLS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/navigate_destination/chapel, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "gLV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18479,13 +19101,6 @@ }, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"gNC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "gNH" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -18503,12 +19118,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/port) -"gNV" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/stairs{ - dir = 1 - }, -/area/station/cargo/office) "gNX" = ( /obj/machinery/light/floor, /turf/open/floor/iron/white/small, @@ -18547,6 +19156,13 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"gOS" = ( +/obj/machinery/rnd/production/techfab/department/cargo, +/obj/effect/turf_decal/delivery/white, +/obj/machinery/light_switch/directional/south, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron/smooth, +/area/station/cargo/sorting) "gOX" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -18585,11 +19201,24 @@ /obj/structure/fermenting_barrel, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gPT" = ( -/obj/effect/spawner/random/structure/grille, -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"gPO" = ( +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/disposal/delivery_chute{ + name = "Service Deliveries" + }, +/obj/structure/sign/departments/botany/directional/north, +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/structure/plasticflaps{ + name = "Service Deliveries" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/delivery/white, +/turf/open/floor/iron/dark/side, +/area/station/cargo/sorting) "gPY" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/stripes/white/line{ @@ -18604,14 +19233,6 @@ /obj/structure/sign/warning/chem_diamond, /turf/closed/wall, /area/station/medical/chemistry) -"gQm" = ( -/obj/structure/window/spawner/directional/east, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/bot_white, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/tools) "gQy" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/cable, @@ -18619,22 +19240,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"gQG" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/closet/crate, -/obj/effect/turf_decal/bot_white, -/obj/item/stack/package_wrap{ - pixel_y = 5 - }, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/storage/box{ - desc = "It smells of monkey business..."; - name = "Empty Gorillacube Box" - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/tools) "gRm" = ( /obj/structure/flora/bush/flowers_br, /obj/structure/flora/bush/flowers_pp/style_random, @@ -18720,19 +19325,19 @@ /obj/item/stack/sheet/mineral/titanium, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"gSA" = ( +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "gSD" = ( /obj/machinery/mass_driver/chapelgun{ dir = 8 }, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"gSX" = ( -/obj/machinery/computer/piratepad_control/civilian{ - dir = 1 - }, -/obj/structure/sign/departments/cargo/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central/fore) "gTb" = ( /turf/open/floor/iron/dark/side{ dir = 8 @@ -18762,6 +19367,15 @@ }, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) +"gTj" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/maintenance/port/greater) +"gTw" = ( +/obj/machinery/light/small/dim/directional/north, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gTH" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18873,12 +19487,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"gUQ" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/engine/atmos) "gUV" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/south{ @@ -18974,6 +19582,18 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"gXB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/lobby) "gXL" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -19060,6 +19680,16 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"gZR" = ( +/obj/structure/sign/poster/random/directional/south, +/obj/machinery/conveyor{ + id = "mining"; + dir = 10 + }, +/obj/machinery/bouldertech/refinery, +/obj/structure/sign/poster/random/directional/east, +/turf/open/floor/iron, +/area/station/cargo/miningfoundry) "gZS" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -19089,19 +19719,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) -"had" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hal" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) +"hao" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "haq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19553,16 +20182,6 @@ /obj/structure/lattice, /turf/open/misc/asteroid/airless, /area/space/nearstation) -"hfC" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hfI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19572,28 +20191,6 @@ }, /turf/open/floor/wood/tile, /area/station/tcommsat/server) -"hfZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/commons/storage/tools) -"hgd" = ( -/obj/structure/table, -/obj/item/clothing/head/collectable/paper{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/paper/crumpled{ - pixel_x = 5; - pixel_y = 8 - }, -/obj/item/trash/candle{ - pixel_x = 7; - pixel_y = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) "hgf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/green{ @@ -19617,6 +20214,16 @@ }, /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) "hgu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19697,12 +20304,13 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hhr" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ +"hhy" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hhL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19789,6 +20397,21 @@ /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{ @@ -19796,6 +20419,19 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"hjS" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/table, +/obj/effect/turf_decal/delivery/white, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/cargo/sorting) "hkd" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 8 @@ -19916,6 +20552,18 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"hlP" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/wrapping_paper{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "hlX" = ( /obj/machinery/door/airlock/public/glass{ name = "Old Command Hallway" @@ -19939,23 +20587,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/security/tram) -"hmh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/commons/storage/tools) -"hmj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/storage/toolbox/emergency/old, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) "hmk" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/smooth, @@ -20001,27 +20632,12 @@ dir = 1 }, /area/station/service/bar/backroom) -"hmQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/mechanical/old{ - pixel_x = 15; - pixel_y = 15 - }, -/obj/item/crowbar/large{ - pixel_y = 18 - }, -/obj/item/clothing/head/costume/pirate{ - pixel_x = 17; - pixel_y = -10 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_x = -3; - pixel_y = -2 +"hmR" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) +/turf/open/floor/iron, +/area/station/cargo/storage) "hnf" = ( /obj/item/bikehorn/rubberducky{ pixel_x = -6; @@ -20123,16 +20739,13 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"hoV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/railing/corner/end{ - dir = 4 +"hpb" = ( +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "hpe" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, @@ -20182,11 +20795,6 @@ dir = 8 }, /area/station/science/lobby) -"hqH" = ( -/obj/item/reagent_containers/cup/watering_can/wood, -/obj/structure/table, -/turf/open/floor/plating, -/area/station/maintenance/starboard/greater) "hqM" = ( /obj/structure/toiletbong{ dir = 1 @@ -20217,9 +20825,11 @@ /obj/machinery/door/window/right/directional/west, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; - name = "Kitchen Shutters" + name = "Kitchen Shutters"; + dir = 8 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/siding/end, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "hrx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20403,7 +21013,6 @@ /obj/item/pickaxe, /obj/item/wrench, /obj/item/radio/off, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) "huj" = ( @@ -20613,13 +21222,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"hyb" = ( -/obj/structure/cable, -/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/smooth, -/area/station/cargo/warehouse) "hyi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20643,12 +21245,25 @@ "hyE" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) -"hyO" = ( +"hyS" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Office" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "hyW" = ( /obj/effect/turf_decal/weather/dirt{ dir = 10 @@ -20674,9 +21289,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"hzm" = ( -/turf/closed/wall/rust, -/area/station/cargo/miningoffice) "hzp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/neutral/line, @@ -20690,6 +21302,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) +"hzr" = ( +/obj/structure/closet/secure_closet/detective, +/obj/machinery/requests_console/directional/north{ + department = "Detective's Office"; + name = "Detective Requests Console" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/detectiveboard/directional/west, +/turf/open/floor/wood, +/area/station/security/detectives_office) "hzK" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -20748,6 +21370,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"hAO" = ( +/obj/machinery/computer/piratepad_control/civilian{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/turf/open/floor/iron/dark/side, +/area/station/cargo/lobby) "hAW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20981,17 +21616,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"hEi" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/cargo/sorting) "hEl" = ( /obj/structure/table/rolling, /obj/effect/turf_decal/siding/yellow, @@ -21096,12 +21720,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"hGa" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Mix" - }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "hGb" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) @@ -21127,6 +21745,11 @@ }, /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/structure/disposalpipe/segment, @@ -21175,6 +21798,16 @@ }, /turf/open/space/basic, /area/space/nearstation) +"hHX" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/quartermaster, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "hIi" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -21295,14 +21928,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) -"hKV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "hKX" = ( /turf/closed/mineral/random/stationside, /area/station/hallway/primary/fore) @@ -21325,10 +21950,6 @@ "hLc" = ( /turf/open/floor/plating, /area/station/science/xenobiology) -"hLm" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/cargo/office) "hLx" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -21545,13 +22166,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"hPd" = ( -/obj/structure/hedge, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) "hPi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21716,6 +22330,17 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"hSn" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "hSK" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/white{ @@ -21907,13 +22532,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/science/genetics) -"hWa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) "hWk" = ( /obj/machinery/vending/coffee, /obj/structure/extinguisher_cabinet/directional/south, @@ -22007,6 +22625,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"hXM" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "hXU" = ( /turf/closed/wall, /area/station/security/execution/education) @@ -22065,6 +22691,21 @@ dir = 8 }, /area/station/science/lab) +"hYQ" = ( +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/disposal/delivery_chute{ + name = "Security Deliveries" + }, +/obj/structure/sign/departments/security/directional/north, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/plasticflaps{ + name = "Security Deliveries" + }, +/obj/effect/turf_decal/delivery/white, +/turf/open/floor/iron/dark/side, +/area/station/cargo/sorting) "hYS" = ( /obj/effect/turf_decal/tile/yellow/diagonal_centre, /obj/structure/railing, @@ -22105,18 +22746,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) -"hZe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/sign/poster/random/directional/east, -/obj/machinery/conveyor{ - id = "mining" - }, -/obj/machinery/brm, -/turf/open/floor/iron, -/area/station/cargo/miningfoundry) "hZP" = ( /obj/structure/cable, /obj/structure/sign/poster/official/random/directional/north, @@ -22402,6 +23031,11 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"idB" = ( +/obj/structure/cable, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "idF" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -22439,6 +23073,22 @@ /obj/machinery/telecomms/message_server/preset, /turf/open/floor/circuit, /area/station/tcommsat/server) +"iek" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/delivery_chute{ + name = "Engineering Deliveries" + }, +/obj/structure/sign/departments/engineering/directional/north, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/plasticflaps{ + name = "Engineering Deliveries" + }, +/obj/effect/turf_decal/delivery/white, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark/side, +/area/station/cargo/sorting) "ieY" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, @@ -22685,6 +23335,24 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"iiR" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/conveyor_switch/oneway{ + pixel_x = 4; + pixel_y = 10; + id = "mining" + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "iiW" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, @@ -22924,15 +23592,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"ina" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"ind" = ( -/obj/machinery/light/floor, -/obj/structure/flora/bush/flowers_br, -/turf/open/floor/grass, -/area/station/hallway/primary/central/fore) "inh" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/neutral/line{ @@ -22988,6 +23647,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/dorms) +"ioJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/cargo/lobby) "ioQ" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ @@ -23032,17 +23698,6 @@ /mob/living/basic/pet/dog/pug/mcgriff, /turf/open/floor/iron, /area/station/security/warden) -"ipd" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/east{ - id = "qm_warehouse"; - name = "Warehouse Door Control"; - pixel_x = -24; - pixel_y = -24; - req_access = list("cargo") - }, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) "ipf" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -23160,13 +23815,6 @@ }, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) -"iqj" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/stairs{ - dir = 1 - }, -/area/station/maintenance/port/fore) "iqp" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23176,10 +23824,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"iqq" = ( -/obj/structure/closet, -/turf/open/floor/iron/smooth, -/area/station/cargo/office) "iqB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23211,6 +23855,14 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"iqM" = ( +/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/cargo/storage) "ira" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/light/small/directional/south, @@ -23344,13 +23996,14 @@ "itb" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"itr" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 +"itf" = ( +/obj/structure/disposalpipe/segment, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "itw" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -23520,6 +24173,16 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"ivC" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "ivY" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/techstorage/tcomms_all, @@ -23712,6 +24375,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/storage/gas) "izF" = ( @@ -23739,6 +24403,11 @@ /obj/machinery/field/generator, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) +"iAt" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "iAu" = ( /obj/structure/bed{ dir = 4 @@ -23797,6 +24466,15 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"iAL" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "iAM" = ( /obj/effect/turf_decal/siding/wideplating/dark/corner{ dir = 1 @@ -23833,14 +24511,6 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) -"iBo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "iBt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -23959,6 +24629,16 @@ }, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"iDm" = ( +/obj/structure/cable, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/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, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "iDt" = ( /obj/effect/mapping_helpers/airlock/access/any/security/general, /obj/machinery/door/airlock/security{ @@ -24014,20 +24694,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) -"iEi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/airlock/public/glass{ - name = "Chapel Office" +"iEc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, -/obj/structure/disposalpipe/segment, /obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/service/chapel/office) +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "iEk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -24117,10 +24790,42 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"iFG" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "iFP" = ( /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/plating/rust, /area/station/maintenance/hallway/abandoned_command) +"iGb" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/closet/crate, +/obj/effect/turf_decal/bot_white, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/stack/package_wrap{ + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/storage/box{ + desc = "It smells of monkey business..."; + name = "Empty Gorillacube Box" + }, +/obj/item/weldingtool, +/obj/item/radio{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/item/assembly/signaler, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/tools) "iGl" = ( /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) @@ -24195,6 +24900,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"iGW" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/cargo/lobby) "iHa" = ( /obj/machinery/atmospherics/components/binary/pump/on{ name = "Gas to Cold Loop"; @@ -24305,6 +25018,20 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/command/heads_quarters/hop) +"iIG" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = -3 + }, +/obj/item/clothing/gloves/cargo_gauntlet, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 3 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/cargo/storage) "iIK" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -24395,12 +25122,18 @@ /mob/living/basic/pet/dog/corgi/ian, /turf/open/floor/iron/dark/textured_edge, /area/station/command/heads_quarters/hop) -"iJh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) +"iJp" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/stripes, +/obj/effect/turf_decal/trimline/brown/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "iJq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24438,6 +25171,9 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"iJH" = ( +/turf/closed/wall, +/area/station/security/checkpoint/supply) "iJI" = ( /obj/structure/table/glass, /obj/item/folder/blue, @@ -24494,6 +25230,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/brig/entrance) +"iKn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "iKo" = ( /obj/structure/broken_flooring/corner/directional/south, /obj/effect/spawner/random/trash/graffiti{ @@ -24549,16 +25293,6 @@ }, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) -"iLF" = ( -/obj/item/kirbyplants/organic/applebush, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) "iLH" = ( /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /obj/machinery/door/airlock/maintenance{ @@ -24898,6 +25632,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/elevatorshaft, /area/station/commons/dorms) +"iQM" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/sorting) "iQT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -25036,10 +25786,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"iTv" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood/parquet, -/area/station/service/library) "iTy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -25116,6 +25862,15 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) +"iUA" = ( +/obj/machinery/conveyor{ + id = "mining" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/miningfoundry) "iUH" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/camera/autoname/directional/south, @@ -25124,6 +25879,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"iUI" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "iUK" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -25242,16 +26005,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"iWb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "iWe" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -25472,6 +26225,11 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/central/lesser) +"iZx" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "iZy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -25557,6 +26315,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"jab" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "jar" = ( /obj/machinery/drone_dispenser, /turf/open/misc/asteroid, @@ -25603,15 +26365,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"jaN" = ( -/obj/structure/hedge, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/cargo/storage) "jaP" = ( /obj/effect/mob_spawn/corpse/human/clown, /turf/open/floor/plating/airless, @@ -25863,6 +26616,11 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron/smooth, /area/station/security/evidence) +"jfP" = ( +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/cargo/storage) "jfT" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 1 @@ -25879,6 +26637,20 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"jgj" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/east{ + id = "qm_warehouse"; + name = "Warehouse Door Control"; + pixel_x = -24; + pixel_y = -24; + req_access = list("cargo") + }, +/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) "jgq" = ( /obj/effect/turf_decal/weather/dirt{ dir = 8 @@ -25918,13 +26690,6 @@ "jhm" = ( /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"jhs" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "jhB" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -26095,13 +26860,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"jkS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/storage) "jkT" = ( /obj/structure/table/wood, /obj/machinery/fax/auto_name, @@ -26116,6 +26874,19 @@ /obj/structure/cable, /turf/open/floor/plating/rust, /area/station/engineering/supermatter/room) +"jln" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "jlt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26127,14 +26898,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"jlv" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/storage) "jlz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26219,6 +26982,13 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"jmC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/holy/directional/south, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "jmF" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/turf_decal/stripes/line{ @@ -26226,12 +26996,6 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"jmK" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "jmN" = ( /obj/structure/table, /obj/item/stack/rods/fifty, @@ -26252,6 +27016,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"jmX" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/carpet, +/area/station/maintenance/hallway/abandoned_recreation) "jmY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26402,14 +27177,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/evidence) -"jpR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "jpW" = ( /obj/structure/cable, /obj/structure/table/wood, @@ -26435,39 +27202,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"jqu" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"jqA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/conveyor{ - dir = 1; - id = "packageSort2" - }, -/obj/machinery/door/window/left/directional/west{ - name = "Crate Security Door"; - req_access = list("shipping") - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/plating, -/area/station/cargo/sorting) "jqD" = ( /obj/effect/turf_decal/siding/yellow, /obj/effect/turf_decal/tile/yellow/diagonal_centre, @@ -26506,6 +27240,14 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"jro" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jrs" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -26520,6 +27262,12 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"jry" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/cargo/storage) "jrD" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 4 @@ -26556,11 +27304,6 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"jrX" = ( -/turf/open/floor/iron/stairs{ - dir = 1 - }, -/area/station/cargo/office) "jsa" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white/side{ @@ -26619,13 +27362,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/aft) -"jtd" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "jte" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -26646,6 +27382,10 @@ /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/structure/closet/emcloset, /turf/open/floor/iron/showroomfloor, @@ -26674,30 +27414,11 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"jug" = ( -/obj/machinery/door/airlock/hatch{ - name = "Tool Supply Corridor" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/commons/storage/tools) -"juJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/table, +"juo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/package_wrap{ - pixel_y = 5 - }, -/obj/item/storage/box/matches, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"juP" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/stone, -/area/station/service/chapel) +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "juS" = ( /obj/structure/bed, /obj/item/bedsheet/hop, @@ -26705,6 +27426,14 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) +"juU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch/directional/west, +/obj/effect/landmark/event_spawn, +/obj/machinery/portable_atmospherics/pump/lil_pump, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "jvd" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -26720,17 +27449,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/captain/private) -"jvm" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "jvB" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -26870,14 +27588,6 @@ "jxD" = ( /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"jxJ" = ( -/obj/structure/hedge, -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/cargo/storage) "jxU" = ( /obj/effect/turf_decal/siding/blue{ dir = 9 @@ -27073,6 +27783,16 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/lobby) +"jAN" = ( +/obj/machinery/computer/cargo{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "jAR" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/airalarm/directional/east, @@ -27119,6 +27839,42 @@ /obj/machinery/flasher/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"jBJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/west{ + name = "Cargo Desk"; + req_access = list("shipping") + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/item/paper_bin{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/office) +"jBN" = ( +/obj/machinery/piratepad/civilian, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/light/cold/dim/directional/south, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/cargo/lobby) "jBQ" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -27126,12 +27882,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"jCi" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "jCm" = ( /obj/effect/landmark/start/hangover, /turf/open/misc/dirt/station, @@ -27146,13 +27896,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"jCP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) "jCZ" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ id = "Cell 1"; @@ -27174,16 +27917,6 @@ "jDi" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"jDm" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "jDt" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -27302,27 +28035,6 @@ }, /turf/closed/wall, /area/station/hallway/secondary/entry) -"jEK" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/table, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/fax{ - fax_name = "Cargo Office"; - name = "Cargo Office Fax Machine"; - pixel_y = 4 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "jEQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27339,6 +28051,19 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"jFg" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/paperplane{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/paperplane{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "jFh" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron, @@ -27423,6 +28148,15 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"jGC" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/cargo/storage) "jGK" = ( /obj/structure/chair/wood, /obj/structure/cable, @@ -27516,6 +28250,11 @@ /mob/living/basic/sloth/citrus, /turf/open/floor/iron, /area/station/cargo/storage) +"jHC" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jHI" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -27534,6 +28273,21 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"jHN" = ( +/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/electrical) +"jHS" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, +/turf/open/floor/iron/smooth_half{ + dir = 8 + }, +/area/station/engineering/main) "jHU" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -27557,14 +28311,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"jIh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "jIj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -27583,6 +28329,12 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"jIn" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/firealarm/directional/west, +/obj/machinery/vending/cytopro, +/turf/open/floor/iron/white, +/area/station/science/cytology) "jIy" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -27604,73 +28356,48 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"jIH" = ( +"jJg" = ( +/obj/effect/turf_decal/siding/wideplating, +/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/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, -/area/station/cargo/miningfoundry) -"jIN" = ( -/obj/structure/disposalpipe/segment{ +/area/station/engineering/main) +"jJw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/effect/turf_decal/tile/brown{ +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/cargo/office) -"jIY" = ( +/area/station/cargo/storage) +"jJB" = ( /obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/brown{ dir = 4 }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron, -/area/station/cargo/office) -"jJc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ +/obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/office) -"jJd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/hydroponics/constructable, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/service/hydroponics) -"jJg" = ( -/obj/effect/turf_decal/siding/wideplating, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/area/station/cargo/sorting) +"jJO" = ( /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 5 }, +/obj/structure/chair/stool/directional/east, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/newscaster/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, -/area/station/engineering/main) +/area/station/maintenance/hallway/abandoned_recreation) "jJP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27710,6 +28437,14 @@ dir = 1 }, /area/station/science/xenobiology) +"jKl" = ( +/obj/effect/landmark/start/cargo_technician, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) "jKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27720,21 +28455,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) -"jKu" = ( -/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/door/airlock/mining/glass{ - name = "Cargo Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/stairs{ - dir = 4 - }, -/area/station/cargo/office) "jKJ" = ( /obj/machinery/door/window/right/directional/north, /turf/open/floor/iron, @@ -27761,20 +28481,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"jLr" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ +"jLt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/science/cytology) "jLv" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -27833,12 +28546,6 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"jMb" = ( -/obj/effect/turf_decal/bot_white, -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth_large, -/area/station/cargo/warehouse) "jMp" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 8 @@ -27864,15 +28571,6 @@ /obj/structure/spider/stickyweb, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) -"jMQ" = ( -/obj/machinery/atmospherics/components/binary/pump/off{ - name = "O2 To Pure" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jMX" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -27934,6 +28632,13 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) +"jNV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "jOb" = ( /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -28016,6 +28721,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"jPl" = ( +/obj/machinery/button/ignition/incinerator/atmos, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "jPo" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -28065,6 +28774,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) +"jQG" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jQW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -28403,11 +29120,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jVx" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side, -/area/station/maintenance/central/greater) "jVJ" = ( /obj/structure/table, /obj/item/bikehorn/rubberducky{ @@ -28513,19 +29225,6 @@ dir = 8 }, /area/station/hallway/secondary/dock) -"jWZ" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 8; - output_dir = 4 - }, -/obj/machinery/door/window/right/directional/east{ - name = "Ore Redemtion Window" - }, -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/textured_large, -/area/station/cargo/office) "jXc" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -28689,21 +29388,9 @@ /obj/effect/mapping_helpers/airlock/access/all/command/teleporter, /turf/open/floor/iron/dark/textured_half, /area/station/command/teleporter) -"jZc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) "jZl" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmospherics_engine) -"jZn" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "jZJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -28912,16 +29599,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/white/small, /area/station/science/server) -"kee" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/item/food/grown/pineapple{ - pixel_x = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "kel" = ( /obj/machinery/light/cold/directional/south, /obj/machinery/modular_computer/preset/id{ @@ -28956,22 +29633,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/science/lower) -"keQ" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) -"kft" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) "kfv" = ( /obj/effect/turf_decal/stripes/red/line, /obj/machinery/power/apc/auto_name/directional/east, @@ -29044,6 +29705,16 @@ dir = 1 }, /area/station/hallway/primary/aft) +"kgp" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "kgu" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/components/unary/passive_vent, @@ -29096,6 +29767,24 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) +"khw" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/sorting) "khD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -29135,18 +29824,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"khZ" = ( -/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/dark, -/area/station/cargo/office) -"kia" = ( -/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/smooth, -/area/station/cargo/warehouse) "kii" = ( /obj/structure/flora/bush/flowers_yw/style_3{ pixel_y = -3 @@ -29166,6 +29843,12 @@ }, /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/cable, /obj/structure/disposalpipe/segment{ @@ -29222,10 +29905,24 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"kiW" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "kiY" = ( /obj/structure/flora/tree/jungle/style_6, /turf/open/floor/grass, /area/station/service/chapel) +"kjb" = ( +/obj/structure/hedge, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "kjg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29329,6 +30026,33 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"kkD" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/railing{ + dir = 5 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/stack/package_wrap{ + pixel_y = 6; + pixel_x = -1 + }, +/obj/item/paper/crumpled{ + pixel_x = 5; + pixel_y = 0 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/lobby) "kkK" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -29384,6 +30108,13 @@ dir = 1 }, /area/station/engineering/atmos) +"klA" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Plasma to Pure" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "klF" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -29548,6 +30279,10 @@ "knv" = ( /turf/closed/wall, /area/station/maintenance/department/engine/atmos) +"knw" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "knB" = ( /obj/machinery/door/airlock{ id_tag = "Toilet2"; @@ -29565,12 +30300,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"knL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "knO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/east, @@ -29579,6 +30308,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /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, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "knV" = ( /obj/structure/closet/l3closet, /obj/effect/turf_decal/stripes/line{ @@ -29621,19 +30355,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kpT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "kpU" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, @@ -29689,16 +30410,6 @@ }, /turf/open/floor/plating, /area/station/medical/surgery/theatre) -"kqL" = ( -/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, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) "kqM" = ( /obj/structure/cable, /obj/item/reagent_containers/cup/bucket, @@ -29725,38 +30436,11 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/medical/morgue) -"kqQ" = ( -/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, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) "kqU" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/north, /turf/open/floor/carpet/lone, /area/station/service/abandoned_gambling_den) -"kqW" = ( -/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, -/obj/machinery/door/airlock/mining/glass{ - name = "Delivery Office" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/sorting) "kqX" = ( /turf/closed/wall, /area/station/ai_monitored/aisat/exterior) @@ -29872,15 +30556,12 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/dark/diagonal, /area/station/service/bar) -"kso" = ( -/obj/structure/disposalpipe/junction{ - 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/maintenance/port/fore) +"ksq" = ( +/obj/structure/chair/stool/directional/south, +/obj/machinery/light/small/directional/north, +/obj/structure/mirror/directional/north, +/turf/open/floor/iron/grimy, +/area/station/cargo/boutique) "ksv" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -29888,33 +30569,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"ksx" = ( -/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, -/obj/machinery/door/airlock/mining/glass{ - name = "Cargo Office" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) -"ksA" = ( -/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, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "ksB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29926,6 +30580,10 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/engineering/gravity_generator) +"ksE" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "ksJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30006,11 +30664,6 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"ktM" = ( -/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/cargo/office) "ktT" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -30027,28 +30680,6 @@ /obj/item/radio/intercom/prison/directional/west, /turf/open/floor/iron/cafeteria, /area/station/security/prison) -"kua" = ( -/obj/structure/table, -/obj/item/disk/cargo{ - pixel_x = 6 - }, -/obj/item/paper/crumpled{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robust{ - pixel_x = 7; - pixel_y = 15 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) -"kuq" = ( -/obj/machinery/computer/cargo/request, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) "kut" = ( /obj/machinery/door/airlock/engineering{ name = "Engine Airlock" @@ -30196,6 +30827,20 @@ /obj/structure/window/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) +"kxa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/mining, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "kxb" = ( /obj/structure/table/reinforced/titaniumglass, /obj/effect/turf_decal/bot, @@ -30227,6 +30872,10 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"kxu" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron/small, +/area/station/cargo/lobby) "kxE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/research/glass{ @@ -30285,16 +30934,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"kyE" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "kyN" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/small, @@ -30575,15 +31214,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"kFg" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) "kFq" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -30618,22 +31248,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) -"kFI" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/table, -/obj/effect/turf_decal/delivery/white, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/large{ - pixel_x = 5; - pixel_y = 20 - }, -/turf/open/floor/iron/smooth, -/area/station/cargo/sorting) "kFJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -30643,10 +31257,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) -"kFU" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "kFY" = ( /turf/closed/wall/r_wall, /area/station/medical/morgue) @@ -30809,32 +31419,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kIO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/west{ - name = "Cargo Desk"; - req_access = list("shipping") - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/item/pen{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/office) "kIQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30857,17 +31441,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"kJb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) "kJj" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -30891,6 +31464,14 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/station/ai_monitored/security/armory) +"kJu" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "kJJ" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -30980,6 +31561,27 @@ "kMe" = ( /turf/open/floor/iron/smooth_large, /area/station/engineering/supermatter/room) +"kMg" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/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{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Office" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "kMm" = ( /obj/structure/chair/sofa/right/brown{ dir = 1 @@ -31004,6 +31606,31 @@ /obj/machinery/holopad, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"kMY" = ( +/obj/effect/turf_decal/stripes{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + name = "Bitrunning Den" + }, +/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/supply/bit_den, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/cargo/bitrunning/den) "kNf" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -31022,10 +31649,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"kNv" = ( -/obj/machinery/air_sensor/mix_tank, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "kNx" = ( /turf/open/floor/engine/o2, /area/station/engineering/atmos) @@ -31082,6 +31705,15 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) +"kOA" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/sign/poster/random/directional/east, +/obj/machinery/conveyor{ + id = "mining" + }, +/obj/machinery/brm, +/turf/open/floor/iron, +/area/station/cargo/miningfoundry) "kOG" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ @@ -31129,21 +31761,20 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/white/small, /area/station/security/warden) +"kPh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "kPk" = ( /obj/structure/chair/sofa/bench{ dir = 1 }, /turf/open/floor/iron/dark/side, /area/station/security/execution/transfer) -"kPo" = ( -/obj/structure/cable, -/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/plating, -/area/station/maintenance/port/greater) "kPv" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -31188,6 +31819,15 @@ }, /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 @@ -31202,6 +31842,9 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/storage) +"kRb" = ( +/turf/open/floor/iron, +/area/station/cargo/sorting) "kRi" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -31235,14 +31878,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kRJ" = ( -/obj/structure/disposalpipe/segment, -/obj/item/banner/cargo, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/airalarm/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "kRN" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_corner{ @@ -31278,11 +31913,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) -"kSf" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "kSj" = ( /obj/structure/chair/plastic{ dir = 8 @@ -31310,14 +31940,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"kSO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "kTm" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/siding/wood{ @@ -31432,20 +32054,6 @@ /obj/structure/chair/sofa/bench/left, /turf/open/floor/stone, /area/station/service/chapel) -"kVn" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/recharger{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/radio/off{ - pixel_x = -6 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "kVx" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -31548,25 +32156,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"kXR" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "kXS" = ( /obj/structure/closet/emcloset, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"kYa" = ( -/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/effect/turf_decal/tile/brown/fourcorners, -/obj/effect/landmark/navigate_destination/cargo, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "kYs" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -31582,10 +32176,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine, /area/station/science/explab) -"kYG" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "kYI" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/chair/plastic{ @@ -31615,11 +32205,6 @@ }, /turf/open/floor/iron, /area/station/science/cytology) -"kYZ" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/grass, -/area/station/cargo/storage) "kZh" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -31664,15 +32249,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"kZB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/cargo/storage) "kZC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -31715,9 +32291,6 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/central/aft) -"laD" = ( -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central/fore) "laF" = ( /obj/structure/table, /obj/effect/turf_decal/siding/thinplating_new/terracotta{ @@ -31746,15 +32319,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"laL" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/loading_area/white, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) "laU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31771,35 +32335,10 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) -"lbi" = ( -/obj/structure/flora/bush/flowers_br, -/obj/structure/flora/bush/flowers_yw, -/obj/machinery/light/floor, -/turf/open/floor/grass, -/area/station/hallway/primary/central/fore) -"lbl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/storage/fancy/candle_box, -/obj/structure/rack/skeletal, -/obj/machinery/camera/autoname/directional/west, +"lbe" = ( /obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/library) -"lbF" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/effect/turf_decal/stripes, -/obj/effect/turf_decal/trimline/brown/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) +/turf/open/floor/iron/dark, +/area/station/cargo/lobby) "lbG" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -31894,14 +32433,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"ldl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/holy/directional/south, -/obj/machinery/light/cold/directional/south, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ldq" = ( /turf/closed/wall, /area/station/maintenance/department/science/xenobiology) @@ -32218,10 +32749,6 @@ /obj/item/camera, /turf/open/floor/iron, /area/station/security/prison/workout) -"lhd" = ( -/obj/structure/water_source/puddle, -/turf/open/floor/grass, -/area/station/security/prison/garden) "lhi" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/button/door/directional/north{ @@ -32524,19 +33051,22 @@ /obj/item/pen, /turf/open/floor/iron, /area/station/security/prison/rec) -"lkI" = ( -/obj/structure/disposalpipe/segment, -/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 = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "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) "lkN" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 1 @@ -32557,10 +33087,6 @@ "lkV" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance) -"llg" = ( -/obj/effect/turf_decal/stripes/white/line, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "llC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -32574,19 +33100,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"llN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "llP" = ( /obj/structure/cable, /obj/structure/bed/medical{ @@ -32628,10 +33141,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"lme" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) "lmm" = ( /mob/living/basic/frog, /obj/effect/turf_decal/weather/dirt{ @@ -32648,28 +33157,30 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"lmv" = ( -/obj/structure/disposalpipe/segment, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) +"lmp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/stool/directional/west, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "lmz" = ( /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "lmJ" = ( /turf/open/floor/iron, /area/station/engineering/atmos/project) -"lmR" = ( -/obj/structure/dresser, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) -"lmS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"lmZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) +/obj/effect/landmark/navigate_destination/bar, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lnu" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark, @@ -32720,6 +33231,17 @@ /obj/structure/ore_box, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"lnL" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lnM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/window/brigdoor/right/directional/north{ @@ -32773,16 +33295,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"loj" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/machinery/piratepad/civilian, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) "lom" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32907,14 +33419,6 @@ "lql" = ( /turf/open/floor/wood/parquet, /area/station/service/library) -"lqq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/chapel, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "lqt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32957,6 +33461,12 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"lrN" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Mix" + }, +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "lrP" = ( /obj/machinery/computer/security{ dir = 8 @@ -32991,6 +33501,10 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"lsH" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "lsO" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/white/side{ @@ -33079,6 +33593,13 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/dorms) +"lud" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light_switch/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "lun" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/command/general, @@ -33145,24 +33666,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"lvr" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/navigate_destination/bar, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"lvu" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/office) "lvv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -33210,6 +33713,13 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) +"lvN" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lvS" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -33258,15 +33768,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"lwC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lwI" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/computer/security/mining{ @@ -33325,17 +33826,10 @@ dir = 1 }, /area/station/commons/fitness/locker_room) -"lxy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) +"lxE" = ( +/obj/effect/spawner/random/structure/closet_empty/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lxI" = ( /obj/effect/turf_decal/siding/wood/end, /obj/effect/spawner/random/engineering/atmospherics_portable, @@ -33440,13 +33934,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/storage) -"lzA" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/storage) "lzB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33477,51 +33964,10 @@ dir = 1 }, /area/station/command/bridge) -"lzU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/grass, -/area/station/cargo/storage) -"lzW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/invisible{ - pixel_x = -2; - pixel_y = 7 - }, -/obj/machinery/newscaster/directional/north, -/obj/item/storage/photo_album/library, -/turf/open/floor/iron/grimy, -/area/station/service/library) -"lAk" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/office) +"lAM" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "lAO" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -33578,31 +34024,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"lBn" = ( -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/structure/table, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/item/radio, -/obj/structure/railing{ - dir = 5 - }, -/obj/item/stamp{ - pixel_x = -12; - pixel_y = 3 - }, -/obj/item/stamp/denied{ - pixel_x = -12; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "lBp" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -33664,14 +34085,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"lCg" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "lCh" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green, @@ -33793,16 +34206,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lEm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "lEs" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/turf_decal/tile/neutral/opposingcorners{ @@ -33853,26 +34256,16 @@ }, /turf/open/floor/wood/tile, /area/station/maintenance/aft) -"lEO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/glass, -/obj/item/flashlight/lamp/green{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/taperecorder{ - pixel_x = -15; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/library) "lER" = ( /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"lFb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lFg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -33894,13 +34287,6 @@ /obj/machinery/exodrone_launcher, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"lFG" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/red, -/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) "lGd" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -33913,10 +34299,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"lGk" = ( -/obj/machinery/pdapainter/supply, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "lGo" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/north, @@ -33954,16 +34336,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/science/lower) -"lGO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/prison/garden) -"lGT" = ( -/obj/structure/chair/stool/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) "lHb" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/robotics, @@ -33988,10 +34360,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"lHe" = ( -/obj/structure/chair/stool/directional/south, -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) "lHk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34064,12 +34432,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) -"lHZ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/closed/wall, -/area/station/hallway/primary/central/aft) "lIa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34094,13 +34456,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) -"lIf" = ( -/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/grimy, -/area/station/command/heads_quarters/qm) "lIh" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -34110,27 +34465,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"lIn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/east, -/obj/effect/landmark/start/quartermaster, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) -"lIq" = ( -/obj/structure/table/wood/fancy/green, -/obj/item/paperplane{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/paperplane{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "lIt" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 6 @@ -34138,12 +34472,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) -"lIw" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "lIL" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34185,18 +34513,18 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"lJV" = ( -/obj/structure/bed, -/obj/effect/decal/cleanable/dirt, -/obj/item/bedsheet/qm, -/obj/item/reagent_containers/cup/glass/bottle/tequila{ - pixel_x = -5; - pixel_y = 2 +"lKf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "lKg" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/wood, @@ -34242,20 +34570,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"lKH" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/stripes, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) "lKV" = ( /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) @@ -34287,13 +34601,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/station/cargo/drone_bay) -"lLq" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/oil, -/obj/machinery/byteforge, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "lLr" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -34369,14 +34676,6 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"lMH" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/library) "lNf" = ( /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white/small, @@ -34442,11 +34741,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"lNN" = ( -/obj/structure/table, -/obj/item/toy/foamblade, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) "lNQ" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/firealarm/directional/north, @@ -34461,6 +34755,11 @@ /obj/effect/landmark/navigate_destination/court, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lOg" = ( +/obj/effect/spawner/random/structure/grille, +/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, @@ -34514,6 +34813,30 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"lPv" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table, +/obj/item/folder/red{ + pixel_y = 3 + }, +/obj/item/food/monkeycube/bee{ + name = "monkey cube"; + pixel_y = 17 + }, +/obj/item/food/monkeycube/chicken{ + pixel_y = 15; + pixel_x = 6; + name = "monkey cube"; + desc = "A new Nanotrasen classic, the monkey cube. Tastes like everything!" + }, +/obj/item/wirecutters{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "lPC" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -34530,12 +34853,6 @@ /obj/machinery/announcement_system, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"lPK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lPO" = ( /obj/structure/table, /obj/item/surgery_tray/full{ @@ -34598,12 +34915,6 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lRc" = ( -/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/cargo/storage) "lRh" = ( /obj/effect/landmark/start/scientist, /obj/machinery/light/small/directional/north, @@ -34745,14 +35056,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/execution/transfer) -"lTv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "lTy" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -34771,14 +35074,6 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) -"lTN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "lTU" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -34801,17 +35096,6 @@ "lUo" = ( /turf/open/floor/iron, /area/station/science/lobby) -"lUz" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "lUE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34855,14 +35139,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"lVv" = ( -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/wood, -/area/station/engineering/break_room) "lVy" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 8 @@ -34920,40 +35196,21 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"lWF" = ( -/obj/structure/disposalpipe/segment, +"lWE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"lWR" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/wrapping_paper{ - pixel_x = -3; - pixel_y = 5 - }, -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) -"lWU" = ( -/obj/structure/table/wood, +/obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 6 +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 3 }, -/obj/item/dest_tagger{ - pixel_x = -11; - pixel_y = 4 +/obj/item/gps{ + pixel_y = 5; + pixel_x = 13 }, -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) +/obj/item/storage/toolbox/emergency/old, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "lWV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34971,10 +35228,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/security/checkpoint/supply) -"lXf" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "lXg" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -34989,12 +35242,6 @@ dir = 4 }, /area/station/science/xenobiology) -"lXn" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/closet/secure_closet/quartermaster, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "lXw" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -35023,6 +35270,15 @@ }, /turf/open/floor/wood/tile, /area/station/science/lower) +"lXM" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "lXR" = ( /obj/structure/disposalpipe/junction, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35053,14 +35309,17 @@ /obj/machinery/light/warm/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) -"lXY" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"lYe" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/effect/turf_decal/stripes/end, +/obj/structure/disposaloutlet{ dir = 1 }, -/obj/item/banner/cargo, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) +/turf/open/floor/plating, +/area/station/cargo/sorting) "lYf" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35085,28 +35344,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"lYt" = ( -/obj/structure/table/wood/fancy/green, -/obj/item/storage/wallet{ - pixel_x = -3; - pixel_y = 10 - }, -/obj/item/cigarette/cigar{ - pixel_x = -1; - pixel_y = -2 - }, -/obj/item/lighter{ - pixel_x = 11; - pixel_y = -7 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) -"lYw" = ( -/obj/structure/hedge, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "lYF" = ( /obj/effect/turf_decal/siding/yellow{ dir = 9 @@ -35175,6 +35412,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"lZs" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/obj/effect/turf_decal/siding/end{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "lZt" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -35235,17 +35484,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"lZP" = ( -/obj/structure/table, -/obj/item/clothing/head/fedora/det_hat/minor{ - pixel_x = 7; - pixel_y = 9 - }, -/obj/item/toy/eightball{ - pixel_x = -4 - }, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) "lZR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/duct, @@ -35258,6 +35496,12 @@ }, /turf/open/floor/grass, /area/station/service/chapel) +"mac" = ( +/obj/structure/hedge, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "mae" = ( /obj/structure/cable, /turf/closed/wall, @@ -35435,6 +35679,10 @@ /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) +"mdp" = ( +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/security/prison/garden) "mdr" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, @@ -35450,14 +35698,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"mdX" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/conveyor_switch{ - id = "mining"; - pixel_x = -10 - }, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) "meh" = ( /obj/structure/railing{ dir = 4 @@ -35469,6 +35709,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"mek" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/holopad, +/mob/living/basic/chick/permanent{ + name = "Morgan" + }, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) "meu" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain) @@ -35674,6 +35922,20 @@ /obj/item/clothing/under/costume/skeleton, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"mjh" = ( +/obj/structure/railing{ + dir = 4 + }, +/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/machinery/holopad, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "mjr" = ( /obj/machinery/vending/dinnerware, /obj/machinery/requests_console/auto_name/directional/south, @@ -35720,13 +35982,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"mjX" = ( -/obj/structure/closet/secure_closet/security/cargo, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "mka" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35766,28 +36021,11 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white/textured_large, /area/station/command/heads_quarters/cmo) -"mkF" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "mkN" = ( /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/fore/greater) -"mkO" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "mkZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wood{ @@ -35810,6 +36048,14 @@ /obj/structure/alien/weeds, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"mln" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/machinery/light/small/directional/west, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_y = -20 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "mlp" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/siding/wood{ @@ -35817,13 +36063,6 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"mlr" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) "mls" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35921,6 +36160,10 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/electrical) +"mmZ" = ( +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mnb" = ( /obj/effect/turf_decal/stripes/white/corner{ dir = 4 @@ -36003,12 +36246,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) -"mnZ" = ( -/obj/machinery/computer/cargo{ - dir = 4 +"mnU" = ( +/obj/structure/hedge, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/plating, -/area/station/cargo/storage) +/obj/machinery/light_switch/directional/east, +/obj/machinery/light/warm/directional/east, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "mog" = ( /obj/machinery/oven/range, /obj/machinery/airalarm/directional/north, @@ -36040,6 +36289,23 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron_white, /area/station/science/research) +"moq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/sorting) "mos" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, @@ -36085,6 +36351,26 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"mpL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/crowbar/large{ + pixel_y = 18 + }, +/obj/item/clothing/head/costume/pirate{ + pixel_x = 15; + pixel_y = -3 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/wrench{ + pixel_y = 15 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "mpQ" = ( /obj/structure/bed{ dir = 4 @@ -36113,13 +36399,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"mqz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/vending/wardrobe/curator_wardrobe, -/turf/open/floor/iron/grimy, -/area/station/service/library) "mqH" = ( /obj/structure/cable, /obj/effect/landmark/generic_maintenance_landmark, @@ -36146,43 +36425,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"mrn" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "mrt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"mrP" = ( -/obj/structure/disposalpipe/segment{ +"mrY" = ( +/obj/effect/turf_decal/siding/wood{ dir = 6 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/obj/item/folder/red, -/obj/item/food/monkeycube/bee{ - name = "monkey cube"; - pixel_y = 17 - }, -/obj/item/food/monkeycube/chicken{ - pixel_y = 15; - pixel_x = 6; - name = "monkey cube"; - desc = "A new Nanotrasen classic, the monkey cube. Tastes like everything!" - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "msg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36202,12 +36458,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"msq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central/fore) "mss" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -36217,17 +36467,15 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"msy" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Cargo Bay" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/storage) "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, @@ -36402,15 +36650,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) -"mwK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "mwN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -36438,6 +36677,15 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/warden) +"mxh" = ( +/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/cargo/lobby) "mxp" = ( /obj/structure/table, /obj/structure/railing/corner{ @@ -36685,6 +36933,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"mCV" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"mCW" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/item/banner/cargo, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "mDf" = ( /obj/structure/chair/wood{ dir = 8 @@ -36700,6 +36963,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"mDk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mDl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36805,6 +37075,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) +"mFd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/chapel, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "mFh" = ( /obj/effect/decal/cleanable/glass, /obj/structure/table/reinforced/rglass, @@ -36862,6 +37141,13 @@ /obj/structure/cable, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"mFQ" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "mGg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36929,6 +37215,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"mGI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/cargo/lobby) "mGM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/singular/directional/south, @@ -37020,6 +37312,20 @@ dir = 1 }, /area/station/science/lower) +"mIp" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mIA" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -37050,13 +37356,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"mIE" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/stone, -/area/station/hallway/primary/port) "mIP" = ( /obj/structure/chair{ dir = 8 @@ -37195,15 +37494,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"mKB" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #1" - }, -/obj/effect/turf_decal/delivery, -/mob/living/simple_animal/bot/mulebot, -/turf/open/floor/iron, -/area/station/cargo/storage) "mKD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ @@ -37211,6 +37501,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"mKR" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/camera/autoname/directional/south, +/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, @@ -37239,6 +37537,11 @@ }, /turf/open/floor/iron, /area/station/security/processing) +"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" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -37368,6 +37671,14 @@ }, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"mOc" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "mOk" = ( /obj/structure/table/glass, /obj/item/folder/blue{ @@ -37477,16 +37788,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"mQh" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad2"; - name = "Unloading Conveyor"; - pixel_x = -13; - pixel_y = 3 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "mQz" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/office{ @@ -37538,6 +37839,12 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"mRQ" = ( +/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/cargo/storage) "mSa" = ( /turf/open/floor/iron, /area/station/commons/fitness/locker_room) @@ -37592,11 +37899,6 @@ /obj/item/clothing/head/costume/foilhat, /turf/open/floor/plating, /area/station/cargo/boutique) -"mTe" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "mTl" = ( /turf/closed/wall, /area/station/cargo/sorting) @@ -37690,16 +37992,6 @@ }, /turf/open/floor/wood/parquet, /area/station/service/library) -"mUm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mUn" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -37710,13 +38002,6 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"mUt" = ( -/obj/structure/chair/stool/directional/south, -/obj/structure/mirror/directional/north, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron/grimy, -/area/station/cargo/boutique) "mUO" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -37828,6 +38113,17 @@ }, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) +"mWU" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mWY" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/sofa/bench/left{ @@ -37836,6 +38132,13 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/processing) +"mXb" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/tree/jungle/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "mXk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/singular/directional/east, @@ -37918,6 +38221,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"mYE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/south, +/obj/item/storage/belt/utility, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/tools) "mYP" = ( /obj/structure/table, /obj/item/storage/bag/tray/cafeteria{ @@ -37978,16 +38290,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"mZg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mZA" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/public/glass{ @@ -38023,6 +38325,9 @@ /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"naB" = ( +/turf/closed/wall/rust, +/area/station/cargo/lobby) "naC" = ( /obj/structure/cable, /obj/structure/broken_flooring/singular/directional/south, @@ -38042,6 +38347,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) +"naK" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engineering Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, +/turf/open/floor/iron/smooth_half{ + dir = 8 + }, +/area/station/maintenance/department/engine/atmos) "naN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -38068,10 +38382,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"nbN" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "ncb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -38250,6 +38560,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"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/cable, /obj/structure/disposalpipe/segment{ @@ -38428,6 +38744,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"njv" = ( +/obj/structure/reagent_dispensers/wall/peppertank/directional/west, +/obj/machinery/computer/records/security{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "njA" = ( /obj/machinery/photocopier, /obj/structure/sign/poster/official/random/directional/north, @@ -38483,6 +38809,14 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nku" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) "nkw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -38606,26 +38940,29 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) +"nmE" = ( +/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/qm) "nmH" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, /area/station/engineering/main) -"nmX" = ( -/obj/machinery/power/apc/auto_name/directional/north, +"nmV" = ( /obj/structure/cable, -/turf/open/floor/mineral/titanium, -/area/station/command/heads_quarters/ce) -"nnc" = ( +/obj/effect/decal/cleanable/dirt, /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/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"nmX" = ( +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "nnd" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -38775,21 +39112,6 @@ /obj/structure/sign/departments/court/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"nqa" = ( -/obj/machinery/door/airlock/grunge{ - name = "Janitorial Closet" - }, -/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, -/obj/effect/mapping_helpers/airlock/access/any/service/janitor, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/service/janitor) "nqd" = ( /obj/machinery/shower/directional/east, /obj/effect/turf_decal/trimline/blue/end{ @@ -38875,20 +39197,6 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"nry" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/west, -/obj/machinery/computer/records/security{ - dir = 4 - }, -/obj/machinery/requests_console/directional/south{ - department = "Security"; - name = "Security Requests Console" - }, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "nsc" = ( /obj/structure/cable, /obj/item/kirbyplants/organic/applebush, @@ -38940,17 +39248,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nsL" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "nsO" = ( /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/south, @@ -38966,11 +39263,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"nsX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) "nte" = ( /obj/structure/table/glass, /obj/machinery/recharger, @@ -39016,10 +39308,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ntJ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "ntK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39052,15 +39340,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/commons/fitness/recreation/entertainment) -"nua" = ( -/obj/structure/disposalpipe/segment, -/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 = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "num" = ( /obj/effect/turf_decal/sand/plating, /turf/closed/wall, @@ -39178,6 +39457,23 @@ }, /turf/open/floor/iron/recharge_floor, /area/station/maintenance/port/aft) +"nwb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) +"nwf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "nwj" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -39212,14 +39508,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"nxo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "nxD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39249,15 +39537,6 @@ /obj/machinery/keycard_auth/wall_mounted/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"nxX" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "nyd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -39317,14 +39596,6 @@ dir = 4 }, /area/station/science/lower) -"nyE" = ( -/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, -/area/station/cargo/storage) "nyH" = ( /turf/closed/wall, /area/station/hallway/primary/aft) @@ -39333,22 +39604,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"nyS" = ( -/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/door/airlock/command/glass{ - name = "Quartermaster's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/command/heads_quarters/qm) "nyT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39369,6 +39624,18 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"nzd" = ( +/obj/structure/filingcabinet, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) +"nzy" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nzA" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39385,6 +39652,44 @@ "nzL" = ( /turf/closed/wall, /area/station/science/ordnance/testlab) +"nzO" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/item/stamp/denied{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/stamp{ + pixel_x = -7; + pixel_y = 0 + }, +/obj/item/radio{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) +"nzS" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_x = 8; + pixel_y = 24 + }, +/obj/machinery/button/door/incinerator_vent_atmos_main{ + pixel_x = 8; + pixel_y = 36 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "nzU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39755,12 +40060,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/grass, /area/station/medical/virology) -"nGu" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "nGA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -39784,6 +40083,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"nHb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/vending/wardrobe/curator_wardrobe, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "nHd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -39792,36 +40100,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"nHp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/item/radio{ - desc = "An old handheld radio. You could use it, if you really wanted to."; - icon_state = "radio"; - name = "old radio"; - pixel_x = -6; - pixel_y = 10 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) -"nHq" = ( -/obj/structure/table/reinforced, -/obj/item/folder/yellow{ - pixel_x = 13; - pixel_y = 1 - }, -/obj/item/flashlight/lamp{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = 15; - pixel_y = 7 - }, -/turf/open/floor/wood, -/area/station/engineering/break_room) "nHu" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -39964,6 +40242,17 @@ }, /turf/open/floor/plating, /area/station/command/meeting_room) +"nJK" = ( +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 9 + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "nJU" = ( /obj/machinery/conveyor{ dir = 4; @@ -39983,13 +40272,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"nKe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nKj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40004,6 +40286,14 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"nLi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "nLk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40018,12 +40308,6 @@ }, /turf/open/floor/catwalk_floor/iron_white, /area/station/command/heads_quarters/rd) -"nLH" = ( -/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/warehouse) "nLJ" = ( /obj/machinery/portable_atmospherics/canister, /obj/effect/turf_decal/bot{ @@ -40047,6 +40331,23 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"nLQ" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/cell_charger{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + pixel_x = 14; + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "nMk" = ( /obj/machinery/power/emitter/welded{ dir = 1 @@ -40075,13 +40376,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"nMV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "nMW" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/red/line{ @@ -40178,19 +40472,17 @@ /obj/effect/turf_decal/tile/dark_red/fourcorners, /turf/open/floor/iron, /area/station/security/brig/entrance) +"nPg" = ( +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "nPl" = ( /obj/machinery/power/supermatter_crystal/engine, /turf/open/floor/engine, /area/station/engineering/supermatter) -"nPt" = ( -/obj/structure/disposalpipe/segment, -/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, -/area/station/cargo/storage) "nPu" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -40240,9 +40532,16 @@ }, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; - name = "Kitchen Shutters" + name = "Kitchen Shutters"; + dir = 4 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/siding{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "nQa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40313,19 +40612,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"nQE" = ( -/obj/structure/railing{ - dir = 4 - }, -/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/machinery/holopad, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) "nQH" = ( /obj/structure/closet{ name = "Paramedic Supplies" @@ -40349,12 +40635,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"nRa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "nRd" = ( /obj/structure/cable, /obj/effect/spawner/structure/window, @@ -40422,12 +40702,6 @@ "nST" = ( /turf/open/floor/iron/small, /area/station/maintenance/department/engine) -"nSY" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "nTa" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40437,22 +40711,6 @@ }, /turf/open/floor/iron/textured_half, /area/station/hallway/primary/central/fore) -"nTi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/button/door/directional/east{ - id = "qm_warehouse"; - name = "Warehouse Door Control"; - pixel_x = -24; - pixel_y = 24; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "nTt" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/computer/shuttle/mining/common{ @@ -40519,13 +40777,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"nUx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) "nUK" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/barricade/wooden/crude, @@ -40740,12 +40991,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) -"nYQ" = ( -/obj/machinery/vending/wardrobe/cargo_wardrobe, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "nZh" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -40854,6 +41099,23 @@ /obj/item/stock_parts/power_store/cell/high, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"oba" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/flashlight/lamp{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 15; + pixel_y = 7 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/break_room) "obb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40874,6 +41136,10 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) +"obk" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) "obq" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -40887,13 +41153,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"obH" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/station/cargo/sorting) "obN" = ( /obj/structure/cable, /obj/effect/spawner/random/maintenance, @@ -40932,16 +41191,6 @@ /obj/machinery/computer/records/security, /turf/open/floor/iron, /area/station/security/brig/entrance) -"ocZ" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "odh" = ( /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/open/floor/plating, @@ -40978,12 +41227,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) -"oem" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "oer" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -41066,6 +41309,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/captain/private) +"ogq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ogr" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -41134,15 +41386,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"ohb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/reagent_containers/pill, -/obj/item/reagent_containers/pill/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "ohf" = ( /obj/structure/reagent_dispensers/fueltank/large, /obj/effect/turf_decal/bot{ @@ -41150,13 +41393,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"ohj" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "ohk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41226,12 +41462,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs) -"ohN" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/firealarm/directional/west, -/obj/machinery/vending/cytopro, -/turf/open/floor/iron/white, -/area/station/science/cytology) "oig" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -41247,6 +41477,13 @@ /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 @@ -41256,16 +41493,6 @@ /obj/item/storage/bag/xeno, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"oiw" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/random/directional/south, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "oix" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -41280,13 +41507,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"oiL" = ( -/obj/machinery/computer/cargo{ - dir = 1 - }, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/plating, -/area/station/cargo/office) "oiP" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -41784,13 +42004,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"otG" = ( -/obj/structure/filingcabinet/filingcabinet, -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "otJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/neutral/line{ @@ -41924,13 +42137,6 @@ dir = 1 }, /area/station/command/gateway) -"owl" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "owm" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41968,13 +42174,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"owM" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "owP" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/delivery/white, @@ -42034,13 +42233,20 @@ }, /turf/open/floor/wood/parquet, /area/station/service/library) -"oxw" = ( +"oxt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "oyn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/public/glass{ @@ -42048,18 +42254,15 @@ }, /turf/open/floor/iron/textured_half, /area/station/maintenance/hallway/abandoned_command) -"oyp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "oyq" = ( /obj/machinery/light/warm/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"oyv" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron/smooth, +/area/station/cargo/lobby) "oyz" = ( /obj/structure/flora/grass/jungle/b/style_3, /obj/effect/turf_decal/weather/dirt{ @@ -42068,6 +42271,13 @@ /obj/structure/cable, /turf/open/floor/grass, /area/station/service/chapel) +"oyH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/storage) "oyQ" = ( /turf/closed/wall, /area/station/science/auxlab/firing_range) @@ -42087,10 +42297,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/circuit, /area/station/tcommsat/server) -"oyZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "ozn" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -42193,6 +42399,20 @@ }, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) +"oBO" = ( +/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/airlock_controller/incinerator_atmos{ + pixel_x = -40; + pixel_y = -8 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "oBP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42268,9 +42488,6 @@ /obj/machinery/air_sensor/helium_tank, /turf/open/floor/engine/helium, /area/station/ai_monitored/turret_protected/ai) -"oCG" = ( -/turf/closed/wall/rust, -/area/station/cargo/bitrunning/den) "oCM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/pile/directional/east, @@ -42366,6 +42583,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"oEL" = ( +/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/cargo/storage) "oFc" = ( /obj/effect/spawner/random/trash, /obj/machinery/light/small/directional/west, @@ -42381,23 +42607,6 @@ dir = 4 }, /area/station/maintenance/starboard/greater) -"oFi" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/conveyor{ - dir = 1; - id = "packageSort2" - }, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/plating, -/area/station/cargo/sorting) "oFu" = ( /turf/closed/wall, /area/station/security/office) @@ -42688,10 +42897,6 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"oJR" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "oKb" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -42760,6 +42965,12 @@ }, /turf/open/floor/iron/white/small, /area/station/commons/toilet/restrooms) +"oLE" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "oLV" = ( /obj/machinery/camera/autoname/directional/south, /obj/structure/cable, @@ -42819,13 +43030,11 @@ dir = 8 }, /area/station/science/research) -"oNW" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +"oNQ" = ( +/obj/item/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/station/service/chapel/office) "oNX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42841,6 +43050,13 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"oOf" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "oOg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, @@ -42863,6 +43079,14 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"oOm" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/stool/directional/east, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "oOp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/cold/directional/east, @@ -42952,34 +43176,9 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/hallway/secondary/service) -"oPi" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/east{ - id = "qm_warehouse_aft"; - name = "Warehouse Door Control"; - pixel_x = -24; - pixel_y = -23; - req_access = list("cargo") - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "oPj" = ( /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"oPo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "oPy" = ( /obj/structure/bookcase/random, /obj/structure/sign/painting/library{ @@ -43060,6 +43259,16 @@ /obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, /area/station/engineering/atmos/pumproom) +"oQP" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "oRj" = ( /obj/effect/turf_decal/siding/yellow{ dir = 8 @@ -43172,16 +43381,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"oSg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red/corner, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "oSv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/rdconsole{ @@ -43189,12 +43388,12 @@ }, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"oSx" = ( -/obj/effect/turf_decal/siding/red, -/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) +"oSB" = ( +/obj/machinery/vending/wardrobe/chap_wardrobe, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "oTf" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -43462,10 +43661,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"oYf" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "oYi" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -43571,6 +43766,18 @@ /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, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "pan" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -43689,6 +43896,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"pbV" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "pca" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/red/line{ @@ -43828,17 +44041,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"pep" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"peE" = ( +/obj/structure/closet, +/turf/open/floor/iron/smooth, +/area/station/cargo/lobby) "peN" = ( /obj/structure/lattice, /obj/machinery/camera/motion/directional/north{ @@ -44046,21 +44252,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/command/corporate_showroom) -"pih" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/window/spawner/directional/west, -/obj/effect/turf_decal/stripes/end, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/machinery/status_display/supply{ - pixel_x = 32 - }, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/plating, -/area/station/cargo/sorting) "pil" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock{ @@ -44144,23 +44335,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"pjG" = ( -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron, -/area/station/cargo/miningfoundry) -"pjL" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pjT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44311,6 +44485,12 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"pmD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/red/half/contrasted, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "pmE" = ( /obj/effect/turf_decal/tile/yellow/diagonal_centre, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44375,11 +44555,6 @@ /obj/structure/flora/bush/jungle/c/style_random, /turf/open/floor/grass, /area/station/service/chapel) -"pnO" = ( -/obj/structure/cable, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "pnQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -44462,19 +44637,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/hallway/primary/fore) -"poM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "QMLoad"; - name = "Loading Conveyor"; - pixel_x = -13; - pixel_y = 19 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "poU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44536,6 +44698,16 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"ppP" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ppQ" = ( /obj/effect/turf_decal/stripes/box, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -44567,15 +44739,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"pqv" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "pqK" = ( /obj/structure/cable, /obj/machinery/door/window/left/directional/south, @@ -44604,10 +44767,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"prd" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "prf" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -44769,6 +44928,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"puk" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/lobby) "pus" = ( /obj/effect/turf_decal/box/red/corners, /obj/effect/turf_decal/stripes/white/line{ @@ -44826,16 +44989,6 @@ }, /turf/open/floor/iron/white/side, /area/station/science/research) -"pwJ" = ( -/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, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) "pwN" = ( /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) @@ -44907,13 +45060,6 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/service/chapel) -"pyA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "pyF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44931,6 +45077,13 @@ "pzd" = ( /turf/closed/wall, /area/station/commons/fitness/recreation/entertainment) +"pzk" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pzy" = ( /obj/structure/table, /obj/item/storage/box/prisoner{ @@ -45042,6 +45195,22 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"pBo" = ( +/obj/structure/table/wood, +/obj/item/folder/white{ + pixel_x = -3; + pixel_y = 0 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/carpet, +/area/station/maintenance/hallway/abandoned_recreation) "pBu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -45396,28 +45565,11 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"pHo" = ( -/obj/structure/rack, -/obj/item/storage/medkit/regular, -/turf/open/floor/plating, -/area/station/cargo/storage) "pHq" = ( /obj/machinery/camera/autoname/directional/south, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"pHs" = ( -/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/red{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pHw" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -45496,30 +45648,16 @@ }, /turf/open/floor/iron/dark/small, /area/station/commons/fitness/locker_room) -"pIi" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/rack, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -8; - pixel_y = 11 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/pickaxe, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 8 +"pIg" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/cargo/miningfoundry) +/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/cargo/storage) "pIn" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -45529,6 +45667,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"pIo" = ( +/obj/machinery/computer/order_console/bitrunning{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "pIp" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/stripes/white/line{ @@ -45575,12 +45719,6 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron, /area/station/cargo/storage) -"pJn" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/cargo/storage) "pJr" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plating, @@ -45615,13 +45753,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"pJQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "pKi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -45793,6 +45924,26 @@ }, /turf/open/floor/plating, /area/station/engineering/gravity_generator) +"pMX" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/service/chapel/office) +"pNa" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/sorting) "pNh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45840,18 +45991,6 @@ }, /turf/closed/wall, /area/station/commons/fitness/locker_room) -"pOg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/cargo/office) "pOi" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -45969,16 +46108,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/engine, /area/station/science/xenobiology) -"pPx" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "pPK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46091,6 +46220,10 @@ /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/open/floor/iron/textured_half, /area/station/security/checkpoint/customs/auxiliary) +"pRO" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/smooth, +/area/station/cargo/lobby) "pRQ" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, @@ -46138,15 +46271,6 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"pSI" = ( -/obj/machinery/door/morgue{ - name = "Private Study"; - req_access = list("library") - }, -/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/maintenance/central/greater) "pSN" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/holopad, @@ -46208,6 +46332,12 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"pTK" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/station/maintenance/department/engine/atmos) "pTZ" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 @@ -46230,6 +46360,7 @@ /obj/machinery/door/airlock/engineering/glass{ name = "Engineering Foyer" }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) "pUx" = ( @@ -46345,6 +46476,12 @@ }, /turf/open/floor/iron/dark/side, /area/station/science/xenobiology) +"pVV" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/stairs{ + dir = 1 + }, +/area/station/cargo/lobby) "pWl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46581,10 +46718,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"pZu" = ( -/obj/structure/hedge, -/turf/open/floor/plating, -/area/station/cargo/storage) +"pZt" = ( +/obj/structure/chair/stool/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "pZv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -46595,18 +46733,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"pZz" = ( -/obj/structure/rack, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = -3 +"pZC" = ( +/obj/structure/table/wood, +/obj/item/folder{ + pixel_x = 1; + pixel_y = 4 }, -/obj/item/clothing/gloves/cargo_gauntlet, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 3 +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/station/cargo/storage) +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/sign/poster/official/tactical_game_cards/directional/north, +/turf/open/floor/carpet, +/area/station/maintenance/hallway/abandoned_recreation) "pZK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -46982,14 +47124,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/commons/toilet/restrooms) -"qgK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"qgX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/tools) +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"qgZ" = ( +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "qhh" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -47008,16 +47153,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/science/cytology) -"qht" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "CO2 to Pure" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "qhD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47047,6 +47182,15 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/service/bar) +"qhU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "qhV" = ( /obj/structure/table, /obj/machinery/fax{ @@ -47146,11 +47290,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"qjn" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "qjp" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -47240,6 +47379,13 @@ /obj/machinery/power/terminal, /turf/open/floor/iron/smooth_large, /area/station/engineering/supermatter/room) +"qkC" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "qkK" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -47315,7 +47461,7 @@ /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) "qmz" = ( @@ -47390,6 +47536,16 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) +"qnU" = ( +/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, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "qoj" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/window/right/directional/west{ @@ -47474,6 +47630,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"qqB" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "QM #2" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/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, +/area/station/cargo/storage) "qqC" = ( /obj/structure/chair/comfy/carp{ dir = 1 @@ -47512,6 +47681,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"qrJ" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) +"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, @@ -47567,15 +47745,6 @@ "qtd" = ( /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"qto" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qtE" = ( /obj/structure/bed{ dir = 4 @@ -47600,18 +47769,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"qul" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/light_switch/directional/east, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 4 +"qtW" = ( +/obj/machinery/door/morgue{ + name = "Private Study"; + req_access = list("library") }, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) +/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_dark, +/area/station/maintenance/central/greater) "quq" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/closet/crate/cardboard, @@ -47777,14 +47944,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/server) -"qxF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/engineering/break_room) "qxN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48114,6 +48273,34 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"qCG" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/structure/table, +/obj/structure/railing{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio"; + pixel_x = -4; + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_x = 15; + pixel_y = 8 + }, +/obj/effect/spawner/random/food_or_drink/donuts{ + pixel_x = 8; + pixel_y = 0 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/lobby) "qCJ" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -48266,11 +48453,6 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"qDP" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qEe" = ( /turf/open/floor/iron/white/side{ dir = 8 @@ -48698,24 +48880,32 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) -"qMw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/landmark/navigate_destination/chapel, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qMG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/department/electrical) +"qMI" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/cargo/storage) "qMK" = ( /turf/closed/wall, /area/station/command/bridge) +"qMM" = ( +/obj/machinery/firealarm/directional/south, +/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, +/area/station/cargo/storage) "qMP" = ( /obj/structure/closet/firecloset, /obj/structure/sign/poster/official/random/directional/north, @@ -48886,13 +49076,6 @@ dir = 1 }, /area/station/science/lower) -"qQP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qQR" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/south, @@ -48924,9 +49107,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"qRq" = ( -/turf/closed/wall/rust, -/area/station/security/checkpoint/supply) "qRs" = ( /obj/structure/chair/stool/directional/north, /obj/machinery/light/small/directional/south, @@ -49007,27 +49187,17 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) +"qSF" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qSH" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"qSS" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/supply) "qSZ" = ( /obj/structure/hedge, /obj/machinery/light/cold/directional/west, @@ -49099,6 +49269,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/cargo/boutique) +"qTS" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qUa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49465,6 +49640,17 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/dark/small, /area/station/security/tram) +"qYq" = ( +/obj/machinery/door/airlock/wood{ + desc = "Sessions held every Friday."; + name = "The Sunfinder Society" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/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/port/greater) "qYr" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -49514,6 +49700,12 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"qYG" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "qYK" = ( /obj/structure/disposalpipe/trunk, /obj/structure/window/reinforced/spawner/directional/west, @@ -49606,6 +49798,26 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) +"qZX" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/landmark/event_spawn, +/obj/structure/table, +/obj/item/reagent_containers/cup/bottle/welding_fuel{ + pixel_y = -3; + pixel_x = 13 + }, +/obj/item/stack/sheet/iron/ten{ + pixel_y = -6; + pixel_x = -2 + }, +/obj/item/hand_labeler{ + pixel_y = -15 + }, +/obj/item/reagent_containers/cup/watering_can{ + pixel_y = 12 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "raf" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -49710,6 +49922,14 @@ }, /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{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "rbW" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -49869,6 +50089,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"rev" = ( +/obj/machinery/requests_console/directional/south{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/radio/off{ + pixel_x = -6 + }, +/obj/machinery/recharger{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "rex" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/effect/decal/cleanable/dirt, @@ -49968,6 +50206,11 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/glass, /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, +/turf/open/floor/iron, +/area/station/cargo/storage) "rfT" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 5 @@ -50071,6 +50314,12 @@ /obj/structure/chair/office, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"rhF" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "rhH" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -50086,15 +50335,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"rie" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) -"rif" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) "rig" = ( /obj/machinery/door/poddoor/massdriver_chapel, /turf/open/floor/plating, @@ -50275,6 +50515,14 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"rmc" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/structure/disposalpipe/segment, +/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/cargo/sorting) "rmk" = ( /obj/effect/turf_decal/weather/dirt, /obj/structure/flora/bush/jungle/c/style_3{ @@ -50337,13 +50585,6 @@ /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"roi" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "roq" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/wood/tile, @@ -50450,9 +50691,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"rqq" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/office) "rqt" = ( /obj/machinery/airalarm/directional/north, /obj/effect/decal/cleanable/dirt, @@ -50498,10 +50736,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) -"rrq" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/station/cargo/office) "rrt" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -50515,6 +50749,12 @@ }, /turf/open/floor/iron/small, /area/station/engineering/atmos/pumproom) +"rrJ" = ( +/obj/structure/filingcabinet/filingcabinet, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "rrQ" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/effect/turf_decal/tile/dark_red/half/contrasted, @@ -50625,6 +50865,17 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) +"rtH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/cargo/storage) "rtI" = ( /turf/open/floor/iron/white/corner{ dir = 8 @@ -50707,14 +50958,6 @@ "ruD" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"ruR" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "ruS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50986,6 +51229,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"ryX" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "QM #1" + }, +/obj/effect/turf_decal/delivery, +/mob/living/simple_animal/bot/mulebot, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "rza" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -51035,15 +51288,17 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"rzL" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/machinery/conveyor{ - id = "mining"; - dir = 10 +"rzX" = ( +/obj/structure/hedge, +/obj/machinery/status_display/supply{ + pixel_y = -32 }, -/obj/machinery/bouldertech/refinery, -/turf/open/floor/iron, -/area/station/cargo/miningfoundry) +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/cargo/storage) "rzZ" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -51114,10 +51369,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"rBh" = ( -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rBq" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -51202,17 +51453,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/lone, /area/station/service/abandoned_gambling_den) -"rDc" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 6 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/engineering/break_room) "rDj" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -51223,6 +51463,14 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"rDs" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Filing Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/lobby) "rDv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/cold/directional/west, @@ -51302,6 +51550,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rEV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/prison/garden) "rEW" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -51322,25 +51575,6 @@ dir = 1 }, /area/station/command/heads_quarters/hop) -"rFa" = ( -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/disposal/delivery_chute{ - name = "Service Deliveries" - }, -/obj/structure/sign/departments/botany/directional/north, -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/structure/plasticflaps{ - name = "Service Deliveries" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/delivery/white, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rFb" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /obj/effect/turf_decal/tile/yellow, @@ -51353,6 +51587,12 @@ /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, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rFn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral, @@ -51370,6 +51610,17 @@ dir = 4 }, /area/station/science/ordnance/testlab) +"rFv" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/hedge, +/obj/effect/turf_decal/siding/thinplating_new/end{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) "rFy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -51401,41 +51652,16 @@ dir = 6 }, /area/station/science/research) -"rFP" = ( -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/disposal/delivery_chute{ - name = "Security Deliveries" - }, -/obj/structure/sign/departments/security/directional/north, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/plasticflaps{ - name = "Security Deliveries" - }, -/obj/effect/turf_decal/delivery/white, -/turf/open/floor/iron, -/area/station/cargo/sorting) +"rFU" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "rFV" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rFW" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/delivery_chute{ - name = "Engineering Deliveries" - }, -/obj/structure/sign/departments/engineering/directional/north, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/plasticflaps{ - name = "Engineering Deliveries" - }, -/obj/effect/turf_decal/delivery/white, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rGp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51446,19 +51672,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"rGq" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/delivery_chute{ - name = "Science Deliveries" - }, -/obj/structure/sign/departments/science/directional/north, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/plasticflaps{ - name = "Science Deliveries" - }, -/obj/effect/turf_decal/delivery/white, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rGB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -51475,10 +51688,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"rGN" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "rGO" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -51606,6 +51815,30 @@ }, /turf/open/floor/grass, /area/station/science/xenobiology) +"rJB" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/photocopier, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) +"rJL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"rJQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "rJW" = ( /obj/machinery/suit_storage_unit/hos, /obj/effect/decal/cleanable/dirt, @@ -51619,6 +51852,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rKn" = ( +/obj/structure/cable, +/obj/item/banner/cargo, +/turf/open/floor/iron/smooth, +/area/station/command/heads_quarters/qm) "rKv" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, @@ -51664,6 +51902,13 @@ }, /turf/open/floor/engine, /area/station/science/explab) +"rLp" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "rLr" = ( /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, @@ -51919,6 +52164,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"rPM" = ( +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/storage) "rPT" = ( /obj/structure/chair/stool/bar/directional/east, /obj/effect/turf_decal/siding/red/corner{ @@ -52016,6 +52270,17 @@ dir = 1 }, /area/station/security/courtroom) +"rRl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/stool/directional/east, +/obj/effect/landmark/start/quartermaster, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "rRq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -52094,6 +52359,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"rSM" = ( +/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/port/greater) "rST" = ( /turf/closed/wall, /area/station/cargo/storage) @@ -52136,20 +52410,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"rTD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rTJ" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -52161,17 +52421,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rTU" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rUb" = ( /obj/structure/hedge, /obj/machinery/status_display/evac/directional/east, @@ -52195,17 +52444,6 @@ /obj/item/assembly/mousetrap/armed, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) -"rUt" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rUI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52253,12 +52491,19 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/effect/spawner/random/food_or_drink/condiment, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; - name = "Kitchen Shutters" + name = "Kitchen Shutters"; + dir = 4 }, -/obj/effect/spawner/random/food_or_drink/condiment, -/turf/open/floor/plating, +/obj/effect/turf_decal/siding{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "rVy" = ( /obj/effect/turf_decal/stripes/red/line{ @@ -52294,15 +52539,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rVQ" = ( -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/west, -/obj/effect/turf_decal/stripes/end{ - dir = 1 - }, -/obj/machinery/disposal/delivery_chute, -/turf/open/floor/plating, -/area/station/cargo/sorting) "rVT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -52310,6 +52546,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"rWa" = ( +/obj/structure/closet, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/smooth, +/area/station/cargo/lobby) "rWm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52357,6 +52598,13 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/ce) +"rWK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red/corner, +/turf/open/floor/iron, +/area/station/cargo/storage) "rWM" = ( /obj/structure/table, /obj/item/exodrone{ @@ -52391,6 +52639,19 @@ dir = 1 }, /area/station/cargo/bitrunning/den) +"rWR" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/delivery_chute{ + name = "Science Deliveries" + }, +/obj/structure/sign/departments/science/directional/north, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/plasticflaps{ + name = "Science Deliveries" + }, +/obj/effect/turf_decal/delivery/white, +/turf/open/floor/iron/dark/side, +/area/station/cargo/sorting) "rWU" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -52464,13 +52725,6 @@ /obj/structure/flora/bush/flowers_yw/style_3, /turf/open/floor/grass, /area/station/service/chapel) -"rYt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/science/cytology) "rYx" = ( /obj/effect/turf_decal/siding/wideplating/dark, /obj/structure/cable, @@ -52510,10 +52764,6 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) -"rZe" = ( -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/cargo/miningfoundry) "rZi" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -52592,15 +52842,6 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"sar" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "sas" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/carpet/blue, @@ -52857,6 +53098,14 @@ dir = 8 }, /area/station/engineering/main) +"sfL" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/cargo/sorting) "sge" = ( /obj/structure/reagent_dispensers/beerkeg, /obj/item/clothing/head/costume/festive, @@ -52874,42 +53123,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"sgC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"sgL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/mining/glass{ - name = "Cargo Bay" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/storage) "sgO" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, /area/station/maintenance/starboard/greater) -"sgR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sgY" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -52985,6 +53204,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner, /area/station/science/xenobiology) +"sjn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "sjp" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -53030,6 +53261,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"sjX" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/iron, +/area/station/cargo/storage) "sjY" = ( /obj/machinery/atmospherics/pipe/layer_manifold/purple/visible{ dir = 4 @@ -53111,13 +53347,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/genetics) -"skW" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "slp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53171,16 +53400,6 @@ "slY" = ( /turf/closed/wall, /area/station/maintenance/port/fore) -"slZ" = ( -/obj/structure/closet/secure_closet/detective, -/obj/machinery/requests_console/directional/north{ - department = "Detective's Office"; - name = "Detective Requests Console" - }, -/obj/machinery/light/small/directional/west, -/obj/structure/detectiveboard/directional/west, -/turf/open/floor/wood, -/area/station/security/detectives_office) "smf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53367,14 +53586,6 @@ }, /turf/open/floor/grass, /area/station/service/chapel) -"spo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "spx" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -53382,6 +53593,23 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/cryo) +"spA" = ( +/obj/structure/table, +/obj/machinery/light/warm/directional/south, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/spawner/random/food_or_drink/snack/lizard{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron, +/area/station/cargo/office) "spH" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/small, @@ -53492,9 +53720,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/maintenance/port/greater) -"srw" = ( -/turf/closed/wall/r_wall/rust, -/area/station/maintenance/department/electrical) "srx" = ( /obj/machinery/power/port_gen/pacman, /obj/effect/turf_decal/bot{ @@ -53861,17 +54086,6 @@ /obj/machinery/camera/directional/north, /turf/open/floor/grass, /area/station/service/chapel) -"swO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/north, -/mob/living/basic/chick/permanent{ - name = "Morgan" - }, -/turf/open/floor/grass, -/area/station/cargo/storage) "swT" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Engineering Maintenance" @@ -53886,21 +54100,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"swV" = ( -/obj/effect/mapping_helpers/broken_floor, -/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) "swW" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -53952,6 +54151,16 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"sxQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/lobby) "sxT" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -54002,15 +54211,6 @@ "syk" = ( /turf/closed/wall, /area/station/security/warden) -"syx" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "syA" = ( /obj/machinery/door/airlock/public/glass{ name = "Dorms" @@ -54054,23 +54254,37 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"sBf" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"sAy" = ( +/obj/structure/railing{ + 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, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/structure/railing, +/obj/structure/hedge, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/end{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) "sBm" = ( /obj/structure/transport/linear/tram, /obj/structure/fluff/tram_rail/floor, /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"sBn" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "sBq" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/closet/l3closet/janitor, @@ -54257,6 +54471,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"sEd" = ( +/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/smooth, +/area/station/cargo/warehouse) "sEn" = ( /obj/item/clothing/head/cone, /obj/item/clothing/head/cone{ @@ -54422,6 +54642,9 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"sHW" = ( +/turf/closed/wall, +/area/station/maintenance/hallway/abandoned_recreation) "sHX" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 6 @@ -54461,10 +54684,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"sJf" = ( -/obj/structure/water_source/puddle, -/turf/open/misc/asteroid, -/area/station/maintenance/starboard/greater) "sJg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/door/airlock/command{ @@ -54540,6 +54759,18 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"sKh" = ( +/obj/effect/landmark/start/librarian, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) +"sKj" = ( +/obj/machinery/light/warm/directional/east, +/obj/effect/turf_decal/tile/brown/anticorner{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/lobby) "sKk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54593,6 +54824,24 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/small, /area/station/security/warden) +"sKO" = ( +/obj/structure/table, +/obj/item/disk/cargo{ + pixel_x = 6 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = -3; + pixel_y = 11 + }, +/obj/item/pen{ + pixel_x = -9; + pixel_y = 0 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "sKS" = ( /obj/structure/sign/poster/official/pda_ad/directional/north, /obj/structure/tank_holder/extinguisher, @@ -54826,15 +55075,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) -"sOP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "sOR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ @@ -55002,6 +55242,10 @@ dir = 8 }, /area/station/science/lobby) +"sRs" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "sRD" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -55021,15 +55265,6 @@ "sRL" = ( /turf/closed/wall, /area/station/service/janitor) -"sRR" = ( -/obj/structure/disposalpipe/segment, -/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/cargo/storage) "sRT" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/siding/thinplating{ @@ -55064,26 +55299,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"sSx" = ( -/obj/structure/table, -/obj/item/restraints/handcuffs/cable{ - pixel_x = -1 - }, -/obj/item/paper/crumpled{ - pixel_x = 9; - pixel_y = -5 - }, -/obj/item/dest_tagger{ - pixel_x = 19; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"sSA" = ( -/obj/structure/table, -/obj/item/folder/yellow, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sSB" = ( /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) @@ -55098,24 +55313,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"sSU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/machinery/conveyor_switch/oneway{ - id = "packageSort2"; - name = "Sort and Deliver"; - pixel_x = 8; - pixel_y = 12 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sSW" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -55169,6 +55366,16 @@ /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/circuit, /area/station/tcommsat/server) +"sTN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/destructible/cult/item_dispenser/archives/library, +/obj/item/book/codex_gigas, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/library/private) "sTR" = ( /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/medical/general, @@ -55296,13 +55503,20 @@ "sVN" = ( /turf/closed/wall/r_wall, /area/station/security/prison/workout) -"sVO" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) +"sVQ" = ( +/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/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "sWc" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/chem_master, @@ -55337,6 +55551,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/cytology) +"sXj" = ( +/obj/machinery/air_sensor/mix_tank, +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "sXm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -55501,12 +55719,19 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/effect/spawner/random/food_or_drink/donuts, /obj/machinery/door/poddoor/shutters/preopen{ id = "kitchenshutters"; - name = "Kitchen Shutters" + name = "Kitchen Shutters"; + dir = 4 }, -/obj/effect/spawner/random/food_or_drink/donuts, -/turf/open/floor/plating, +/obj/effect/turf_decal/siding{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) "sZo" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -55718,9 +55943,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"tca" = ( -/turf/open/floor/carpet/donk, -/area/station/command/heads_quarters/qm) "tcz" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -55774,16 +55996,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/lockers) -"tdD" = ( -/obj/effect/turf_decal/stripes/line{ - 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) "tdE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -55935,6 +56147,13 @@ /obj/structure/table/wood, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"tfj" = ( +/obj/effect/turf_decal/bot_white, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/cargo/warehouse) "tfy" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/red{ @@ -55970,13 +56189,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"tfX" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) "tgl" = ( /turf/closed/wall, /area/station/service/greenroom) @@ -56144,6 +56356,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"tjg" = ( +/obj/machinery/atmospherics/components/binary/pump/off{ + name = "O2 To Pure" + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "tjj" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) @@ -56174,6 +56395,12 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"tki" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "tkm" = ( /obj/structure/window/spawner/directional/west, /obj/structure/flora/bush/large/style_random{ @@ -56218,12 +56445,6 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/medical/coldroom) -"tll" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/iron, -/area/station/cargo/storage) "tlt" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56231,6 +56452,9 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"tlG" = ( +/turf/closed/wall, +/area/station/cargo/lobby) "tlI" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/rock/pile/jungle/style_random, @@ -56341,16 +56565,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) -"tnu" = ( -/obj/structure/table, -/obj/item/folder/yellow, -/obj/item/pen, -/obj/item/reagent_containers/cup/glass/mug/coco{ - pixel_x = 10; - pixel_y = 14 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "tnx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56415,13 +56629,6 @@ }, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"tov" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "toC" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -56569,12 +56776,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"tqn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "tqo" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -56622,10 +56823,12 @@ dir = 1 }, /area/station/hallway/secondary/dock) -"tro" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) +"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) "trp" = ( /turf/closed/wall, /area/station/maintenance/port/aft) @@ -56669,6 +56872,28 @@ /obj/structure/sign/departments/aiupload/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"tsk" = ( +/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/iron, +/area/station/cargo/sorting) +"tsl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/service/chapel/office) "tst" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -56775,6 +57000,14 @@ /obj/item/stack/sheet/glass/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"tuw" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tux" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57276,6 +57509,15 @@ }, /turf/open/floor/iron, /area/station/security/prison/workout) +"tBE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tCh" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/red, @@ -57537,6 +57779,13 @@ /mob/living/carbon/human/species/monkey/punpun, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) +"tHo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "tHp" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -57651,6 +57900,20 @@ "tJX" = ( /turf/open/floor/plating, /area/station/maintenance/aft) +"tJY" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/status_display/supply{ + pixel_x = 0; + pixel_y = 32 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/cargo/lobby) "tKa" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -57659,10 +57922,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"tKf" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "tKl" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/tile/neutral{ @@ -57925,6 +58184,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"tOu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "tOw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -57955,27 +58220,10 @@ }, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"tPa" = ( -/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/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/cargo/miningfoundry) "tPf" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"tPg" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "tPm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/sign/poster/official/random/directional/north, @@ -58043,6 +58291,11 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) +"tQn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/official/no_erp/directional/south, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "tQr" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -58107,6 +58360,16 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) +"tRm" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Plasma to Pure" + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "tRw" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -58157,14 +58420,6 @@ /obj/machinery/light/small/broken/directional/west, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"tSA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/departments/cargo/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "tSB" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -58360,12 +58615,6 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) -"tVR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "tWm" = ( /obj/structure/flora/bush/jungle/c/style_3, /obj/effect/turf_decal/weather/dirt, @@ -58737,9 +58986,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"uct" = ( -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "ucy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/red{ @@ -58764,6 +59010,13 @@ }, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"ucO" = ( +/obj/machinery/light/floor, +/obj/structure/flora/bush/flowers_br/style_3, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/flowers_pp, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) "ucR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock{ @@ -58938,6 +59191,20 @@ }, /turf/open/floor/iron/textured_large, /area/station/command/heads_quarters/hop) +"ueL" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/stripes, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "ueP" = ( /obj/machinery/camera/directional/east{ c_tag = "Atmospherics Tank - Air" @@ -59210,6 +59477,31 @@ }, /turf/open/floor/iron/white/small, /area/station/science/lobby) +"uiK" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/station/maintenance/department/engine/atmos) +"uiO" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 10 + }, +/obj/structure/sign/poster/official/the_owl/directional/west, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "uiS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59218,6 +59510,13 @@ dir = 1 }, /area/station/science/research) +"uiU" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/cargo/office) "uiY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59463,6 +59762,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"umL" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "unc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59478,6 +59785,12 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"unG" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/cargo/miningfoundry) "unK" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -59566,6 +59879,17 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/starboard) +"upF" = ( +/obj/structure/table, +/obj/item/toy/eightball{ + pixel_x = -4 + }, +/obj/item/wirecutters{ + pixel_y = 17; + pixel_x = 4 + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "upG" = ( /obj/structure/railing, /obj/structure/cable, @@ -59575,6 +59899,12 @@ dir = 4 }, /area/station/command/heads_quarters/ce) +"upM" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "upP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59627,15 +59957,6 @@ "uqw" = ( /turf/closed/wall/r_wall, /area/station/commons/fitness/recreation) -"uqE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uqF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral, @@ -59837,15 +60158,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"usg" = ( -/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/smooth, -/area/station/command/heads_quarters/qm) "usF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/easel, @@ -59899,23 +60211,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/meeting_room) -"utH" = ( -/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, -/obj/machinery/door/airlock/command/glass{ - name = "Quartermaster's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/command/heads_quarters/qm) "utP" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/paper_bin/carbon{ @@ -59934,6 +60229,25 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uur" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/storage/wallet{ + pixel_x = -3; + pixel_y = 10 + }, +/obj/item/cigarette/cigar{ + pixel_x = -1; + pixel_y = -2 + }, +/obj/item/lighter{ + pixel_x = 11; + pixel_y = -7 + }, +/obj/machinery/light/directional/south, +/obj/structure/sign/poster/official/random/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "uuz" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/brown/opposingcorners{ @@ -59944,25 +60258,15 @@ /obj/machinery/camera/directional/west, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"uuN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"uuA" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, +/obj/effect/landmark/start/atmospheric_technician, /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/brown/half/contrasted, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"uuR" = ( -/obj/machinery/door/airlock/wood{ - desc = "Sessions held every Friday."; - name = "The Sunfinder Society" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating, -/area/station/cargo/miningfoundry) +/turf/open/floor/wood, +/area/station/engineering/break_room) "uuS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/blue{ @@ -60035,15 +60339,14 @@ /obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uxd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"uwO" = ( +/obj/machinery/door/airlock/hatch{ + name = "Tool Supply Corridor" }, -/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/maintenance/port/fore) +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/commons/storage/tools) "uxJ" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/machinery/door/firedoor, @@ -60059,12 +60362,6 @@ /obj/structure/trap/stun, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"uxY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bamboo, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "uya" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -60672,6 +60969,23 @@ /obj/item/assault_pod/mining, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"uHE" = ( +/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, +/obj/machinery/door/airlock/mining/glass{ + name = "Delivery Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/cargo/sorting) "uHF" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /obj/machinery/door/airlock{ @@ -60724,17 +61038,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/office) -"uIv" = ( -/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/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "uIy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -60745,6 +61048,16 @@ }, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) +"uIG" = ( +/obj/machinery/computer/cargo/request{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/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, @@ -60798,6 +61111,27 @@ /obj/machinery/shieldgen, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) +"uJI" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/landmark/start/quartermaster, +/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/iron, +/area/station/cargo/storage) +"uJV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "uKh" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, @@ -60849,14 +61183,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uKP" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "uLj" = ( /turf/closed/wall, /area/station/commons/toilet/auxiliary) @@ -60871,6 +61197,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/rust, /area/station/engineering/main) +"uLz" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "uLD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61052,6 +61387,18 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"uPf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "uPr" = ( /obj/structure/weightmachine/weightlifter, /obj/effect/turf_decal/bot, @@ -61124,6 +61471,17 @@ "uQo" = ( /turf/open/floor/engine/air, /area/station/engineering/atmos) +"uQt" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Quartermaster's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/qm, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/command/heads_quarters/qm) "uQu" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/status_display/door_timer{ @@ -61257,14 +61615,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"uSt" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) "uSB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61274,17 +61624,14 @@ /obj/effect/landmark/navigate_destination/tcomms, /turf/open/floor/iron, /area/station/science/lower) -"uSG" = ( -/obj/structure/cable, +"uSM" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/smooth, -/area/station/command/heads_quarters/qm) -"uSI" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/station/cargo/boutique) +/obj/effect/spawner/random/structure/closet_empty/crate, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/smooth_large, +/area/station/cargo/warehouse) "uSN" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -61362,19 +61709,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"uUb" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/effect/turf_decal/delivery/white, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/smooth, -/area/station/cargo/sorting) "uUe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, @@ -61392,6 +61726,36 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"uUq" = ( +/obj/structure/table/wood, +/obj/item/folder/yellow{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/dest_tagger{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) +"uUz" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/light_switch/directional/east, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/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/bot_white, +/turf/open/floor/iron/smooth_large, +/area/station/cargo/warehouse) "uUA" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -61435,6 +61799,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"uVB" = ( +/obj/item/kirbyplants/organic/plant17, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/calendar{ + pixel_x = 0; + pixel_y = -26 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "uVD" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/airalarm/directional/east, @@ -61828,21 +62203,6 @@ dir = 1 }, /area/station/command/heads_quarters/hop) -"vdl" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/east{ - id = "qm_warehouse_aft"; - name = "Warehouse Door Control"; - pixel_x = -24; - pixel_y = -23; - req_access = list("cargo") - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vdt" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ @@ -61875,13 +62235,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vdL" = ( -/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/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "vdX" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -62105,6 +62458,15 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"vgL" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/binary/volume_pump, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) "vgN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -62132,10 +62494,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"vhe" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/iron/smooth, -/area/station/cargo/office) "vhr" = ( /obj/structure/sink/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -62272,6 +62630,15 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"vjs" = ( +/obj/structure/disposalpipe/segment, +/obj/item/food/grown/pineapple{ + 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, +/area/station/cargo/storage) "vjI" = ( /obj/machinery/door/airlock{ name = "Bathrooms" @@ -62347,6 +62714,17 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) +"vkR" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "vkS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62693,13 +63071,6 @@ /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/station/command/teleporter) -"vpb" = ( -/obj/machinery/door/airlock/hatch{ - name = "Tool Supply Corridor" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/office) "vpk" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, @@ -62900,6 +63271,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"vse" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vsf" = ( /obj/structure/closet/crate{ name = "Materials Crate" @@ -63073,25 +63449,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"vuH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/cargo/miningfoundry) -"vuJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "vuR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63174,13 +63531,14 @@ /turf/open/floor/iron, /area/station/hallway/secondary/construction) "vvC" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" - }, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /obj/structure/cable, /obj/effect/landmark/navigate_destination, +/obj/machinery/door/airlock/engineering{ + name = "Main Engineering" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) "vvK" = ( @@ -63442,6 +63800,10 @@ /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, @@ -63692,11 +64054,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/lockers) -"vDS" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) "vDV" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/cmo) @@ -63945,15 +64302,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) -"vHU" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engineering Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, -/turf/open/floor/iron/smooth_half{ - dir = 8 - }, -/area/station/maintenance/department/engine/atmos) "vHV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -64055,6 +64403,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"vJE" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/hallway/primary/port) "vJG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/brown/opposingcorners, @@ -64225,11 +64580,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/entrance) -"vLD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "vLF" = ( /obj/structure/closet/secure_closet/courtroom, /obj/item/gavelblock, @@ -64248,9 +64598,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /turf/open/floor/catwalk_floor/iron_white, /area/station/science/robotics/augments) -"vLP" = ( -/turf/closed/wall/rust, -/area/station/command/heads_quarters/qm) "vLQ" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -64364,14 +64711,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"vNv" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) "vNM" = ( /obj/machinery/door/airlock{ name = "Hydroponics Maintenance" @@ -64529,6 +64868,10 @@ /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/eighties/red, /area/station/hallway/primary/central/fore) +"vRc" = ( +/obj/effect/turf_decal/loading_area/white, +/turf/open/floor/iron, +/area/station/cargo/lobby) "vRd" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, @@ -64549,11 +64892,6 @@ dir = 1 }, /area/station/science/research) -"vRn" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/maintenance/port/greater) "vRt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64584,6 +64922,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"vSn" = ( +/obj/structure/hedge, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/cargo/storage) "vSt" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 4 @@ -64932,6 +65281,14 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) +"vWy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/departments/cargo/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "vWA" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/firealarm/directional/south, @@ -65012,6 +65369,15 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/station/security/prison/rec) +"vXv" = ( +/obj/structure/table, +/obj/item/toy/foamblade, +/obj/item/analyzer{ + pixel_y = 8; + pixel_x = -9 + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "vXy" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/white/corner{ @@ -65163,6 +65529,11 @@ }, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) +"vZS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/cargo/lobby) "vZW" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -65272,6 +65643,15 @@ dir = 1 }, /area/station/science/lower) +"wbt" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/closet/secure_closet/quartermaster, +/obj/machinery/light_switch/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "wbH" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, @@ -65323,11 +65703,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"wcz" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wcF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, @@ -65571,6 +65946,13 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"whg" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "whl" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/stripes/line{ @@ -65663,6 +66045,14 @@ /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) "win" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -65706,12 +66096,6 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"wjw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "wjG" = ( /obj/structure/filingcabinet, /turf/open/floor/iron/dark/small, @@ -65767,16 +66151,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wkK" = ( -/obj/structure/cable, -/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/port/greater) "wla" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65884,6 +66258,15 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/office) +"wnf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/break_room) "wnw" = ( /obj/machinery/pdapainter/engineering, /obj/effect/turf_decal/bot, @@ -66007,6 +66390,15 @@ }, /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, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "wpa" = ( /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) @@ -66050,6 +66442,15 @@ "wqj" = ( /turf/closed/wall, /area/station/commons/toilet/restrooms) +"wqx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "wqz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/engine, @@ -66059,20 +66460,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"wqI" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "wqM" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -66250,6 +66637,14 @@ }, /turf/open/floor/iron/dark/side, /area/station/science/xenobiology) +"wtd" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters{ + id = "qm_warehouse_aft"; + name = "Warehouse Shutters" + }, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "wte" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -66469,6 +66864,13 @@ /obj/structure/hedge, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"wvF" = ( +/obj/structure/filingcabinet/filingcabinet, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "wvM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66526,16 +66928,6 @@ dir = 1 }, /area/station/science/lower) -"wwJ" = ( -/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, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wwQ" = ( /obj/structure/chair/office{ dir = 4 @@ -66570,6 +66962,17 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"wxJ" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "wxR" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -66656,6 +67059,12 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/iron/dark, /area/station/science/genetics) +"wyG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "wyH" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -66691,14 +67100,13 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"wzo" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron/smooth, -/area/station/cargo/office) "wzv" = ( /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"wzz" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wzF" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -66743,6 +67151,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"wAh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/status_display/supply{ + pixel_x = -2; + pixel_y = 32 + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/cargo/storage) "wAj" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ @@ -66941,6 +67359,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"wDQ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wEf" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -67650,14 +68077,6 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"wOM" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67667,12 +68086,6 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"wOZ" = ( -/obj/effect/decal/cleanable/molten_object, -/obj/effect/landmark/event_spawn, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) "wPd" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) @@ -67728,16 +68141,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"wPO" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "O2 to Airmix" - }, -/obj/machinery/light/no_nightlight/directional/north, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wPP" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -67950,11 +68353,6 @@ /obj/machinery/smartfridge/organ, /turf/open/floor/plating, /area/station/medical/morgue) -"wSf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) "wSg" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -67964,12 +68362,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/primary/aft) -"wSi" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "wSF" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -68156,6 +68548,12 @@ /obj/effect/landmark/event_spawn, /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) "wVI" = ( /obj/machinery/biogenerator, /obj/machinery/light/small/dim/directional/north, @@ -68390,14 +68788,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"wZD" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = 3 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "wZF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -68483,15 +68873,6 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"xaZ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "xba" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -68564,6 +68945,13 @@ "xck" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/office) +"xco" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xcq" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -68586,6 +68974,22 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/grass, /area/station/service/hydroponics) +"xcA" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/supply) "xcF" = ( /turf/open/floor/iron, /area/station/commons/dorms) @@ -68773,6 +69177,18 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_large, /area/station/science/research) +"xeZ" = ( +/obj/machinery/light/small/directional/south, +/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/iron/stairs{ + dir = 8 + }, +/area/station/cargo/storage) "xfa" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -68924,6 +69340,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"xgK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/sorting) "xhk" = ( /obj/machinery/door/airlock/public/glass{ name = "Public Shrine" @@ -68934,16 +69365,15 @@ dir = 8 }, /area/station/hallway/primary/central/fore) -"xht" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/neutral, +"xhC" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + 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/hallway/primary/port) +/area/station/cargo/lobby) "xhD" = ( /obj/structure/table, /obj/item/clothing/shoes/ducky_shoes{ @@ -69062,6 +69492,20 @@ dir = 5 }, /area/station/science/lower) +"xjc" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/cargo/office) "xjg" = ( /turf/open/floor/iron/dark, /area/station/security/interrogation) @@ -69268,10 +69712,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"xmI" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xmL" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/landmark/start/security_officer, @@ -69289,20 +69729,6 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) -"xng" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/delivery_chute{ - name = "Medical Deliveries" - }, -/obj/structure/sign/departments/exam_room/directional/north, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/plasticflaps{ - name = "Medical Deliveries" - }, -/obj/effect/turf_decal/delivery/white, -/turf/open/floor/iron, -/area/station/cargo/sorting) "xnk" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood, @@ -69577,6 +70003,17 @@ /obj/machinery/light/small/directional/north, /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) "xru" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/airalarm/directional/east, @@ -69752,6 +70189,20 @@ dir = 4 }, /area/station/science/lobby) +"xsP" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "xsT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -69965,12 +70416,6 @@ "xvF" = ( /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) -"xvJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/cargo/miningfoundry) "xvK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69987,6 +70432,17 @@ /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, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "xvT" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/maint) @@ -70029,10 +70485,6 @@ /obj/structure/bed/maint, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) -"xwn" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "xwr" = ( /obj/effect/turf_decal/siding/thinplating_new/light, /obj/machinery/recharge_station, @@ -70147,14 +70599,17 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"xxT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"xyb" = ( +/obj/structure/window/spawner/directional/west, +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/machinery/disposal/delivery_chute, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, /turf/open/floor/plating, -/area/station/maintenance/port/greater) +/area/station/cargo/sorting) "xyh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70314,17 +70769,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xAx" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "xAA" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -70347,24 +70791,21 @@ /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, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/sorting) "xAR" = ( /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/port/aft) -"xAV" = ( -/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 - }, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) "xBd" = ( /obj/effect/turf_decal/plaque{ icon_state = "L7"; @@ -70491,6 +70932,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"xDl" = ( +/obj/structure/bed, +/obj/effect/decal/cleanable/dirt, +/obj/item/bedsheet/qm, +/obj/item/reagent_containers/cup/glass/bottle/tequila{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "xDs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, @@ -70520,21 +70976,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"xEl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/wood, -/area/station/service/chapel/office) -"xEm" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron, -/area/station/cargo/office) "xEn" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 @@ -70825,6 +71266,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron, /area/station/science/lobby) +"xIl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/cargo/lobby) "xIu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -70956,6 +71404,16 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"xKn" = ( +/obj/machinery/door/airlock/hatch{ + name = "Tool Supply Corridor" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/lobby) "xKq" = ( /obj/machinery/rnd/production/circuit_imprinter/department/science, /obj/effect/turf_decal/bot, @@ -70970,6 +71428,12 @@ "xKG" = ( /turf/open/floor/iron, /area/station/hallway/primary/port) +"xKI" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xKQ" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners, /obj/machinery/firealarm/directional/north, @@ -71021,6 +71485,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"xLw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "xLy" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt/dust, @@ -71105,10 +71578,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xMu" = ( -/obj/effect/turf_decal/siding/wood, -/turf/closed/wall, -/area/station/service/library) "xMv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71168,14 +71637,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"xOm" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters{ - id = "qm_warehouse_aft"; - name = "Warehouse Shutters" - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "xOq" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, @@ -71305,9 +71766,6 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"xPX" = ( -/turf/closed/wall/rust, -/area/station/cargo/office) "xPY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71447,6 +71905,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"xRC" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/airlock{ + name = "Cargo Maintenance" + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "xRH" = ( /turf/closed/wall, /area/station/maintenance/fore/lesser) @@ -71540,6 +72006,20 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) +"xSY" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/delivery_chute{ + name = "Medical Deliveries" + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/plasticflaps{ + name = "Medical Deliveries" + }, +/obj/effect/turf_decal/delivery/white, +/obj/structure/sign/departments/med/directional/north, +/turf/open/floor/iron/dark/side, +/area/station/cargo/sorting) "xSZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71982,6 +72462,9 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"xYo" = ( +/turf/open/floor/iron, +/area/station/cargo/lobby) "xYu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -72020,11 +72503,6 @@ "xYO" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/bridge) -"xZd" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xZe" = ( /obj/effect/landmark/start/chaplain, /obj/effect/turf_decal/siding/wood/end{ @@ -72038,12 +72516,6 @@ /obj/effect/landmark/navigate_destination/det, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xZh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/maintenance/port/fore) "xZs" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -72345,16 +72817,6 @@ "yeh" = ( /turf/closed/wall, /area/station/hallway/primary/starboard) -"yei" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Atmospherics Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "yel" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -72484,13 +72946,6 @@ "yfD" = ( /turf/closed/wall, /area/station/medical/surgery/theatre) -"yfF" = ( -/obj/machinery/vending/autodrobe/all_access, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "yfJ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/decal/cleanable/dirt, @@ -72734,12 +73189,6 @@ /obj/machinery/light/no_nightlight/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) -"yjc" = ( -/obj/machinery/rnd/production/techfab/department/cargo, -/obj/effect/turf_decal/delivery/white, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/smooth, -/area/station/cargo/sorting) "yjd" = ( /turf/open/floor/iron/dark, /area/station/security/lockers) @@ -72750,6 +73199,35 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white/small, /area/station/science/cubicle) +"yjy" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/folder/red{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/folder/blue{ + pixel_x = 3; + pixel_y = -30 + }, +/obj/effect/spawner/random/entertainment/toy_figure{ + pixel_x = 4; + pixel_y = 11 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/carpet, +/area/station/maintenance/hallway/abandoned_recreation) "yjE" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine) @@ -79385,7 +79863,7 @@ ybp qBK jMp cor -wPO +bDi wLw udH gbh @@ -79626,7 +80104,7 @@ rDU hYC bLp wGx -qht +cdp nrn lCT trX @@ -79642,7 +80120,7 @@ kNx tyc dJn nrn -jMQ +tjg wmL civ gbh @@ -81428,7 +81906,7 @@ fAD jWm ybO kVB -dzH +qrW rPg nrn trY @@ -81671,7 +82149,7 @@ wWm mPB pit wWm -pnO +idB pCn teV dix @@ -81682,7 +82160,7 @@ ykk hYC egC nlt -ckR +tRm nrn ktJ saq @@ -81924,7 +82402,7 @@ wBo sRf wBo hFO -oYf +jPl mPB wWm nlR @@ -82180,9 +82658,9 @@ wBo fgX uFS wBo -eKd +mln wBo -aeH +nzS dOP pit dHx @@ -82438,7 +82916,7 @@ bTI jnI gya qBM -ael +oBO wcF eqr mUe @@ -82452,7 +82930,7 @@ pjk pjk pjk qfK -fAD +klA hLx klg lRy @@ -82753,7 +83231,7 @@ gZi gZi gZi hrV -hzm +lOj dDB dDB dDB @@ -83012,7 +83490,7 @@ iVK jhC lOj hLT -hzm +lOj hLT lOj dDB @@ -83261,7 +83739,7 @@ haO slY kwY kPW -ueX +slY ikr iVK iVK @@ -83273,7 +83751,7 @@ kkV ipr lOj lOj -hzm +lOj lOj kdH kdH @@ -83479,8 +83957,8 @@ oVm fjf sRW fjf -itr -hWa +cHD +hhy wFK ybO qOr @@ -83532,7 +84010,7 @@ lOj dTW lwI lOj -jaN +vSn kdH kmo ouN @@ -83540,8 +84018,8 @@ rST ouN oQr kdH -pZu -jxJ +eEG +rzX slw dDd vuj @@ -83789,7 +84267,7 @@ bTE cob vWA lOj -mnZ +aNE kdH nJU kEA @@ -83797,8 +84275,8 @@ kQe ouR oRr kdH -pHo -pZz +dfM +iIG slw qtJ qdu @@ -83984,7 +84462,7 @@ pWm pRw pnl pxz -yei +enI ybO ybO qKA @@ -84255,7 +84733,7 @@ wmq vMI pKW kiP -tqn +dIw dYv jZl feu @@ -84265,7 +84743,7 @@ bGX jhj cGV tkU -ocZ +bst pqr tkU kUN @@ -84304,16 +84782,16 @@ jvR jir lPi uzJ -mQh -nJU +eib +knk ppk uzJ ovQ -oRr -poM +oSb +edA uzJ -mKB -aLm +ryX +slw slw lLi slw @@ -84502,7 +84980,7 @@ fjh wzv pnl dpH -kNv +sXj gAy jZl bKK @@ -84549,31 +85027,31 @@ ohl slY slY slY -ueX slY -ueX +slY +slY nFo -oCG nFo nFo nFo nFo -lxy -hzm +nFo +kxa +lOj jTA -ovQ -knk -ppk +qYG +pZK +xKI kQM -owl -oSb -ppk +kQj +pZK +xKI mjQ -fLF +qqB ahr nFX nFX -cdC +ozn pSP mhk mhk @@ -84758,9 +85236,9 @@ pWm uEH dfd pnl -uct -uct -uct +bjt +bjt +bjt jZl bEG rCk @@ -84807,31 +85285,31 @@ slY gOK slY hfc -kPW +bEv iNE nFo ach -lKH +ueL ylH nEl ejq tvN -lRc moz -kee -nua -nPt +moz +vjs +odX +odX +odX odX -lkI -oSg -lWF +odX +rWK mjV -pHs +sVQ mhk ihb ozt -dEQ sqz +bHw mhk iSD pbw @@ -85015,9 +85493,9 @@ wzv yil wzv pnl -uct -hGa -uct +bjt +lrN +bjt jZl oqq tmK @@ -85065,30 +85543,30 @@ gPN gZk iNE kPW -kPW +lxE nFo tPZ rPx cvP rWP -bCh +kMY jWA -lTv -oem -oem -nxo -oem -oem -owM -oSx +uzJ +jtB +jJw +fxO +rPM +fxO +qMI +rfP +fiE qby qby qby +iJH +iJH mhk -mhk -mhk -xxT -mhk +bHw mhk pGS sUN @@ -85270,12 +85748,12 @@ kNn yil xnL yil -bXb +jHN pnl pnl pnl pnl -srw +emz tXF qaU yew @@ -85320,32 +85798,32 @@ xpl slY gPN slY -jCo -kPW +kwY +bEv hfc nFo hNv -lbF -lLq +iJp +ggn nyf ejq -jkS -lTN -mRD +oEL +uzJ +vzD +amq mRD -knL kEH mRD -llg -oSx +gGA +rfP +fiE qby -mjX +frY mLh -nry -qRq -mhk -vdL +njv +rev mhk +bHw mhk cXb sry @@ -85527,10 +86005,10 @@ rjo pWm pWm pWm -bXb -bXb -bXb -bXb +jHN +jHN +jHN +jHN yil fTJ qpp @@ -85546,7 +86024,7 @@ ttL glo dPW vCp -moN +vgL kWY mzx dcK @@ -85574,34 +86052,34 @@ dDB mEB gDH mFA -ueX slY slY -jCo +slY +bEv slY slY nFo nFo +xvR +pIo nFo nFo -nFo -nFo -kZB -lUz -ohj -ohj -nxX -ohj -ohj -oxw -lFG +boG +hmR +jGC +rtH +eti +eti +eti +dvP +odX +oyH lWY -mkF +oZZ mLk -nsL -kVn +hXM +pmD srn -iHT pRc mhk pbw @@ -85784,7 +86262,7 @@ mmT vtJ acg pWm -efn +eZd wzv wzv wzv @@ -85833,32 +86311,32 @@ gEc gIx sjq sjq -hyO -roi -jCi +guq +jCo +tki nPX ouT -jMb -kzI -kzI +jjq +jjq +jjq rST iUN -jlv -sRR -odX -fts -nyE +pIg +rLp +moz +iqM uzJ -axj uzJ -azK +sjX +uzJ +mLz +cNw qby -mkO +nzd mMt dVW -qSS +xcA mhk -tKf kwy mhk bBh @@ -85872,7 +86350,7 @@ iSD rnr aCz wAW -spo +wXk xiF gEx yea @@ -86043,8 +86521,8 @@ bOa pWm bvt bvt -nbN -ggr +lAM +fgo oii pnl gmv @@ -86087,35 +86565,35 @@ dDB dDB slY slY -slY hTr slY slY -iBo -slY +qgX +mmZ +jjq jiu -jCP -kia -kia -kia +obk +tfj +kzI +gus oGl iVx lzp jFB -tll +mRQ +uJI wuM -nyS pBD wuM pBD +uQt +wuM wuM -vLP wuM -vLP mhk mhk mhk -xmI +mhk ivh mhk fme @@ -86135,7 +86613,7 @@ uAk yea vmX vij -xEl +oNQ wyl fEC fEC @@ -86310,14 +86788,14 @@ jDi jDi jDi pnl -srw +emz pnl pnl jZl xck -cag +hyS xck -bJH +kMg xck cGV bNq @@ -86325,9 +86803,9 @@ bNq ecq bNq bNq -hhr +pTK bNq -gUQ +uiK bNq bNq bNq @@ -86342,37 +86820,37 @@ blb blb blb blb -blb slY hLD hTD oOK slY -hfC +lFb slY jjq -hyb +jjq +dcu jNc qSH -vNv +mKR rST iVI -jmK +fma jHB -gxL +sRs +qMM wuM -bKz -kFg -kRJ -bvV -lGk -uKP +rKn +bdi +lsH +nmE +dFn wCI -swV +eJi mhk nFY mhk -mhk +mCV mze iLH oyz @@ -86599,32 +87077,32 @@ dDB blb dDB dDB -dDB slY tjY siG nEA slY -oPi -xOm +tBE +ehu +wtd pAU -nLH -nUx -rie -ipd +fxc +nku +jKl +jgj rTA -nTi -lzA +gFi +xco lUI -tVR -pBD -nnc -jZc +rJQ +iKn +gBs +ggK +mek kSb -tca -lGT -lWR -mlr +cjc +hlP +hHX nxJ mhk xYJ @@ -86736,7 +87214,7 @@ aWt sis sis sis -lhd +mdp xjz blb dDB @@ -86856,35 +87334,35 @@ dDB blb dDB dDB -dDB slY rhm cis slY slY -oPo -xOm -tdD +lFb +qTS +wtd +eQI vrW -qul -rif -tro +uUz +uSM +sEd rTA -sgC +csj eDy uzJ -uzJ +sRs +lzp pBD -usg -uSt -kSf -lme -lHe -lWU -tca +rJB +cUV +ksE +woY +uUq +wyG urF mhk -xZd +cEp mhk sNW mze @@ -86902,14 +87380,14 @@ cdB wAW rpB jzr -qMw -iEi -dTQ -cVO -uxY -czu -dny -doi +gLS +tsl +pMX +cDQ +buc +rFU +qgZ +oSB fEC kJJ qVP @@ -86988,7 +87466,7 @@ eua izh xAG jWd -lGO +rEV cZA hyX tBm @@ -87078,7 +87556,7 @@ kNn pnl pnl pnl -srw +emz pnl tOc oCE @@ -87113,37 +87591,37 @@ dDB tYT aJq dDB -dDB -ueX +slY +slY mEB slY +vse +mFA slY -nMV -dRD -xwz -xwz -gxr -fSe +jjq +jjq +fCK +jjq ibe ipP rST eeb -lzU -dfN -pJn +fHX +sAy +jfP +xeZ wuM -pwJ -uSG -kSO -gNC +cbq +eCO +bIu lHk -lXf +nhk lKg efS mhk -qTJ mhk -rGN +mhk +mhk mze mhk feL @@ -87159,14 +87637,14 @@ iSD wBm wXk pEO -nRa +xOS rQC von pvC aLS wzS wzS -pPx +lXM fEC rui qVP @@ -87373,33 +87851,33 @@ dDB dDB dDB blb -dDB slY -ohb +bUq xwz -fSe -pIi -tPa xwz +cyQ +cuZ +eNa xwz mTl +mTl rST -sgL -swO -kYZ -msy -vLP -utH -pBD +wAh +jry +rFv +dwy +bbV +wuM +wuM wuM vkN lHT vkN -mhk -mhk -mhk -mhk -mhk +wuM +wuM +sHW +rrJ +uiO mhk mze mhk @@ -87413,10 +87891,10 @@ lFm kzV uaa eYB -mIE +vJE wXk glM -ldl +jmC yea vrf von @@ -87630,33 +88108,33 @@ dDB dDB dDB blb -dDB -ueX -ohl +slY +vse xwz -gGw -nsX -hoV -vuH +cky +juo +iDm +biV xwz -rFa -rTD -iWb +gPO +moq +jro +jnn jnn bDN bDN -qto -kpT +ebM +sfL kFD kTp -lmv -lIf -lXn -srn -ntJ -nGu -xYJ -ina +itf +qnU +wbt +kTp +oOm +jJO +kik +uVB mhk gLV mhk @@ -87669,11 +88147,11 @@ tBk miF miF miF -juP +etJ wAW -lqq +mFd ckP -xht +amX yea yea vJn @@ -87887,36 +88365,36 @@ dDB dDB dDB blb -dDB slY -mFA +vse xwz -mdX -fCd -iJh +unG +qrJ +iUI jwU xwz -rFP -rTU -sgR -obH -sSx -tnu -tPg -uuN +hYQ +pNa +wzz +dXu +ahI +lkL +hGA +tsk +nzy btG pBD -vLD -lIn -lXY -mhk -ina -pyA -ina -xYJ -xYJ +qhU +rRl +mCW +wuM +pZC +yjy +jmX +tri +qYq xsD -srn +mhk xxj cSb nDj @@ -87927,11 +88405,11 @@ cxz cZs cZs eYB -mIE +vJE wXk uQK -mwK -kyE +bfS +fMf yea vJA vKa @@ -88144,33 +88622,33 @@ dDB dDB dDB blb -dDB slY -ohl -uuR -rZe -jIH -bbK +vse +and +nLi +cNl +iiR ePn uki -rFW -bCZ -uqE -fkd -sSA +iek +xgK +upM +jQG +abv wcP -qDP -wwJ -yjc -vLP -oyZ -lIq -lYt -mhk -xYJ -lwC -tYL -mhk +kRb +rJL +nzy +gOS +wuM +giA +jFg +uur +wuM +pBo +gEb +dgy +lud mhk fpN mhk @@ -88358,9 +88836,9 @@ kMe kMe nDJ lWV -mWB -wjw -kMe +cYt +tHo +gAV tDu ccA oPa @@ -88374,14 +88852,14 @@ oYv jJg bsG wqW -cQV +jHS tdb tdb tdb tdb qyr mLZ -vHU +naK lER hRO knv @@ -88401,36 +88879,36 @@ blb blb slY mEB -ueX slY -ohl +iZx +xwz xwz -pjG -hZe -bOY -rzL +kOA +iUA +gZR xwz -rGq -rUt -sgR -wcz -eIF -juJ -mTe -kqL -kFI +rWR +iQM +lvN +kJu +fvX +cOs +kiW +xAO +rmc +hjS pBD -wSf -lIw -lYw -mhk -qjn -uiw -ina +lsH +pZt +mac +wuM +oLE +lmp +iAt +tQn mhk -ozt -mrn -vRn +mSA +gTj ani bKv jCm @@ -88660,32 +89138,32 @@ ueX hNo wZF wZF -had -xwz -xwz -xvJ -xwz -fSe -xwz -xng -pjL -llN -jqu -sSU -vuJ -hEi -kqQ -uUb +tuw +slY +slY +fAn +slY +slY +xSY +khw +xsP +oxt +gIr +jJB +sBn +ePr +eCV +bjf wuM -lmR -lJV -cYT -mhk -mhk -dDi -mhk +mta +xDl +kjb +wuM +dLl +twm +dLl +dLl mhk -sNW jQv mhk oOC @@ -88704,7 +89182,7 @@ beN oRw xle xle -slZ +hzr iIU wAj xle @@ -88864,7 +89342,7 @@ ayK ayK ayK lQU -ruR +mOc lQU ayK lQU @@ -88872,7 +89350,7 @@ lQU lQU ayK lQU -ruR +mOc lQU ayK rDV @@ -88916,28 +89394,28 @@ mEB gDH mFA gKi -gPT -qQP -pJQ -wZF -pqv -wZF -vdl +lOg +ohl slY -ueX -rVQ -oFi -jqA +gTw +nPg +gDH +slY +slY +slY +xyb +gJb lUT -pih +lYe mTl -kqW kFJ -slY -slY -mhk -mhk -mhk +uHE +kFJ +wuM +wuM +wuM +wuM +wuM rZb jXc xYJ @@ -89174,30 +89652,30 @@ gEc mFA slY slY +oOf +qSF +rFm +fQv +wZF +wZF +wDQ slY slY -slY -xZh -slY -qQP -roi -slY -slY -slY -xZh -xZh -slY -slY -uxd -kFU -kXR -slY -rXw +uiU +bLG +diN +xat +gSA +nwb +qkC +wvF +mhk +qTJ lYT mhk uiw mhk -mhk +sNW mhk mhk ete @@ -89430,25 +89908,25 @@ slY slY mFA slY -aus -voz -sRg -hmb -huh slY slY -qQP -iqj -sjq -sjq -syx -jIh -csA -jhs -kso -kYG -kYG -pep +slY +slY +bmO +slY +slY +qgX +kAn +slY +fWj +hgp +hgp +lKf +cCC +aBQ +mFQ +mFQ +xRC nJo avY oHk @@ -89460,7 +89938,7 @@ vMP eRy mhk iSD -keQ +bqA cxz vUS miF @@ -89631,8 +90109,8 @@ uqe uLW blb aKm -fxp -nKe +eXl +jNV guh cBl fJe @@ -89685,27 +90163,27 @@ blb blb blb ueX -gIx -gKK -vOm -tOw -hVk -gpP -iJq -ivm +nmV slY -kPW -slY -slY -skW -wOM -jpR -ueX -aae -uxd -xaZ -dZm +aus +voz +sRg +hmb +huh +ivm slY +brO +wZF +dTj +umL +uJV +uJV +gnO +gqw +gEa +iAL +spA +mhk ilo tYL mhk @@ -89717,7 +90195,7 @@ mhk oTH mhk lji -wZD +qzP nDj sRF miF @@ -89942,27 +90420,27 @@ dDB dDB dDB slY -atx -ueX -gQm -hbw -hfZ -hmh -pGE +aBt +uPf +vOm +tOw +hVk +gpP +iJq qfV slY -kPW -kAn -slY -xZh -slY -xZh +apP +jHC slY -slY -ksx -mEB -slY -ueX +hjA +mnU +nzO +jln +jAN +gEa +bzW +sKO +mhk jQv sNW mhk @@ -90203,22 +90681,22 @@ slY slY eVc hbw -wOZ -hmj +qZX +lWE arL sRg slY slY slY slY -nHp -jrX -jIN -xEm -xPX -ksA -oJR -oiw +wnd +xat +fIq +jBJ +wnd +xjc +aMI +xat mhk jQv sqz @@ -90418,7 +90896,7 @@ szg tpW pUM kMe -prd +knw fGf ayK izf @@ -90458,24 +90936,24 @@ sRg cJT eEq sRg -gQG +iGb hbw -aGI -hmQ +nLQ +mpL pGE -jug -rqq -rqq -rqq -vpb -lmS -lAk -jIY -jDm -tfX -khZ -nSY -nYQ +uwO +bRA +bRA +bRA +xKn +dmO +pVV +axP +ivC +kgp +ftI +hao +uIG mhk ifl mhk @@ -90717,25 +91195,25 @@ mGY hXf xGf jLb -hgd -mrP +cOa +lPv xrZ sRg -xat -xat -xat -xat -tov -jEK -jJc -pOg -kft -ktM -sOP -otG +tlG +tlG +tlG +tlG +lbe +qCG +pbV +sxQ +day +mxh +vRc +jBN mhk oEn -lPK +tOu mhk mTN wTO @@ -90746,7 +91224,7 @@ oUJ wCR oOC iRE -rya +mXb kZI oUb yhX @@ -90934,11 +91412,11 @@ awH gAV qkq wRy -ayK -vDS -aWA -lVv -nHq +urz +dkD +iEc +uuA +oba exQ fib cca @@ -90978,21 +91456,21 @@ hgn jEQ gRL hcl -xat -vhe -vhe -wnd -lmS -lBn -jJc -lvu -hPd -kua -lEm -oiL +tlG +pRO +wVr +puk +dmO +kkD +iGW +xhC +ioJ +xIl +xYo +hAO mhk -kPo -wkK +uLz +pRc mhk wCR wCR @@ -91181,7 +91659,7 @@ dyI dyI ozQ ozQ -xAx +wxJ brA brA dyI @@ -91195,7 +91673,7 @@ ayK swK jTf nCC -rDc +bwW qQi sVu wfn @@ -91234,26 +91712,26 @@ hgZ hgZ kaz eOk -qgK -xPX -wzo -hLm -bGU -wSi -gNV -wqI -gEJ -xat -wnd -kIO -wnd -mhk +mYE +naB +oyv +vZS +rDs +dAZ +eTL +sKj +gXB +rhF +xLw +oim +wie mhk -sBf +jab +rSM mhk -mUt +ksq wTO -uSI +qVR scY rJo bHU @@ -91452,7 +91930,7 @@ ayK nXC nmi cED -nQE +mjh rLj gNt iIK @@ -91492,21 +91970,21 @@ qiz fgt pHC qiz -xat -rrq -iqq -xPX -wnd -wnd -jKu -jWZ -xRV -kuq -msq -laD -gSX +tlG +rWa +peE +tlG +puk +puk +tlG +tJY +kxu +cjf +mGI +tlG mhk -jQv +rXw +rSM mhk wCR wCR @@ -91695,7 +92173,7 @@ cBd cBd dyI ozQ -jvm +vkR brA dyI oer @@ -91709,7 +92187,7 @@ ayK wfn wfn osT -qxF +wnf wap wfn gKL @@ -91753,15 +92231,15 @@ xRV xRV xRV xRV -lCg -lCg -kYa -rBh -xRV -iLF -kJb -laL -loj +ccO +mWU +lnL +dOH +rbT +ppP +hSn +hpb +mhk mhk jby mhk @@ -92008,20 +92486,20 @@ nxI sxZ qGc pfw -sar -tSA -frI -frI -uIv -frI -aDJ -hKV -mZg +dEp +vWy frI +aJD +aJD +wqx +aJD +knR +mDk frI -oyp +dBn +nwf mXZ -mUm +ogq mAR qWG fkS @@ -92269,8 +92747,8 @@ uAo iIv uAo jsG -jLr -aHS +oQP +mIp fHN jpu pWM @@ -92524,9 +93002,9 @@ nTa tlt eIM yjZ -yjZ -yjZ -jtd +pzk +pzk +eII xSw kfw yeD @@ -92785,7 +93263,7 @@ xZS xZS xRV xRV -vIJ +eyx kux wGz yaL @@ -93312,9 +93790,9 @@ cKt jVM hIm azq -iTv +api wMg -wKr +lql vtr mcV iGq @@ -93577,7 +94055,7 @@ mmL qDC btY mUi -xMu +xeO qmM vSi hEJ @@ -94073,11 +94551,11 @@ xZS vET ncL qwz -jVM -jVM -jVM -jVM -jVM +yaL +yaL +yaL +yaL +yaL jVM eAm jVM @@ -94330,7 +94808,7 @@ uVT vET ncL wQB -jVx +ebn jVM rXy bFO @@ -94854,7 +95332,7 @@ ptX hsH srg jVM -ayT +nJK sZo yfC lnN @@ -95107,7 +95585,7 @@ jVM jVM jVM jVM -pSI +qtW jVM xlU jRK @@ -95360,11 +95838,11 @@ kvT wQB cZi jVM -lbl -bwy -mqz +dgt +sTN +nHb jVM -gls +cMH jVM lzB jVM @@ -95617,11 +96095,11 @@ kyO wQB drC jVM -lzW -dbJ -lMH +dqF +sKh +iFG jVM -gls +cMH jVM uZY jVM @@ -95874,11 +96352,11 @@ ncL wQB ydz jVM -lEO -eHv -bes -pSI -gls +bgl +sjn +mrY +qtW +cMH jVM joR jVM @@ -96401,7 +96879,7 @@ mgW yfC edG wBc -jJd +qiC qiC ghj qiC @@ -97413,7 +97891,7 @@ opn jYY ndJ rJZ -eBC +egW xRV xRV xRV @@ -97435,7 +97913,7 @@ xmt hrl xmt xmt -lHZ +xli eNP qFc cEo @@ -97672,8 +98150,8 @@ dCu eXR wQB rHl -sVO -lbi +dMC +ucO jVM jTn xXe @@ -97928,7 +98406,7 @@ psc dCu rJZ wQB -xAV +xrt txW nCX jVM @@ -98444,7 +98922,7 @@ rJZ wQB eIO xND -ind +czh jVM oZy jVM @@ -98462,7 +98940,7 @@ sJL sne aTg aTg -aIr +lZs bIN nUd bmY @@ -100263,7 +100741,7 @@ xkV ecC cvV spH -elN +whg dPp sFs fZZ @@ -100777,7 +101255,7 @@ gyy xkV swW vkh -oNW +kPh cSy bpY sMt @@ -101798,7 +102276,7 @@ rZq ycX pBu khY -lvr +lmZ aGq khY khY @@ -102293,7 +102771,7 @@ cCD gcz jyM uoB -jZn +eSA baJ rji vAw @@ -105129,7 +105607,7 @@ sRL bCP dqB pIf -lZP +upF jgF wqj rEa @@ -105641,7 +106119,7 @@ nVa fuD xVV eWP -lNN +vXv lWp xhD heN @@ -106674,7 +107152,7 @@ jvQ eul eeJ egJ -yfF +egA gMq duT gtk @@ -107436,7 +107914,7 @@ rqw sRL sRL sRL -nqa +ceD sRL sRL eeJ @@ -114126,7 +114604,7 @@ xQJ bfE rIo xQJ -ohN +jIn oUC oPM sDj @@ -114899,7 +115377,7 @@ noB xQJ avN oPM -rYt +jLt wBI sEr dQQ @@ -118682,7 +119160,7 @@ dDB dDB dDB dDB -dDB +dRz dDB dDB dDB @@ -121349,7 +121827,7 @@ xok xok xok xok -eog +dTi tbI xok qNO @@ -122124,7 +122602,7 @@ lkV iJL rci vTv -dpz +juU boY agI kQt @@ -122895,7 +123373,7 @@ nWh xnR aLC wLZ -xwn +eKV cns vwJ kQt @@ -129080,10 +129558,10 @@ uxL lhl jxD ylD -hqH +cWC vzv brz -sJf +egg ylD wyj dYR diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 39d7cd24bdd2e..da57feb278136 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -2842,6 +2842,9 @@ /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "aII" = ( @@ -3233,15 +3236,15 @@ /area/station/ai_monitored/command/storage/eva) "aNM" = ( /obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/duct, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) "aNP" = ( @@ -12209,9 +12212,6 @@ "cXb" = ( /obj/structure/cable, /obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -16925,9 +16925,6 @@ /turf/open/floor/plating, /area/station/cargo/storage) "ehg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/newscaster/directional/west, /obj/structure/table/wood, /obj/item/clipboard, @@ -30878,7 +30875,6 @@ /turf/open/misc/sandy_dirt, /area/station/security/prison/garden) "hHo" = ( -/obj/structure/disposalpipe/trunk, /obj/machinery/chem_heater/withbuffer, /obj/effect/turf_decal/bot_red, /obj/effect/turf_decal/stripes/line{ @@ -32868,9 +32864,6 @@ "ifr" = ( /obj/structure/cable, /obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -33704,9 +33697,6 @@ /area/station/hallway/primary/central/fore) "irx" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /obj/machinery/duct, @@ -39806,7 +39796,7 @@ /area/station/tcommsat/server) "jQx" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /turf/open/floor/plating, /area/station/maintenance/fore) "jQB" = ( @@ -42974,6 +42964,9 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "kHp" = ( @@ -44585,13 +44578,13 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "ldl" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/disposalpipe/trunk, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) "ldm" = ( @@ -45387,9 +45380,6 @@ /area/station/engineering/atmos/storage/gas) "lni" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/generic_maintenance_landmark, @@ -46664,6 +46654,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "lDV" = ( @@ -47502,7 +47495,7 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) "lMF" = ( -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /obj/effect/turf_decal/siding/dark_blue{ dir = 8 }, @@ -52931,9 +52924,6 @@ /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/brown/half/contrasted{ dir = 4 }, @@ -56033,9 +56023,6 @@ /obj/structure/sign/painting/library_private{ pixel_y = -32 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/modular_computer/preset/curator{ dir = 1 }, @@ -64198,6 +64185,9 @@ dir = 8 }, /obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "qaF" = ( @@ -66387,9 +66377,6 @@ /turf/open/floor/iron/white, /area/station/medical/medbay) "qEj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/light/small/directional/south, /obj/structure/table/wood, /obj/item/paper_bin{ @@ -67689,7 +67676,7 @@ "qVn" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) @@ -72153,13 +72140,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/theater/abandoned) -"rZL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos) "rZU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -80582,9 +80562,6 @@ /area/station/commons/toilet/locker) "ufz" = ( /obj/machinery/firealarm/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /obj/effect/turf_decal/bot_white, /obj/structure/filingcabinet, /turf/open/floor/iron/dark, @@ -89971,8 +89948,10 @@ "wwN" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "wwP" = ( @@ -90329,9 +90308,6 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "wAZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/structure/table/wood, /obj/item/taperecorder, /obj/item/camera, @@ -96090,9 +96066,6 @@ dir = 4 }, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, @@ -117147,7 +117120,7 @@ pxN yfC pxN pxN -rZL +pxN pxN pxN qYo diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index a47e7176c77eb..ce8f714c0e456 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -1,21 +1,13 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aac" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Security Checkpoint" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/machinery/scanner_gate/preset_guns, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) +"aab" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"aao" = ( +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "aap" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, @@ -31,10 +23,6 @@ /obj/item/taperecorder, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"aaD" = ( -/obj/structure/sign/warning, -/turf/closed/wall/r_wall, -/area/mine/storage) "aaI" = ( /obj/structure/closet/wardrobe/white, /obj/item/clothing/shoes/jackboots, @@ -53,11 +41,6 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron, /area/station/hallway/primary/port) -"aaX" = ( -/obj/structure/chair/sofa/bench/right, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "abb" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -67,13 +50,6 @@ "abe" = ( /turf/open/floor/engine, /area/station/science/xenobiology) -"abm" = ( -/obj/structure/table, -/obj/item/trash/can/food/beans, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "abv" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -91,6 +67,22 @@ /obj/item/clothing/head/helmet/skull, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"abJ" = ( +/obj/machinery/camera{ + c_tag = "Service - Botany"; + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "abL" = ( /obj/machinery/light/directional/north, /obj/structure/sign/warning/secure_area/directional/north, @@ -107,6 +99,24 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"abQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal) +"abT" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/explab) "abU" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ @@ -119,53 +129,32 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"abZ" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "ace" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"acg" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"acm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"acl" = ( +/mob/living/carbon/human/species/monkey, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/grass, +/area/station/medical/virology) "acE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"acG" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/obj/item/reagent_containers/cup/bucket, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"ade" = ( -/obj/structure/table/glass, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 - }, -/obj/item/reagent_containers/syringe, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) -"adm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/conveyor{ - id = "mining_internal" - }, -/obj/machinery/bouldertech/refinery, +"acN" = ( +/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/half/contrasted, /turf/open/floor/iron, -/area/mine/production) +/area/station/commons/fitness) "adq" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -174,12 +163,42 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"adv" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"adA" = ( +/turf/closed/wall/r_wall, +/area/icemoon/surface/outdoors/labor_camp) "adD" = ( /obj/structure/railing/corner{ dir = 8 }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"adP" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"adS" = ( +/obj/structure/statue/snow/snowman{ + name = "Steve" + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "adY" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -220,14 +239,6 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"aes" = ( -/obj/machinery/computer/cargo, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "aey" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Pens - Starboard Fore"; @@ -240,15 +251,6 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/smooth, /area/mine/living_quarters) -"aeF" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "aeQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -259,53 +261,24 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"aeV" = ( -/obj/structure/sign/warning, -/turf/closed/wall, -/area/station/maintenance/port/fore) +"aeS" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"afb" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/commons/lounge) "afp" = ( /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"afs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "mining-aux-mechbay-external" - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining Mech Bay External Airlock"; - opacity = 0 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/turf/open/floor/iron/large, -/area/mine/mechbay) -"aft" = ( -/obj/machinery/vending/boozeomat, -/turf/open/floor/iron, -/area/station/service/bar) -"afy" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/closet/secure_closet/cytology, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "afz" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"afK" = ( -/obj/structure/cable, -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, -/area/station/engineering/lobby) "afR" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1{ @@ -321,6 +294,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) +"agd" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/station/science/explab) "agk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -357,10 +340,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"agG" = ( -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/grimy, -/area/station/hallway/secondary/entry) "agI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -391,12 +370,6 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"ahh" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/service/bar) "ahm" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/firealarm/directional/south, @@ -415,6 +388,12 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"ahG" = ( +/obj/structure/fence/post{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ahK" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -436,6 +415,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/service/chapel) +"aiu" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aiA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -456,10 +439,14 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"aiT" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/fore) +"aiQ" = ( +/obj/machinery/modular_computer/preset/id, +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "aiX" = ( /turf/open/floor/iron, /area/station/security/courtroom) @@ -521,27 +508,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) -"akb" = ( -/obj/structure/closet/crate, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/mob/living/basic/mouse/white, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) +"akd" = ( +/obj/structure/rack, +/obj/item/poster/random_contraband, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "akk" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ dir = 4 @@ -552,6 +524,10 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) +"akn" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "ako" = ( /turf/closed/wall/r_wall, /area/station/medical/morgue) @@ -602,6 +578,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"akN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "akQ" = ( /obj/effect/turf_decal/weather/snow/corner, /turf/open/floor/glass/reinforced/icemoon, @@ -625,6 +609,22 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/transit_tube) +"ale" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + c_tag = "Morgue North" + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/trimline/neutral/filled/end{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "alq" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron/grimy, @@ -703,17 +703,14 @@ dir = 8 }, /area/station/engineering/lobby) -"amq" = ( -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" +"amn" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = -6 }, -/area/icemoon/underground/explored/graveyard) -"amt" = ( /obj/structure/cable, -/turf/open/floor/iron/chapel{ - dir = 4 - }, -/area/station/service/chapel) +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "amv" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -725,6 +722,11 @@ /obj/structure/curtain, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"amz" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "amE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -734,21 +736,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"amJ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/medical/treatment_center) -"amK" = ( -/obj/item/cigbutt, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) "amN" = ( /obj/structure/disposalpipe/segment, /obj/item/radio/intercom/directional/west, @@ -757,6 +744,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"amW" = ( +/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/plating, +/area/station/maintenance/starboard/fore) "anb" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -793,22 +787,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"any" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"anI" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +"anz" = ( +/obj/machinery/telecomms/server/presets/engineering, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "anK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -832,23 +815,44 @@ dir = 1 }, /area/station/command/heads_quarters/rd) +"anQ" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/latex, +/obj/structure/window/reinforced/tinted/spawner/directional/north, +/turf/open/floor/plating, +/area/station/security/prison/safe) "anZ" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/engineering/lobby) +"aoc" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/item/radio/intercom/directional/west, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "aog" = ( /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/command/bridge) -"aoi" = ( -/obj/structure/closet/emcloset, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"aom" = ( +/obj/machinery/pdapainter/engineering, +/obj/effect/turf_decal/tile/neutral/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/ce) +"aon" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "aoo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -859,24 +863,95 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"aop" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "aos" = ( /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, /area/station/commons/dorms) +"aov" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/structure/closet/secure_closet/medical1, +/obj/machinery/light/small/directional/east, +/obj/machinery/light_switch/directional/north, +/obj/machinery/door_buttons/access_button{ + pixel_y = 37; + idDoor = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology") + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"aow" = ( +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/railing/corner/end{ + dir = 2 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"aoM" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"aoO" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/spawner/random/trash/crushed_can{ + pixel_y = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) +"aoP" = ( +/obj/machinery/door/airlock/external{ + name = "Lower Medical External Access"; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/medical/morgue) +"aoW" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "apb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -910,6 +985,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) +"apo" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + dir = 8 + }, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron, +/area/station/command/bridge) "apq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -919,33 +1008,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/commons/locker) -"apt" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "apB" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"apC" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/calendar/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "apD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -960,14 +1028,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"apL" = ( -/obj/machinery/modular_computer/preset/engineering, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/incident_display/delam/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "apS" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -1016,15 +1076,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"aqq" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" +"aqr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, /area/station/service/hydroponics) "aqB" = ( /obj/structure/cable, @@ -1048,6 +1107,16 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"aqV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/service/bar/backroom) "arb" = ( /obj/structure/table, /obj/item/folder/red, @@ -1105,33 +1174,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"arW" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "arZ" = ( -/obj/effect/turf_decal/tile/blue, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/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/wood/parquet, +/area/station/service/bar/atrium) "asa" = ( /obj/structure/table/wood, /obj/item/storage/crayons, /turf/open/floor/iron, /area/station/commons/dorms) -"asb" = ( -/obj/structure/sink/directional/west, -/obj/structure/cable, -/obj/machinery/button/door/directional/east{ - id = "xenobio10"; - name = "Xenobio Pen 10 Blast DOors"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "asg" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -1147,6 +1202,15 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"asv" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria, +/area/station/hallway/secondary/exit/departure_lounge) "asy" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -1164,21 +1228,38 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"asG" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) "asM" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"asN" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/sink/kitchen/directional/west, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/service/bar) +"asU" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Escape"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/exit/departure_lounge) "asZ" = ( /obj/machinery/door/airlock/research{ name = "Robotics Lab" @@ -1206,15 +1287,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/storage) -"atc" = ( -/obj/structure/fence{ - dir = 1 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ate" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1246,6 +1318,26 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"atB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"atI" = ( +/obj/structure/table/glass, +/obj/item/shovel/spade, +/obj/item/cultivator{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "atN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1253,6 +1345,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"atS" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "atW" = ( /obj/structure/flora/grass/green/style_random, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -1274,6 +1378,9 @@ "aud" = ( /obj/structure/closet/secure_closet/miner, /obj/machinery/light/directional/east, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, /turf/open/floor/iron, /area/station/cargo/miningdock) "aui" = ( @@ -1324,47 +1431,37 @@ /area/station/security/prison/work) "auK" = ( /obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "avb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"avd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) -"ave" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 +"avc" = ( +/obj/machinery/firealarm/directional/west, +/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/red{ + dir = 8 }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +/obj/machinery/camera/directional/west{ + c_tag = "Departure Lounge West" }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/turf/open/floor/iron/white/corner{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/hallway/secondary/exit/departure_lounge) "avh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/eva) +"avi" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth, +/area/mine/eva) "avk" = ( /obj/machinery/duct, /obj/effect/turf_decal/tile/yellow{ @@ -1374,13 +1471,15 @@ dir = 1 }, /area/station/engineering/atmos) -"avo" = ( -/obj/structure/stairs/east, +"avs" = ( /obj/structure/railing{ - dir = 1 + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "avP" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -1390,18 +1489,46 @@ /area/mine/laborcamp) "awa" = ( /turf/open/openspace, -/area/station/science/ordnance) +/area/station/science/ordnance/office) "awd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/security/armory/upper) +"awe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/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/stone, +/area/station/service/bar/atrium) "awn" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, /area/station/maintenance/fore/lesser) +"awt" = ( +/obj/structure/table, +/obj/item/kitchen/rollingpin, +/obj/item/reagent_containers/condiment/enzyme, +/obj/item/reagent_containers/condiment/sugar, +/obj/structure/light_construct/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"awu" = ( +/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/wood/parquet, +/area/station/service/bar/backroom) "awx" = ( /turf/open/floor/iron, /area/station/commons/locker) @@ -1426,11 +1553,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"awF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"awE" = ( +/obj/structure/closet/crate/freezer/food{ + name = "cooler" + }, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "awK" = ( /obj/structure/table, /obj/item/hemostat, @@ -1459,6 +1592,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"awO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/trash/raisins, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "awR" = ( /obj/machinery/conveyor{ dir = 1; @@ -1471,24 +1610,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) -"axb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/sign/warning/gas_mask/directional/north{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/turf/open/floor/vault, -/area/station/security/prison/rec) -"axc" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/preopen{ - id = "Biohazard"; - name = "Biohazard Containment Door" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/science/research) "axd" = ( /obj/structure/table, /obj/item/mod/module/plasma_stabilizer, @@ -1504,6 +1625,22 @@ /obj/machinery/modular_computer/preset/id, /turf/open/floor/iron, /area/station/command/bridge) +"axj" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "axm" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -1521,11 +1658,12 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"axy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) +"axw" = ( +/obj/structure/chair/stool/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "axz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -1538,12 +1676,6 @@ }, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) -"axC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/bookcase/random, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "axD" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -1588,6 +1720,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) +"axZ" = ( +/obj/structure/table/optable{ + name = "Robotics Operating Table" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) +"ayd" = ( +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "ayq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "atmos-entrance" @@ -1618,26 +1761,31 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ayJ" = ( -/obj/effect/spawner/random/lavaland_mob/raptor, -/turf/open/misc/asteroid/snow/icemoon, +"ayL" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"ayR" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/table/glass, -/obj/item/folder/white, -/obj/item/stamp/head/cmo, -/obj/item/clothing/neck/stethoscope, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"ayY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"ayS" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Security - Permabrig Lower Hallway Stairwell"; + network = list("ss13","prison") + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) +"aze" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs/medium{ dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/security/prison) "azf" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -1652,12 +1800,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"azt" = ( -/obj/machinery/door/airlock{ - name = "Unit B" - }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "azw" = ( /turf/closed/wall, /area/station/medical/pharmacy) @@ -1671,24 +1813,6 @@ /obj/effect/turf_decal/bot_red, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"azC" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Engineering Maintenance" - }, -/obj/structure/sign/warning/radiation/rad_area/directional/west, -/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/access/all/engineering/engine_equipment, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"azI" = ( -/obj/machinery/vending/autodrobe, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "azN" = ( /obj/structure/rack, /obj/item/tank/internals/emergency_oxygen{ @@ -1706,23 +1830,12 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"azU" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "robotics"; - name = "Robotics Lab Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/machinery/door/window/left/directional/south{ - name = "Robotics Desk"; - req_access = list("robotics") - }, -/turf/open/floor/plating, -/area/station/science/robotics/lab) +"aAe" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "aAi" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/table/wood/fancy/red, @@ -1739,10 +1852,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"aAk" = ( -/obj/structure/table/wood, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "aAl" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 1 @@ -1757,28 +1866,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) -"aAy" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/dice{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/effect/spawner/random/entertainment/money_small, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"aBb" = ( -/obj/structure/closet/emcloset, -/obj/item/pickaxe, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/service/hydroponics) "aBf" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/engine{ @@ -1797,14 +1884,21 @@ name = "Chief Medical Officer's Fax Machine" }, /obj/machinery/light/cold/directional/south, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"aBj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"aBK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"aBP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters3"; + name = "Pharmacy Shutters" }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/plating, +/area/station/service/kitchen) "aBR" = ( /turf/open/genturf/blue, /area/icemoon/surface/outdoors/noruins) @@ -1834,6 +1928,9 @@ pixel_x = -2; pixel_y = -1 }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/cargo/miningdock) "aCj" = ( @@ -1847,19 +1944,27 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/wood, /area/station/command/meeting_room) -"aCl" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "aCo" = ( /obj/structure/chair/wood{ dir = 8 }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"aCw" = ( +/obj/structure/disposalpipe/trunk, +/obj/structure/disposaloutlet{ + desc = "An outlet for the pneumatic disposal system. This one seems designed for rapid corpse disposal."; + dir = 1; + name = "rapid corpse mover 9000" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/effect/turf_decal/trimline/neutral/filled/end, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "aCA" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -1872,6 +1977,19 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"aCJ" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) +"aCP" = ( +/obj/machinery/modular_computer/preset/engineering, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/incident_display/bridge/directional/north, +/turf/open/floor/iron, +/area/station/command/bridge) "aCU" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment{ @@ -1889,10 +2007,23 @@ /obj/item/stock_parts/subspace/filter, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"aDe" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +"aDc" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Public Mining Storage"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/mine/storage) +"aDl" = ( +/obj/structure/rack, +/obj/item/bouquet, +/obj/item/binoculars, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "aDo" = ( /obj/structure/chair/office{ dir = 4 @@ -1901,13 +2032,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/station/service/library) -"aDy" = ( -/obj/machinery/light/directional/south, -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/poster/official/random/directional/south, +"aDr" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/area/station/science/breakroom) +"aDG" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "aDJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1915,25 +2051,18 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark/side, /area/station/security/prison) -"aDZ" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "bridge blast"; - name = "Bridge Blast Door" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/command/bridge) -"aEx" = ( -/obj/structure/closet/lasertag/blue, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) +"aDM" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"aEj" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) +"aEz" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "aEA" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -1953,20 +2082,10 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"aEK" = ( -/obj/machinery/atmospherics/components/binary/pump/off, -/obj/machinery/airlock_sensor/incinerator_ordmix{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "aEM" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/r_wall, -/area/station/cargo/warehouse) +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "aES" = ( /obj/structure/table/wood/fancy/blue, /obj/effect/spawner/random/aimodule/neutral, @@ -1984,6 +2103,10 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"aEY" = ( +/obj/structure/railing/corner, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "aFg" = ( /obj/machinery/button/door/directional/east{ id = "lawyer_blast"; @@ -1994,6 +2117,16 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) +"aFh" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/status_display/ai/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/chem_master/condimaster, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "aFi" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/portable_atmospherics/scrubber, @@ -2007,23 +2140,6 @@ /obj/machinery/dna_scannernew, /turf/open/floor/iron/dark, /area/station/science/genetics) -"aFx" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hooded/wintercoat/eva{ - pixel_y = 9 - }, -/obj/item/clothing/shoes/winterboots/ice_boots/eva{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/effect/turf_decal/delivery/red, -/obj/item/clothing/gloves/color/grey/protects_cold, -/obj/item/clothing/mask/gas, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/turf/open/floor/iron/textured, -/area/station/ai_monitored/command/storage/eva) "aFz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2053,26 +2169,10 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"aGf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"aGk" = ( -/obj/structure/rack, -/obj/item/wrench, -/obj/item/crowbar, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/engineering/flashlight, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) +"aGb" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "aGr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/directional/east{ @@ -2098,6 +2198,15 @@ /obj/item/papercutter, /turf/open/floor/iron, /area/station/cargo/office) +"aGR" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "aGW" = ( /obj/machinery/door/airlock/highsecurity{ name = "Labor Camp Monitoring" @@ -2108,13 +2217,35 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp) -"aHh" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 +"aHt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/table/reinforced, +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_x = -6; + pixel_y = -1 }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/machinery/button/door/incinerator_vent_atmos_main{ + pixel_x = 6; + pixel_y = -1 + }, +/obj/machinery/button/ignition/incinerator/atmos{ + pixel_y = 9 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) +"aHw" = ( +/obj/structure/rack, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "aHz" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -2141,6 +2272,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/station/command/meeting_room) +"aHX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "aHZ" = ( /obj/effect/turf_decal/tile/neutral/diagonal_edge, /obj/effect/landmark/start/cook, @@ -2153,10 +2301,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/service/chapel) -"aIg" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/main) +"aIn" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "aIr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2168,21 +2320,6 @@ dir = 9 }, /area/station/science/explab) -"aIA" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/hydroponics) "aIB" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 4 @@ -2221,6 +2358,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"aJa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"aJi" = ( +/obj/machinery/shower/directional/east, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "aJm" = ( /obj/structure/cable, /obj/machinery/door/window/left/directional/east{ @@ -2253,14 +2403,6 @@ /obj/item/lighter/greyscale, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/department/medical/morgue) -"aJz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/ordnance/office) "aJA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2300,6 +2442,12 @@ }, /turf/open/floor/plating, /area/station/engineering/transit_tube) +"aKb" = ( +/obj/structure/fence{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "aKf" = ( /obj/machinery/light_switch/directional/south, /obj/structure/chair/comfy/brown{ @@ -2339,16 +2487,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"aLh" = ( -/obj/structure/fireplace, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"aLo" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "aLy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2387,14 +2525,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"aLO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/sign/clock/directional/east, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) "aLV" = ( /obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron, @@ -2437,6 +2567,13 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) +"aMh" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "aMr" = ( /obj/structure/chair/office{ dir = 4 @@ -2457,18 +2594,16 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"aMA" = ( +/obj/structure/stairs/north, +/turf/open/floor/iron, +/area/station/service/chapel) "aME" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aMI" = ( -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/white, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "aML" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -2479,21 +2614,21 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"aNc" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/sign/nanotrasen, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) -"aNj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 +"aMU" = ( +/obj/structure/chair/office{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/remains/human, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"aMZ" = ( +/obj/structure/flora/grass/both/style_random, +/obj/item/stack/rods, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "aNq" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/siding/dark_blue, @@ -2523,22 +2658,48 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, /area/mine/eva/lower) -"aOa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, +"aNE" = ( +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"aOb" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_apiary"; + name = "Apiary Shutters" + }, /turf/open/floor/plating, -/area/station/maintenance/disposal) +/area/station/service/hydroponics) "aOd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/miningdock) +"aOe" = ( +/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/trimline/neutral/line, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "aOf" = ( /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, /area/mine/eva) +"aOx" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/vending/clothing, +/obj/structure/noticeboard/staff{ + pixel_y = 36 + }, +/turf/open/floor/iron, +/area/station/commons/locker) "aOz" = ( /obj/structure/chair{ dir = 4 @@ -2563,11 +2724,32 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"aOG" = ( +/obj/structure/fence/post{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "aOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/textured, /area/station/security/medical) +"aOU" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/trunk/multiz/down, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/aft) +"aOW" = ( +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aOX" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) @@ -2600,6 +2782,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"aPl" = ( +/obj/effect/turf_decal/tile/purple, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center East" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "aPD" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) @@ -2619,11 +2808,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"aPP" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "aPV" = ( /obj/effect/spawner/random/trash/mess, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2645,30 +2829,24 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) +"aPZ" = ( +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore/lesser) "aQe" = ( /obj/item/clothing/shoes/jackboots, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aQn" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/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/ordnance) -"aQy" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants/random/fullysynthetic{ - pixel_x = 10; - pixel_y = 19 - }, +"aQj" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/stone, -/area/mine/eva/lower) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "aQJ" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -2697,15 +2875,17 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"aRe" = ( +/obj/structure/cable/multilayer/multiz, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "aRj" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"aRl" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/smartfridge/extract/preloaded, -/turf/open/floor/iron, -/area/station/science/xenobiology) "aRm" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -2750,6 +2930,10 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"aRx" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/cargo/storage) "aRz" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow{ @@ -2773,12 +2957,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"aRQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/obj/effect/mapping_helpers/dead_body_placer, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "aRR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -2820,17 +2998,6 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"aSw" = ( -/obj/structure/rack, -/obj/item/lighter, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/reagent_containers/pill/patch/aiuri, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "aSB" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box, @@ -2855,6 +3022,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"aSM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "aSS" = ( /obj/effect/turf_decal/trimline/dark_red/end, /obj/machinery/meter, @@ -2862,6 +3042,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"aTc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "aTj" = ( /obj/structure/table, /obj/item/storage/belt/utility, @@ -2876,22 +3061,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"aTk" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Apiary" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) "aTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2901,6 +3070,9 @@ /area/station/maintenance/department/medical/central) "aTw" = ( /obj/structure/displaycase/captain, +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "aTE" = ( @@ -2914,12 +3086,6 @@ dir = 4 }, /area/station/medical/chem_storage) -"aTG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/teleporter) "aTH" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -2981,11 +3147,43 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"aUq" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/generic/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"aUo" = ( +/obj/structure/table/wood, +/obj/item/trapdoor_remote/preloaded{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/gavelblock{ + pixel_x = 5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) +"aUt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"aUu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "aUA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -2995,12 +3193,11 @@ /area/station/cargo/storage) "aUC" = ( /obj/structure/fence/door, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"aUD" = ( -/obj/structure/sign/departments/maint/alt, -/turf/closed/wall, -/area/station/maintenance/department/medical/morgue) "aUK" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering Equipment Storage" @@ -3009,20 +3206,18 @@ /obj/structure/closet/secure_closet/engineering_electrical, /turf/open/floor/iron/dark, /area/station/engineering/storage) +"aUM" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) "aUO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) -"aUR" = ( -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) "aUS" = ( /obj/machinery/meter{ name = "Mixed Air Tank In" @@ -3030,6 +3225,12 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"aUT" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "aVb" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -3058,21 +3259,18 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"aVp" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Mining B-1 Crater Observatory Access" - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/mine/living_quarters) "aVq" = ( /obj/structure/ore_box, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"aVr" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "aVw" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -3080,14 +3278,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"aVF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/textured, -/area/station/security/brig) "aVH" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/blue/half/contrasted, @@ -3098,35 +3288,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"aVJ" = ( -/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/stone, -/area/station/commons/lounge) -"aVU" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "virology_airlock_exterior"; - name = "Virology Exterior Airlock" - }, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_exterior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = -24; - req_access = list("virology") - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 +"aVM" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/white/smooth_large, +/obj/effect/landmark/start/hangover, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/white, /area/station/medical/virology) "aWb" = ( /obj/effect/turf_decal/stripes/line{ @@ -3151,14 +3319,47 @@ /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, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "aWk" = ( /obj/machinery/door/poddoor/shutters{ dir = 1; id = "armory"; name = "Armory Shutter" }, +/obj/machinery/button/door/directional/east{ + id = "armory"; + name = "Armory Shutters"; + req_access = list("armory") + }, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) +"aWo" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/decal/cleanable/dirt, +/obj/item/seeds/redbeet, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/green{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/mine/laborcamp) +"aWu" = ( +/obj/structure/barricade/wooden/snowed, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "aWD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3189,6 +3390,25 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp/security) +"aXc" = ( +/obj/structure/cable, +/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/fore) +"aXg" = ( +/obj/structure/ladder{ + name = "chemistry lab access" + }, +/obj/machinery/door/window/left/directional/south{ + name = "Morgue Access Hatch"; + req_access = list("medical") + }, +/obj/effect/turf_decal/stripes/end, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "aXp" = ( /obj/structure/cable, /obj/machinery/button/door/directional/west{ @@ -3204,28 +3424,41 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aXu" = ( -/obj/structure/chair/sofa/right/brown, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"aXv" = ( -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"aXx" = ( +"aXq" = ( /obj/item/bedsheet/red, /mob/living/simple_animal/bot/secbot/beepsky, /turf/open/floor/plating, /area/station/maintenance/fore) +"aXP" = ( +/obj/structure/barricade/wooden, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "aXY" = ( /obj/structure/rack, /obj/item/circuitboard/machine/monkey_recycler, /obj/structure/sign/poster/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"aYi" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/ecto_sniffer{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"aYk" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/berry, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "aYm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3240,6 +3473,15 @@ }, /turf/open/floor/iron, /area/station/commons/storage/mining) +"aYu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/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/freezer, +/area/station/service/kitchen/coldroom) "aYJ" = ( /turf/open/floor/iron/white, /area/station/science/research) @@ -3250,39 +3492,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/mine/production) -"aYO" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "aYQ" = ( /obj/machinery/shower/directional/south, /obj/item/soap/nanotrasen, /obj/item/bikehorn/rubberducky/plasticducky, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"aYS" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/emproof, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 10 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "aZd" = ( /turf/open/floor/plating, /area/station/medical/virology) @@ -3341,6 +3556,14 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"aZJ" = ( +/obj/item/toy/snowball{ + pixel_x = 11; + pixel_y = -7 + }, +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "aZK" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/table, @@ -3365,6 +3588,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"aZU" = ( +/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/stone, +/area/station/commons/lounge) "aZV" = ( /obj/effect/landmark/start/atmospheric_technician, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3403,13 +3633,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"bao" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"bap" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/iron/dark, +/area/station/service/chapel) "bar" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -3425,11 +3654,6 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"baE" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "baF" = ( /obj/structure/closet/l3closet/scientist, /obj/item/extinguisher, @@ -3441,6 +3665,13 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) +"baN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/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, +/area/station/science/ordnance) "baQ" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ dir = 4 @@ -3463,6 +3694,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"baX" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/stamp/head/rd{ + pixel_x = 3; + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "bbo" = ( /turf/open/floor/iron, /area/station/construction) @@ -3493,6 +3734,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"bbO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/end{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "bbQ" = ( /obj/structure/chair{ dir = 4 @@ -3503,17 +3751,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"bbU" = ( +/obj/structure/closet/toolcloset, +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/no_smoking/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "bbY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) -"bcf" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "bcm" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Lower Brig Cells"; @@ -3526,14 +3775,19 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) -"bcu" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ +"bcs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, -/obj/item/seeds/watermelon, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/mine/eva/lower) "bcx" = ( /obj/machinery/door/airlock/maintenance{ name = "Quartermaster Office Maintenance" @@ -3582,6 +3836,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/prison/rec) +"bdp" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment, +/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/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "bdr" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/blue/filled/warning, @@ -3648,14 +3914,28 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/wood, /area/station/service/library) -"bdX" = ( -/obj/item/toy/snowball{ - pixel_y = 3; - pixel_x = 3 +"bdT" = ( +/obj/structure/table/glass, +/obj/effect/spawner/random/entertainment/deck{ + pixel_x = -6 }, -/obj/item/toy/snowball, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) +/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 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Break Room"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "bea" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/icemoon, @@ -3673,14 +3953,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"beF" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +"beu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "beO" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -3709,20 +3988,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/mess) -"bfl" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bfo" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva/lower) -"bfy" = ( -/obj/effect/spawner/random/trash/bin, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bfL" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -3762,6 +4031,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"bfV" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) +"bge" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "bgs" = ( /obj/structure/sign/poster/random/directional/east, /obj/structure/cable, @@ -3844,12 +4126,11 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"bhk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"bhm" = ( +/obj/machinery/vending/coffee, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "bht" = ( /obj/structure/closet/lasertag/red, /obj/effect/spawner/random/contraband/permabrig_gear, @@ -3866,6 +4147,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) +"bhI" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"bhQ" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "bhV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3876,37 +4165,21 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"bid" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/bar, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Atrium" - }, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "bie" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/mine/production) -"bif" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/warning/radiation/rad_area/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics - HFR Decontamination Chamber" +"bij" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) -"bil" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) "bin" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 @@ -3930,14 +4203,24 @@ /obj/item/clothing/head/beanie/orange, /turf/open/floor/iron, /area/station/cargo/storage) -"biI" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Test Chamber"; - network = list("ss13","test","rd","xeno") +"biu" = ( +/obj/machinery/door/window/right/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" }, -/obj/machinery/light/directional/west, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"biE" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "biR" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -4015,6 +4298,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"bjI" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/west, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) +"bjK" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) +"bjL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "bjN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4066,15 +4371,15 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"bkF" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/decal/cleanable/dirt, +"bkQ" = ( +/obj/structure/tank_holder/extinguisher, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, -/area/station/science/explab) -"bkM" = ( -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/science/xenobiology) +"bkR" = ( +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "bkS" = ( /obj/machinery/bci_implanter, /turf/open/floor/iron/white/side{ @@ -4154,6 +4459,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/grass, /area/station/service/hydroponics/garden) +"blM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/bar) "blO" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -4184,10 +4497,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) -"blX" = ( -/obj/effect/decal/cleanable/dirt/dust, +"blY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/port/greater) +"bmc" = ( +/obj/structure/fence/post, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "bml" = ( /obj/structure/table, /obj/item/storage/medkit/regular, @@ -4206,21 +4526,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) -"bmT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 9 +"bng" = ( +/obj/machinery/light/small/dim/directional/west, +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"bna" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/stairs/medium{ dir = 1 }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/aft) +/area/station/commons/lounge) "bnh" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 7"; @@ -4240,6 +4554,27 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"bnm" = ( +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Service Hall" + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/service) "bnp" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -4249,6 +4584,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"bnr" = ( +/turf/open/floor/iron/white/side{ + dir = 8 + }, +/area/station/science/xenobiology) "bnt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4266,11 +4606,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"bnG" = ( -/obj/structure/sign/warning/fire/directional/west, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "bnL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance_hatch, @@ -4293,52 +4628,20 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"bod" = ( -/obj/structure/closet/crate/wooden, -/obj/item/camera_film{ - pixel_x = -4; - pixel_y = 4 +"boc" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Exfiltrate to Waste" }, -/obj/item/camera, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner/end{ + dir = 4 }, -/obj/structure/sign/poster/contraband/the_griffin/directional/south, -/turf/open/floor/iron/grimy, -/area/station/commons/vacant_room/office) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "bol" = ( /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"bon" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/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/dark, -/area/station/service/hydroponics) -"bor" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/holosign/barrier/atmos/sturdy, -/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" - }, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "bos" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 5 @@ -4369,23 +4672,22 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"bpa" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, +"boU" = ( +/obj/structure/rack, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth, +/area/mine/living_quarters) +"boX" = ( +/obj/machinery/duct, /obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/obj/machinery/light/small/red/directional/north, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) -"bpc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow/corner, +/turf/open/floor/iron, +/area/station/engineering/lobby) "bpd" = ( /obj/machinery/power/smes/engineering, /obj/effect/turf_decal/delivery, @@ -4394,11 +4696,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/engineering/engine_smes) -"bpf" = ( -/obj/machinery/computer/records/security, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "bpm" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -4420,33 +4717,29 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"bpv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"bpq" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/structure/railing/corner{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"bpD" = ( -/obj/machinery/newscaster/directional/south, -/obj/structure/closet/firecloset, -/turf/open/floor/iron/cafeteria{ - dir = 8 +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) +"bpw" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/landmark/event_spawn, +/obj/structure/railing/corner/end/flip{ + dir = 4 }, -/area/station/science/research) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "bpK" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"bpL" = ( -/obj/structure/noticeboard/directional/west, -/turf/open/floor/engine/cult, -/area/station/service/library) "bpQ" = ( /obj/machinery/mech_bay_recharge_port, /obj/structure/cable, @@ -4474,16 +4767,37 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"bpZ" = ( -/obj/item/radio/intercom/directional/west, -/obj/machinery/chem_dispenser, -/turf/open/floor/glass/reinforced, -/area/station/medical/treatment_center) +"bpY" = ( +/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, +/obj/structure/cable, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "bqe" = ( /obj/structure/grille, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"bqf" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) +"bqq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "bqr" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/north, @@ -4501,6 +4815,19 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/security/processing) +"bqz" = ( +/obj/machinery/hydroponics/constructable, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/cultivator, +/obj/item/seeds/potato, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/green{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/mine/laborcamp) "bqF" = ( /obj/structure/chair{ dir = 4 @@ -4515,10 +4842,13 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"bqX" = ( -/obj/machinery/air_sensor/ordnance_burn_chamber, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) +"bqS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "bqY" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -4533,6 +4863,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"brm" = ( +/obj/machinery/computer/holodeck{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "bro" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4559,15 +4898,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"brC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "brJ" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/event_spawn, @@ -4610,23 +4940,14 @@ }, /turf/open/floor/plating, /area/mine/eva/lower) -"bsc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) "bsd" = ( /obj/structure/chair/stool/directional/south, -/obj/structure/sign/poster/official/obey/directional/north, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /obj/machinery/light/small/dim/directional/west, +/obj/structure/sign/poster/official/obey/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) "bse" = ( @@ -4648,14 +4969,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) -"bsn" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" +"bso" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light_switch/directional/west{ + pixel_x = -39 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +/turf/open/floor/iron/checker, +/area/station/commons/storage/emergency/port) "bst" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -4697,6 +5018,21 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark, /area/station/maintenance/port/greater) +"bsW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/hydroponics) "bta" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -4725,6 +5061,14 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"btq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "bts" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -4754,6 +5098,20 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"btK" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "btU" = ( /turf/closed/wall, /area/station/medical/morgue) @@ -4798,39 +5156,44 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"buW" = ( -/obj/structure/lattice, -/obj/structure/sign/warning/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) +"buR" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/potato{ + name = "\improper Beepsky's emergency battery" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"buU" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, +/obj/item/clothing/shoes/wheelys/skishoes{ + pixel_y = -8 + }, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "buY" = ( /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/electrical) -"bvc" = ( -/obj/structure/minecart_rail{ - dir = 1 - }, -/obj/item/radio/intercom/directional/west{ - frequency = 1453; - name = "Kitchen Intercom" +"bvb" = ( +/obj/structure/fence/post{ + dir = 4 }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "bvd" = ( /obj/machinery/power/terminal, /obj/machinery/light/small/directional/east, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"bve" = ( -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/turf/open/openspace, -/area/station/medical/treatment_center) "bvg" = ( /obj/structure/railing{ dir = 4 @@ -4864,11 +5227,23 @@ /obj/machinery/autolathe, /turf/open/floor/iron, /area/station/cargo/office) -"bvu" = ( -/obj/machinery/light/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"bvw" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe{ + pixel_x = -5; + pixel_y = -8 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = -6; + pixel_x = 9 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "bvE" = ( /obj/machinery/computer/monitor{ name = "bridge power monitoring console" @@ -4895,43 +5270,30 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/department/medical/morgue) +"bvX" = ( +/obj/machinery/computer/security/hos, +/obj/machinery/requests_console/directional/north{ + department = "Head of Security's Desk"; + name = "Head of Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/item/radio/intercom/directional/west, +/obj/machinery/button/door/directional/north{ + id = "hosspace"; + name = "Icemoon Shutters Control" + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hos) "bvY" = ( /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"bwe" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "virology_airlock_interior"; - name = "Virology Interior Airlock" - }, -/obj/structure/cable, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_x = -24; - pixel_y = 5; - req_access = list("virology") - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/virology) "bwh" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/turf/closed/wall, -/area/station/service/hydroponics) +/turf/closed/wall/mineral/iron, +/area/icemoon/underground/explored) "bwi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4956,11 +5318,38 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"bwp" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "bwt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"bwD" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/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{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "bwK" = ( /obj/structure/bookcase/random/religion, /turf/open/floor/wood, @@ -5005,6 +5394,10 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/fore) +"bxS" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/fore) "bxU" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -5023,12 +5416,6 @@ dir = 5 }, /area/station/maintenance/port/aft) -"bxX" = ( -/obj/structure/chair/stool/directional/north, -/obj/structure/sign/poster/official/report_crimes/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/mine/laborcamp) "byd" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/light_switch/directional/south, @@ -5048,6 +5435,7 @@ /obj/machinery/camera/directional/north{ c_tag = "Cargo Bay Delivery Office" }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/cargo/sorting) "byn" = ( @@ -5087,11 +5475,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"byy" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "byB" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/icemoon, @@ -5100,6 +5483,16 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"byJ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "byK" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5111,18 +5504,16 @@ /obj/effect/mapping_helpers/mail_sorting/science/robotics, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"byO" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/mob/living/carbon/human/species/monkey/punpun, -/obj/item/kirbyplants/organic/plant11, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "byP" = ( /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/fore) +"bza" = ( +/obj/structure/fence/end{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "bzc" = ( /obj/machinery/status_display/evac/directional/east, /obj/effect/turf_decal/tile/blue, @@ -5143,14 +5534,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"bzB" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "bzC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5158,20 +5541,27 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"bzD" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "mining-aux-mechbay-external" + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining Mech Bay External Airlock"; + opacity = 0 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/mining, +/turf/open/floor/iron/large, +/area/mine/mechbay) "bzE" = ( /obj/structure/railing{ dir = 1 }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"bzF" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/item/aquarium_kit, -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "bzI" = ( /obj/machinery/bluespace_vendor/directional/west, /obj/effect/turf_decal/tile/blue{ @@ -5179,15 +5569,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"bzJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/camera/directional/north{ - c_tag = "Mining Mech Bay" - }, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/smooth, -/area/mine/mechbay) "bzQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5200,15 +5581,6 @@ "bzW" = ( /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"bzX" = ( -/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/plating, -/area/station/maintenance/starboard/lesser) "bAa" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -5216,6 +5588,19 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/carpet, /area/station/command/heads_quarters/qm) +"bAj" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "bAk" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet, @@ -5277,25 +5662,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bBa" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/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, -/area/station/service/hydroponics) -"bBb" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "bBd" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -5304,24 +5670,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/lobby) -"bBn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/cable/multilayer/multiz, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bBw" = ( /obj/item/trash/sosjerky, /turf/open/floor/plating, @@ -5353,14 +5701,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) +"bBO" = ( +/obj/effect/spawner/random/decoration/flower, +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "bBW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"bCc" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/aft) "bCd" = ( /obj/machinery/door/airlock/maintenance{ name = "Genetics Lab Maintenance" @@ -5391,24 +5740,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"bCq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"bCr" = ( -/obj/machinery/door/window/left/directional/north{ - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/item/folder/white, -/obj/item/pen, -/obj/machinery/door/firedoor, -/obj/structure/sign/warning/fire/directional/west, -/obj/structure/table/reinforced, -/turf/open/floor/plating, -/area/station/medical/treatment_center) "bCs" = ( /obj/machinery/door/airlock/engineering{ name = "Construction Area" @@ -5427,12 +5758,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/medical/virology) -"bCL" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table/glass, -/obj/item/storage/box/monkeycubes, -/turf/open/floor/iron, -/area/station/science/xenobiology) +"bCN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner, +/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/morgue) "bCQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -5447,32 +5787,15 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"bCW" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "bridge blast"; - name = "Bridge Blast Door" - }, -/obj/effect/turf_decal/delivery, -/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/command/bridge) -"bDd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/prison/workout) "bDj" = ( /obj/machinery/light/warm/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) "bDl" = ( /obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "bDu" = ( @@ -5486,6 +5809,12 @@ dir = 4 }, /area/station/engineering/lobby) +"bDB" = ( +/obj/structure/plaque/static_plaque/golden/commission/icebox{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "bDC" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm_B"; @@ -5562,32 +5891,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) -"bEh" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/structure/sign/warning/gas_mask/directional/west{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Xenobiology External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "bEi" = ( /obj/structure/sign/poster/official/work_for_a_future/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"bEo" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, -/area/station/maintenance/aft/greater) +"bEk" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) +"bEn" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "bEz" = ( /obj/machinery/door/airlock/command/glass{ name = "Secure EVA Storage" @@ -5605,20 +5928,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/command/storage/eva) -"bEB" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) -"bEH" = ( -/obj/structure/stairs/north{ - dir = 4 - }, -/turf/open/floor/iron/stairs/old{ - dir = 4 - }, -/area/station/engineering/atmos/storage) "bEJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -5626,6 +5935,9 @@ /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/border_only{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "bEL" = ( @@ -5653,22 +5965,48 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bFr" = ( -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/iron, -/area/station/science/xenobiology) "bFs" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bFS" = ( -/obj/item/crowbar/red, +"bFx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark, +/area/mine/storage) +"bFA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) +"bFP" = ( +/obj/structure/fence/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"bFW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "bFY" = ( /obj/item/trash/syndi_cakes, /turf/open/floor/plating, @@ -5679,14 +6017,11 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"bGf" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"bGc" = ( +/obj/machinery/computer/cargo/request, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "bGm" = ( /obj/machinery/firealarm/directional/south, /obj/structure/filingcabinet/filingcabinet, @@ -5695,17 +6030,29 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"bGn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/mine/eva) +"bGq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bGA" = ( /obj/effect/spawner/structure/window, /obj/structure/sign/departments/xenobio/directional/south, /turf/open/floor/plating, /area/station/science/xenobiology) -"bGD" = ( -/obj/structure/table/reinforced, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) "bGP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -5715,6 +6062,15 @@ dir = 1 }, /area/mine/eva) +"bGS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/fore/lesser) "bGT" = ( /obj/machinery/light/directional/south, /obj/structure/closet/firecloset, @@ -5730,6 +6086,14 @@ dir = 4 }, /area/station/command/heads_quarters/rd) +"bHc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "bHu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -5752,6 +6116,10 @@ }, /turf/open/floor/plating, /area/station/hallway/primary/fore) +"bHJ" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "bHO" = ( /obj/machinery/light_switch/directional/south{ pixel_x = 6; @@ -5760,11 +6128,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"bHZ" = ( -/obj/effect/spawner/random/trash/mess, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "bIa" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8; @@ -5788,21 +6151,6 @@ dir = 4 }, /area/station/ai_monitored/command/storage/eva) -"bId" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "bIl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -5823,15 +6171,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) -"bIq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bIt" = ( /obj/structure/rack, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -5933,37 +6272,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/mine/laborcamp) -"bJy" = ( -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = 8; - pixel_y = -32 - }, -/obj/machinery/button/door/directional/south{ - id = "hopqueue"; - name = "Queue Shutters Control"; - pixel_x = -8; - req_access = list("hop") - }, -/obj/machinery/button/door/directional/south{ - id = "hop"; - name = "Privacy Shutters Control"; - pixel_x = 8; - req_access = list("hop") - }, -/obj/machinery/button/ticket_machine{ - pixel_x = -8; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/obj/item/paper/fluff/ids_for_dummies, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "bJD" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ dir = 4 @@ -5973,14 +6281,6 @@ "bJE" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"bJJ" = ( -/obj/machinery/computer/mech_bay_power_console{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "bJQ" = ( /obj/structure/table/wood, /obj/item/stack/package_wrap, @@ -5990,13 +6290,11 @@ }, /turf/open/floor/wood, /area/station/service/library) -"bKm" = ( -/obj/machinery/vending/assist, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) +"bJX" = ( +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/robot_debris/down, +/turf/open/floor/iron/checker, +/area/station/maintenance/port/fore) "bKp" = ( /obj/machinery/door/airlock/maintenance{ name = "Firefighting Equipment" @@ -6015,6 +6313,25 @@ }, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"bKE" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/brown{ + dir = 4 + }, +/obj/machinery/button/door/directional/north{ + id = "miningdorm_B"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/stellar, +/area/mine/production) "bKI" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/disposal/bin, @@ -6047,19 +6364,6 @@ dir = 5 }, /area/station/maintenance/port/aft) -"bLa" = ( -/obj/structure/bed, -/obj/machinery/airalarm/directional/north, -/obj/effect/spawner/random/bedsheet, -/obj/machinery/button/door/directional/east{ - id = "Dorm1"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/item/pillow/random, -/turf/open/floor/carpet, -/area/station/commons/dorms) "bLc" = ( /turf/open/floor/iron/dark/textured_edge{ dir = 1 @@ -6070,12 +6374,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) -"bLf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "bLn" = ( /obj/machinery/light/directional/west, /obj/item/radio/intercom/directional/west, @@ -6149,12 +6447,10 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bMe" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"bMk" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/station/commons/lounge) "bMz" = ( /obj/docking_port/stationary{ dir = 8; @@ -6186,24 +6482,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"bNo" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "QMLoad" - }, -/obj/machinery/door/poddoor{ - id = "QMLoaddoor"; - name = "Supply Dock Loading Door" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) -"bNu" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) "bNy" = ( /obj/item/toy/snowball{ pixel_x = 9; @@ -6211,6 +6489,12 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"bNC" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "bNE" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Atmospherics Monitoring" @@ -6239,11 +6523,14 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/processing) "bOh" = ( -/obj/machinery/airalarm/directional/north, -/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/table/wood, +/obj/item/folder/red, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "bOj" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -6257,15 +6544,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/construction) -"bOn" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Gambling Lounge" - }, -/obj/machinery/computer/slot_machine{ - name = "two-armed bandit" - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "bOo" = ( /obj/effect/turf_decal/arrows/white{ dir = 4 @@ -6275,15 +6553,18 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"bOy" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/spawner/random/vending/snackvend, -/obj/machinery/camera/directional/east{ - c_tag = "Engineering Lobby" +"bOp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/newscaster/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay North"; + network = list("ss13","medbay") }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bOz" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 1 @@ -6299,12 +6580,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"bOT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "bOX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6316,27 +6591,41 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) "bOZ" = ( -/obj/effect/spawner/random/structure/musician/piano/random_piano, -/obj/machinery/button/curtain{ - id = "cantena_curtains"; - pixel_x = -30 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "bPc" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"bPk" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) +"bPl" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/security/courtroom) "bPn" = ( /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"bPp" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access"; + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "bPr" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -6396,12 +6685,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) -"bPR" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "bPV" = ( /obj/item/kirbyplants/random/dead, /turf/open/floor/plating/snowed/icemoon, @@ -6418,20 +6701,19 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) -"bQd" = ( -/obj/structure/fireaxecabinet/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "bQh" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/corner{ dir = 1 }, /area/station/hallway/primary/starboard) +"bQx" = ( +/obj/structure/ladder{ + name = "upper dispenser access" + }, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/chemistry) "bQA" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -6448,14 +6730,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"bQV" = ( -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bRb" = ( /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, @@ -6469,6 +6743,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"bRj" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/closet/emcloset/anchored, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/engineering/main) "bRl" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/effect/decal/cleanable/dirt, @@ -6490,19 +6770,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"bRx" = ( -/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, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "bRz" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -6535,18 +6802,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"bRO" = ( -/obj/item/reagent_containers/cup/soda_cans/beer{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bSi" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "bSk" = ( /obj/machinery/door/poddoor/preopen{ id = "Prison Gate"; @@ -6568,21 +6830,22 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/eighties/red, /area/station/security/prison/safe) +"bSp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "bSz" = ( /obj/structure/railing{ dir = 8 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"bSC" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center" - }, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "bSG" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -6599,11 +6862,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bSX" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/chair/sofa/right/brown, -/turf/open/floor/carpet/blue, -/area/station/security/prison/work) +"bSW" = ( +/obj/structure/bed, +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/button/door/directional/east{ + id = "Dorm1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/item/pillow/random, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bTl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6624,6 +6895,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"bTE" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "bTF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6632,13 +6916,21 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"bTQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"bTJ" = ( +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/north, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) +"bTM" = ( +/obj/structure/closet/crate, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/smooth, +/area/mine/eva/lower) "bUa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6647,13 +6939,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"bUp" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/security/prison/garden) "bUx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore) +"bUy" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/bar) "bUH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -6675,6 +6970,15 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"bUS" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "bUW" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -6706,6 +7010,13 @@ /obj/item/clothing/gloves/latex/nitrile, /turf/open/floor/iron/dark, /area/station/medical/storage) +"bVs" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Security - Permabrig Observation Prep"; + network = list("ss13","prison") + }, +/turf/open/floor/vault, +/area/station/security/prison/rec) "bVv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6713,6 +7024,18 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"bVx" = ( +/obj/item/trash/popcorn, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) "bVI" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -6746,19 +7069,22 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"bVY" = ( -/obj/machinery/hydroponics/constructable, -/obj/item/seeds/soya, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 +"bVT" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/spawner/random/contraband/prison, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) -"bVZ" = ( -/obj/structure/sign/poster/contraband/the_big_gas_giant_truth, -/turf/closed/wall, -/area/station/maintenance/department/medical/central) +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/work) "bWe" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle, @@ -6785,14 +7111,37 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron/dark, /area/station/service/chapel) +"bWv" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "bWy" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/atmos) +"bWH" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/science/ordnance) "bWK" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"bWM" = ( +/obj/structure/stairs/south, +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/medical/virology) "bWQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -6802,6 +7151,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"bWU" = ( +/obj/machinery/button/door/directional/west{ + id = "xenobio4"; + name = "Xenobio Pen 4 Blast Door"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "bWV" = ( /obj/structure/closet/crate, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -6814,13 +7171,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bXb" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/plastic, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bXf" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -6864,6 +7214,12 @@ "bXy" = ( /turf/open/openspace, /area/station/ai_monitored/security/armory/upper) +"bXD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "bXF" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/ai_all, @@ -6879,20 +7235,6 @@ dir = 1 }, /area/station/security/prison) -"bXL" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/white, -/area/station/science/research) -"bXT" = ( -/obj/machinery/camera{ - c_tag = "Medbay Storage"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/structure/closet/l3closet, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "bYd" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/light/small/directional/west, @@ -6915,10 +7257,6 @@ dir = 8 }, /area/station/service/chapel) -"bYr" = ( -/obj/structure/fence, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "bYu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -6932,12 +7270,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) -"bYx" = ( -/obj/structure/fence/post{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "bYz" = ( /obj/machinery/conveyor{ dir = 8; @@ -6961,6 +7293,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) +"bYC" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Backroom" + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "bYF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6978,6 +7318,15 @@ }, /turf/open/floor/glass/reinforced, /area/station/medical/treatment_center) +"bYR" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "bYS" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7042,26 +7391,37 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) +"bZm" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Hall" + }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "bZx" = ( /turf/open/openspace, /area/station/hallway/primary/fore) -"bZB" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hooded/wintercoat/eva{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/clothing/shoes/winterboots/ice_boots/eva{ - pixel_x = -1; - pixel_y = 4 +"bZC" = ( +/obj/structure/lattice, +/obj/structure/sign/poster/official/report_crimes/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) +"bZI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/delivery/red, -/obj/item/clothing/gloves/color/grey/protects_cold, -/obj/item/clothing/mask/gas, -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/floor/iron/textured, -/area/station/ai_monitored/command/storage/eva) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) "bZK" = ( /obj/structure/table, /obj/effect/turf_decal/tile/red, @@ -7070,34 +7430,54 @@ "bZQ" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/starboard) -"bZU" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/mapping_helpers/mail_sorting/service/dormitories, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "bZV" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cag" = ( -/obj/effect/turf_decal/siding/wood{ +"bZW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"cah" = ( +/obj/machinery/status_display/supply{ + pixel_x = -32 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) +"cax" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Atrium" + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/sign/picture_frame/portrait/bar{ + pixel_y = 32 + }, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) +"caA" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/glass, +/obj/item/book/manual/hydroponics_pod_people, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/obj/machinery/light/small/directional/west, +/obj/item/plant_analyzer, +/obj/item/watertank{ + pixel_y = -3; + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "caC" = ( /obj/machinery/door/window/right/directional/west{ name = "Monkey Pen"; @@ -7113,18 +7493,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/large, /area/station/hallway/primary/port) -"caU" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"caX" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "caY" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -7144,56 +7512,39 @@ "cbk" = ( /turf/open/floor/iron, /area/mine/mechbay) -"cbq" = ( -/obj/structure/plasticflaps/opaque, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Research Division" - }, -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) "cbs" = ( /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/hallway/primary/starboard) -"cbu" = ( -/obj/machinery/vatgrower{ - dir = 4 +"cby" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/trimline/blue/filled/warning{ + 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/service/hydroponics) "cbz" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"cbF" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "rnd2"; - name = "Research Lab Shutters" +"cbC" = ( +/obj/machinery/meter, +/obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ + dir = 1 }, -/obj/effect/turf_decal/siding/purple/corner{ +/obj/machinery/atmospherics/pipe/layer_manifold/pink/visible{ dir = 4 }, -/turf/open/floor/iron, -/area/station/science/lab) -"cbP" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio9"; - name = "Xenobio Pen 9 Blast DOors"; - req_access = list("xenobiology") - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/no_smoking/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "ccg" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -7226,6 +7577,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"cct" = ( +/obj/structure/noticeboard/captain{ + pixel_y = 36 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"ccv" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 3 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 3 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/textured, +/area/mine/mechbay) "ccw" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -7260,6 +7629,18 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) +"ccF" = ( +/obj/structure/cable, +/mob/living/basic/bear/snow/misha, +/obj/structure/bed/dogbed/misha, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hos) +"ccL" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ccQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -7269,6 +7650,11 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ccR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/sink/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "ccS" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 4 @@ -7297,13 +7683,6 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) -"ccX" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/spawner/random/medical/patient_stretcher, -/obj/effect/decal/cleanable/blood/gibs/torso, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/security/prison/safe) "ccZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 @@ -7334,28 +7713,12 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cdO" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, +"cdp" = ( +/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/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"cdX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/workout) "cef" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -7367,16 +7730,21 @@ /obj/structure/grille, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"cem" = ( -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "ceo" = ( /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/cargo/storage) +"cew" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "cex" = ( /obj/machinery/computer/piratepad_control/civilian{ dir = 1 @@ -7400,6 +7768,24 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) +"ceF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/conveyor{ + id = "mining_internal" + }, +/obj/machinery/bouldertech/refinery, +/obj/machinery/camera/directional/east{ + c_tag = "Mining Ore Smeltery"; + network = list("ss13", "mine") + }, +/turf/open/floor/iron, +/area/mine/production) "ceO" = ( /obj/machinery/button/crematorium{ id = "crematoriumChapel"; @@ -7411,6 +7797,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"ceQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/minecart_rail/railbreak, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "ceS" = ( /obj/machinery/mech_bay_recharge_port{ dir = 1 @@ -7419,21 +7813,6 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"ceU" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" - }, -/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/effect/mapping_helpers/airlock/access/any/security/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ceY" = ( /obj/machinery/door/poddoor/preopen{ id = "Disposal Exit"; @@ -7495,6 +7874,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"cft" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cfC" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ @@ -7502,6 +7896,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"cfR" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "cfS" = ( /obj/item/clothing/suit/costume/snowman{ name = "Man of Snow" @@ -7512,22 +7914,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"cfT" = ( -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/lobby) "cga" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -7540,19 +7926,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"cgd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/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/freezer, -/area/station/service/kitchen/coldroom) -"cge" = ( -/obj/machinery/light/dim/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "cgs" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, @@ -7570,6 +7943,10 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"cgB" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "cgC" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -7595,10 +7972,27 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"chb" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"chc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "chg" = ( /obj/structure/fence/door, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"chn" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cht" = ( /obj/machinery/vending/engivend, /obj/machinery/light/small/directional/north, @@ -7655,16 +8049,11 @@ }, /turf/open/floor/iron/white/side, /area/mine/living_quarters) -"chW" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/chem_master, -/obj/structure/sign/warning/no_smoking/circle{ - pixel_x = -27; - pixel_y = -26 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/glass/reinforced, -/area/station/medical/treatment_center) +"cie" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cih" = ( /obj/machinery/button/door/directional/west{ id = "chemistry_lower_shutters"; @@ -7685,6 +8074,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"cip" = ( +/obj/machinery/atmospherics/components/tank/air{ + initialize_directions = 3; + dir = 3 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "ciG" = ( /obj/machinery/door/airlock/external{ name = "Security Yard"; @@ -7697,13 +8095,6 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"ciH" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/commons/dorms/laundry) "ciI" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/neutral/opposingcorners, @@ -7727,23 +8118,11 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"cjh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"ciU" = ( +/obj/structure/barricade/wooden, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"cjz" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/rack, -/obj/item/stack/ducts/fifty, -/obj/item/storage/box/swab, -/obj/effect/spawner/random/contraband/permabrig_gear, -/turf/open/floor/iron/grimy, -/area/station/security/prison/work) +/area/station/maintenance/aft/lesser) "cjI" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -7776,13 +8155,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"ckc" = ( -/obj/machinery/door/firedoor, -/obj/machinery/camera/directional/south{ - c_tag = "Central Hallway South-West" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "cke" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7792,11 +8164,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"cki" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "cks" = ( /obj/item/wrench, /obj/effect/turf_decal/delivery, @@ -7804,6 +8171,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"ckL" = ( +/obj/structure/fence/corner{ + dir = 2; + pixel_y = 0 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "ckN" = ( /obj/structure/cable, /obj/machinery/newscaster/directional/south, @@ -7817,6 +8191,13 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"ckX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/stairs/right{ + dir = 4 + }, +/area/station/engineering/lobby) "cll" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7831,12 +8212,6 @@ /obj/effect/spawner/random/maintenance/seven, /turf/open/floor/plating, /area/station/construction) -"clo" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/small/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) "clq" = ( /turf/open/floor/iron/dark, /area/station/security/processing) @@ -7851,30 +8226,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/storage/mining) -"clG" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/misc/asteroid/snow/icemoon, -/area/station/engineering/main) "clI" = ( /obj/structure/sign/warning/biohazard/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"clK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/large, -/area/station/medical/medbay/lobby) "clP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7920,21 +8275,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"cmd" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/smartfridge/drying, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"cmg" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron, -/area/station/service/hydroponics) "cmq" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -7945,15 +8285,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"cmv" = ( -/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 = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "cmw" = ( /obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ @@ -7992,17 +8323,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"cmK" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/west, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 3 - }, -/obj/item/storage/photo_album/bar, -/obj/item/toy/figure/bartender, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "cmL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8021,6 +8341,7 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 4 }, +/obj/structure/closet/crate/trashcart, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) "cmV" = ( @@ -8035,9 +8356,22 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) +"cmY" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_centre, +/obj/machinery/atmospherics/pipe/multiz/pink/visible{ + dir = 4; + name = "Exfiltrate" + }, +/obj/effect/turf_decal/tile/red/diagonal_edge, +/obj/structure/sign/warning/fire/directional/north, +/turf/open/floor/iron/dark/diagonal, +/area/station/engineering/atmos/mix) "cmZ" = ( /obj/item/clothing/suit/hooded/wintercoat/engineering, /obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "cnb" = ( @@ -8052,10 +8386,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cnh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "cnj" = ( /obj/structure/fence/door{ name = "graveyard" @@ -8096,15 +8426,18 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"cnS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +"cod" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/stool/directional/east, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) +"coe" = ( /obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/structure/closet/crate, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "coT" = ( /obj/structure/table, /obj/item/storage/wallet, @@ -8153,6 +8486,11 @@ /obj/machinery/light/small/directional/east, /turf/open/openspace, /area/station/service/chapel) +"cps" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/wallet/random, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "cpt" = ( /obj/structure/fence/corner{ dir = 9 @@ -8189,10 +8527,6 @@ }, /turf/open/floor/plating, /area/station/engineering/engine_smes) -"cpO" = ( -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cpT" = ( /obj/item/kirbyplants/random, /obj/machinery/status_display/evac/directional/south, @@ -8201,6 +8535,13 @@ "cpY" = ( /turf/closed/wall, /area/station/service/kitchen) +"cqb" = ( +/obj/machinery/food_cart, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/sign/poster/official/cleanliness/directional/north, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "cqh" = ( /obj/machinery/door/airlock/maintenance{ name = "Library Maintenance" @@ -8216,13 +8557,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cql" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cqo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8233,24 +8567,12 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"cqs" = ( -/obj/item/toy/snowball{ - pixel_y = -7; - pixel_x = 5 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) -"cqv" = ( -/obj/effect/landmark/blobstart, -/obj/machinery/camera{ - c_tag = "Virology Pen"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, -/obj/machinery/light/small/directional/north, -/turf/open/floor/grass, -/area/station/medical/virology) +"cqw" = ( +/obj/structure/table/wood, +/obj/item/c_tube, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cqx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8266,8 +8588,18 @@ /obj/machinery/camera/directional/west{ c_tag = "Solar Maintenance - South West Access" }, +/obj/structure/sign/warning/electric_shock/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"cqN" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/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) "cqO" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 10 @@ -8283,25 +8615,28 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) -"crg" = ( -/obj/machinery/door/morgue{ - name = "Confession Booth" +"crf" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/obj/structure/sign/departments/security/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "crn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/science/genetics) -"crO" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/corner/end/flip{ - dir = 1 +"crv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/turf/open/floor/iron, +/area/station/commons/fitness) "crS" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /turf/open/floor/wood, @@ -8312,6 +8647,13 @@ /obj/structure/sign/poster/ripped/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"crW" = ( +/obj/structure/railing, +/obj/structure/stairs/west, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/science/cytology) "cse" = ( /obj/machinery/door/airlock/maintenance{ name = "Cargo Bay Maintenance" @@ -8335,13 +8677,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"css" = ( -/obj/structure/table/wood, -/obj/structure/reagent_dispensers/beerkeg, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) +"csu" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "csB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -8352,23 +8696,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"csJ" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/service/chapel) "csT" = ( /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"csV" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored/graveyard) -"csZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "ctk" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8383,6 +8717,13 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"ctm" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "ctr" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/stripes/line{ @@ -8392,6 +8733,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"ctC" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ctE" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/south, @@ -8402,10 +8749,6 @@ }, /turf/open/floor/iron/dark/smooth_half, /area/station/security/office) -"ctF" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) "ctI" = ( /obj/machinery/telecomms/processor/preset_three, /turf/open/floor/iron/dark/telecomms, @@ -8421,16 +8764,19 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"ctS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "ctY" = ( /obj/structure/tank_holder/anesthetic, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"cua" = ( -/obj/machinery/button/photobooth{ - pixel_y = -26 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "cuc" = ( /obj/effect/turf_decal/siding/thinplating_new, /turf/open/floor/iron, @@ -8472,10 +8818,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"cuB" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "cuJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -8517,6 +8859,37 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"cvj" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/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/ordnance) +"cvn" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/sink/kitchen/directional/south, +/obj/structure/mirror/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom Access" + }, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "cvq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -8549,6 +8922,19 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"cvH" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) +"cvJ" = ( +/obj/structure/fence/cut/medium{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cvN" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -8566,12 +8952,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"cwh" = ( -/obj/structure/plaque/static_plaque/golden/commission/icebox{ - pixel_y = 29 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cwj" = ( /obj/machinery/requests_console/directional/south{ department = "Atmospherics"; @@ -8590,6 +8970,10 @@ "cwn" = ( /obj/structure/cable, /obj/structure/transit_tube/crossing/horizontal, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "cwr" = ( @@ -8616,10 +9000,20 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/storage) +"cwH" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cwO" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"cwT" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cxd" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark/side{ @@ -8644,6 +9038,11 @@ /obj/item/clothing/suit/costume/wellworn_shirt/graphic/ian, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"cxt" = ( +/obj/structure/table, +/obj/item/food/chococoin, +/turf/open/floor/iron/smooth, +/area/mine/eva) "cxz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8661,17 +9060,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"cxD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"cxI" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Drone Bay" }, -/obj/effect/turf_decal/siding/wood{ +/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{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/effect/turf_decal/siding/brown/corner{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "cxO" = ( /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) @@ -8696,12 +9100,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) -"cxT" = ( -/obj/structure/table/wood, -/obj/item/plate, -/obj/effect/spawner/random/trash/bacteria, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "cyh" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -8722,20 +9120,6 @@ /obj/effect/spawner/random/structure/barricade, /turf/open/floor/plating, /area/station/commons/vacant_room/office) -"cyG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) "cyH" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -8778,43 +9162,28 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"cyV" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "cyX" = ( /obj/machinery/recharge_station, /obj/item/radio/intercom/directional/west, /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"cyZ" = ( -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/fore) "czi" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"czj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "czl" = ( /obj/effect/turf_decal/tile/brown/fourcorners, /obj/machinery/modular_computer/preset/cargochat/engineering, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"czo" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/sign/poster/official/help_others/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/commons/fitness) "czq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -8837,41 +9206,9 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"czz" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = -24; - pixel_y = -6 - }, -/obj/machinery/button/door/directional/west{ - id = "Disposal Exit"; - name = "Disposal Vent Control"; - pixel_y = 4; - req_access = list("maint_tunnels") - }, -/obj/structure/chair/stool/directional/south{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal) "czD" = ( /turf/closed/wall, /area/mine/laborcamp/security) -"czF" = ( -/obj/machinery/smartfridge/organ, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) -"czO" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "czR" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/camera/directional/south{ @@ -8880,31 +9217,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"czS" = ( -/obj/structure/cable, -/obj/structure/table, -/obj/item/storage/medkit/regular, -/obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "czW" = ( /obj/structure/weightmachine, /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) -"czY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "cAe" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/random/trash/grille_or_waste, @@ -8941,11 +9258,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"cAz" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/wood, -/area/station/security/courtroom) "cAB" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/airalarm/directional/west, @@ -8973,10 +9285,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/depsec/medical, -/obj/machinery/light_switch/directional/south{ - pixel_x = -21; - pixel_y = -25 - }, /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) @@ -9024,23 +9332,38 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"cBn" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"cBD" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +"cBk" = ( +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"cBv" = ( +/obj/machinery/button/door/directional/east{ + id = "misclab"; + name = "Test Chamber Blast Doors"; + pixel_y = 6; + req_access = list("xenobiology") + }, +/obj/machinery/button/door/directional/east{ + id = "xenobiomain"; + name = "Xenobiology Containment Blast Door"; + pixel_y = -6; + req_access = list("xenobiology") + }, +/obj/structure/railing/corner/end/flip{ dir = 4 }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "cBG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9048,10 +9371,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/prison/workout) -"cBJ" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cBP" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp{ @@ -9065,9 +9384,6 @@ /area/station/security/courtroom) "cBU" = ( /obj/structure/table, -/obj/structure/sign/plaques/kiddie{ - pixel_x = 32 - }, /obj/machinery/camera/motion/directional/east{ c_tag = "AI Upload East"; network = list("aiupload") @@ -9077,20 +9393,15 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) "cCb" = ( /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"cCe" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "cCt" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_all, @@ -9103,41 +9414,14 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/white/smooth_large, /area/station/science/genetics) -"cCD" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"cCF" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/window/reinforced/spawner/directional/west, +"cCG" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/seeds/carrot, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 8 +/obj/machinery/button/flasher{ + pixel_y = -30; + id = "GulagCell 2" }, -/turf/open/floor/iron/dark, +/turf/open/floor/iron, /area/mine/laborcamp) -"cCR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"cCT" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "cCW" = ( /obj/machinery/conveyor/inverted{ dir = 6; @@ -9172,6 +9456,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"cDv" = ( +/obj/item/stack/rods/fifty, +/obj/structure/rack, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil{ + amount = 5 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) "cDw" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/glass{ @@ -9214,22 +9515,33 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) -"cEh" = ( -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/turf/open/floor/plating, -/area/mine/mechbay) +"cEe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "cEi" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/medical_all, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"cEl" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + pixel_x = -9 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "cEo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -9262,6 +9574,10 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"cEz" = ( +/obj/structure/sign/departments/holy/directional/north, +/turf/open/openspace, +/area/station/service/chapel) "cEG" = ( /obj/effect/spawner/random/trash/cigbutt, /obj/effect/spawner/random/trash/cigbutt, @@ -9296,26 +9612,20 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/smooth_edge, /area/station/security/lockers) -"cFc" = ( -/obj/structure/rack, -/obj/effect/spawner/random/contraband/permabrig_gear, -/obj/structure/sign/warning/cold_temp/directional/west, -/turf/open/floor/vault, -/area/station/security/prison/rec) +"cFr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cFJ" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"cFX" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/obj/structure/chair/stool/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/light/small/directional/west, +"cFM" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, -/area/station/command/gateway) +/area/station/ai_monitored/turret_protected/ai) "cFZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9359,22 +9669,13 @@ "cGA" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"cGI" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ +"cGB" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/kitchen) +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "cGQ" = ( /obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ @@ -9382,6 +9683,18 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"cGS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/disposal) +"cGZ" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/service/hydroponics) "cHb" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -9415,6 +9728,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"cHA" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate, +/turf/open/floor/iron/smooth, +/area/mine/living_quarters) "cHB" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/plating, @@ -9451,9 +9769,20 @@ /obj/machinery/digital_clock/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cIb" = ( +/obj/machinery/dna_scannernew, +/obj/structure/sign/warning/test_chamber/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "cIc" = ( /turf/closed/wall, /area/station/security/prison/work) +"cIf" = ( +/obj/structure/fence/corner{ + dir = 9 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cIq" = ( /obj/machinery/computer/slot_machine{ balance = 15; @@ -9473,6 +9802,7 @@ /area/station/maintenance/fore) "cIP" = ( /obj/machinery/bookbinder, +/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/wood, /area/station/service/library) "cIU" = ( @@ -9490,20 +9820,36 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) -"cJa" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "cJb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) +"cJd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "riot"; + name = "Anti-Riot Shutters"; + req_access = list("security") + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "cJi" = ( /obj/structure/sign/warning, /turf/closed/wall/r_wall, /area/station/security/warden) +"cJk" = ( +/obj/machinery/chem_mass_spec, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "cJs" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -9539,6 +9885,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cJX" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "cKe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9552,14 +9910,6 @@ dir = 6 }, /area/station/science/research) -"cKp" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "cKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9572,6 +9922,16 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/processing) +"cKy" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/work) "cKA" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -9601,30 +9961,22 @@ /obj/structure/bookcase/random/reference, /turf/open/floor/carpet/blue, /area/station/medical/psychology) -"cKJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) -"cLf" = ( -/obj/structure/rack, -/obj/item/shovel, -/obj/item/clothing/mask/gas/plaguedoctor, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"cKL" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, +/obj/machinery/light/small/directional/north, +/turf/open/floor/grass, +/area/station/medical/virology) "cLo" = ( /obj/machinery/recharge_station, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"cLp" = ( +/obj/structure/table, +/obj/item/razor, +/obj/item/storage/backpack/duffelbag/sec/surgery, +/turf/open/floor/plating/icemoon, +/area/station/security/execution/education) "cLq" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -9692,9 +10044,24 @@ }, /turf/open/floor/wood, /area/station/service/library) +"cLK" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "cLN" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) +"cLR" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "cMd" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/tile/yellow{ @@ -9711,26 +10078,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"cMj" = ( -/obj/structure/stairs/west, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "cMk" = ( /turf/closed/wall/r_wall, /area/mine/production) -"cMv" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Escape" - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/secondary/exit/departure_lounge) +"cMr" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "cMA" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -9739,6 +10093,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"cMG" = ( +/obj/structure/closet/crate/coffin, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Chapel Coffin Storage" + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/chapel) "cMI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -9777,12 +10139,10 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"cNh" = ( -/obj/structure/fence/corner{ - dir = 10 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"cNe" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "cNm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9811,25 +10171,15 @@ /turf/open/floor/engine, /area/station/science/xenobiology) "cNL" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/hydroponics) +/area/station/command/heads_quarters/cmo) "cNS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -9847,15 +10197,6 @@ }, /turf/closed/wall, /area/station/tcommsat/computer) -"cOb" = ( -/obj/structure/rack, -/obj/item/storage/box/lights/mixed{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/storage/box/lights/tubes, -/turf/open/floor/iron/checker, -/area/station/commons/storage/emergency/port) "cOi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 8 @@ -9867,6 +10208,18 @@ /obj/effect/turf_decal/tile/red/half, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"cOy" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/window/right/directional/south{ + name = "Produce Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cOC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -9881,17 +10234,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"cOQ" = ( -/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/engineering{ - name = "Utilities Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cPd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9915,11 +10257,49 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) +"cPt" = ( +/obj/structure/railing/corner, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "cPE" = ( /turf/open/floor/iron/smooth_half{ dir = 1 }, /area/station/security/prison/garden) +"cPK" = ( +/obj/structure/table, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/iron, +/area/station/commons/storage/mining) "cPQ" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -9928,17 +10308,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/workout) -"cQa" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/secondary/entry) "cQc" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/rag, @@ -9979,13 +10348,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"cQp" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "cQs" = ( /obj/structure/table, /obj/item/computer_disk{ @@ -10029,17 +10391,6 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) -"cQE" = ( -/obj/structure/fence, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"cQH" = ( -/obj/structure/sign/warning/no_smoking/directional/south, -/turf/open/floor/circuit/telecomms/mainframe, -/area/station/tcommsat/server) "cQL" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -10048,19 +10399,34 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) "cQV" = ( -/obj/structure/barricade/wooden/snowed, -/obj/machinery/light/small/red/directional/north, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/siding/dark_blue, +/obj/effect/turf_decal/trimline/dark_blue/filled/line, +/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/morgue) "cRg" = ( /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"cRq" = ( +/obj/structure/table, +/obj/item/holosign_creator/atmos{ + pixel_x = -5 + }, +/obj/item/holosign_creator/atmos{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) +"cRu" = ( +/obj/structure/disposalpipe/junction, +/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/central) "cRy" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -10068,6 +10434,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"cRC" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "cRE" = ( /obj/structure/rack, /obj/item/wirecutters, @@ -10096,20 +10466,14 @@ }, /area/station/command/heads_quarters/rd) "cRN" = ( -/obj/structure/chair/office/tactical{ - dir = 1 - }, -/obj/effect/landmark/start/coroner, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/machinery/hydroponics/soil, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "cRO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/closed/wall, /area/station/engineering/atmos) -"cRX" = ( -/obj/machinery/processor, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "cSe" = ( /obj/structure/table, /obj/item/flashlight{ @@ -10149,22 +10513,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"cSO" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"cSP" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Aft Primary Hallway South"; - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "cTh" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -10203,17 +10551,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/commons/vacant_room/office) -"cTJ" = ( -/obj/structure/cable, -/obj/machinery/light_switch/directional/south{ - pixel_x = -10 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"cTR" = ( +/turf/open/floor/iron/white/side{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +/area/station/science/research) "cTV" = ( /obj/effect/turf_decal/box/white{ color = "#52B4E9" @@ -10230,6 +10572,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"cUB" = ( +/obj/structure/window/spawner/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cUF" = ( /obj/machinery/camera/directional/west{ c_tag = "Aft Primary Hallway North" @@ -10240,22 +10586,13 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"cUH" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/dorms) -"cVa" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Fitness Room North" - }, -/obj/structure/closet/masks, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +"cUS" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cVk" = ( /obj/item/storage/box/evidence{ pixel_x = -10; @@ -10285,14 +10622,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"cVW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +"cVV" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/security/brig) "cWq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -10300,15 +10638,10 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"cWz" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) +"cWE" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/service/chapel/office) "cWG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10322,22 +10655,17 @@ c_tag = "Labor Camp Cellblock"; network = list("labor") }, +/obj/machinery/button/flasher{ + pixel_y = -30; + id = "GulagCell 1" + }, /turf/open/floor/iron, /area/mine/laborcamp) -"cWJ" = ( -/obj/machinery/holopad, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "cWX" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plating/snowed/icemoon, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) "cXc" = ( /obj/effect/turf_decal/arrows, @@ -10357,24 +10685,33 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"cXu" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "cXy" = ( /obj/structure/cable, /turf/open/floor/iron/smooth_half{ dir = 1 }, /area/station/security/prison/garden) +"cXG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"cXI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/station/commons/lounge) +"cXR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "cXV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/dark_red/filled/line{ @@ -10402,21 +10739,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"cYe" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"cYf" = ( -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/stripes/red/line{ - dir = 6 - }, -/obj/structure/sign/warning/no_smoking/directional/east, -/turf/open/floor/iron/textured, -/area/station/engineering/atmos) "cYi" = ( /obj/effect/turf_decal/trimline/dark_red/line, /obj/effect/turf_decal/trimline/dark_red/line{ @@ -10431,6 +10753,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"cYj" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "cYo" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -10465,13 +10796,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"cYI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "cYK" = ( /obj/machinery/netpod, /obj/machinery/light/small/directional/south, @@ -10507,6 +10831,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/cargo/miningdock) +"cZc" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "cZd" = ( /obj/machinery/computer/records/security{ dir = 1 @@ -10515,9 +10843,14 @@ /obj/machinery/button/door/directional/south{ id = "MedbayFoyer"; name = "Medbay Doors Control"; - normaldoorcontrol = 1 + normaldoorcontrol = 1; + pixel_x = 5; + pixel_y = -26 }, /obj/effect/turf_decal/tile/red/full, +/obj/machinery/light_switch/directional/south{ + pixel_x = -6 + }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) "cZe" = ( @@ -10525,6 +10858,16 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"cZf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"cZk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "cZm" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -10575,17 +10918,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dad" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/official/the_owl/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "daf" = ( /obj/structure/table, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"daj" = ( -/obj/machinery/door/morgue{ - name = "Confession Booth (Chaplain)"; - req_access = list("chapel_office") - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "dak" = ( /obj/item/clothing/suit/apron/surgical, /obj/effect/mapping_helpers/broken_floor, @@ -10613,23 +10969,33 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"day" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "daE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"daH" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "daM" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/machinery/airalarm/directional/north, /obj/item/clothing/suit/hooded/wintercoat/engineering, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) +"daO" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/machinery/button/door/directional/east{ + id = "drone_bay"; + name = "Shutter Control" + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "daR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10651,23 +11017,6 @@ /obj/item/cultivator, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"daX" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/service/chapel) -"daZ" = ( -/obj/structure/marker_beacon/jade, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"dbi" = ( -/obj/structure/table, -/obj/item/flashlight, -/obj/item/flashlight{ - pixel_y = 13 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "dbm" = ( /obj/machinery/door/airlock{ name = "Private Restroom" @@ -10675,6 +11024,11 @@ /obj/effect/mapping_helpers/airlock/access/all/command/captain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) +"dbn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/carpet/red, +/area/station/security/prison/work) "dbr" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, @@ -10696,6 +11050,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dbB" = ( +/turf/closed/wall/ice, +/area/icemoon/underground/explored/graveyard) "dbH" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -10703,6 +11060,25 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/security/prison/safe) +"dbO" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/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/service/theatre, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/theater) "dcd" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -10724,12 +11100,6 @@ /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) -"dcr" = ( -/obj/machinery/chem_master, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/science/xenobiology) "dcs" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -10787,6 +11157,12 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"dcI" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "dcO" = ( /obj/machinery/camera/directional/east{ c_tag = "Engineering Emitter Room Starboard"; @@ -10794,15 +11170,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"dcQ" = ( -/obj/structure/table, -/obj/item/kitchen/rollingpin, -/obj/item/reagent_containers/condiment/enzyme, -/obj/item/reagent_containers/condiment/sugar, -/obj/structure/light_construct/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "dcW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10828,16 +11195,45 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) +"ddd" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/station/hallway/secondary/entry) "ddh" = ( /obj/structure/chair/stool/directional/north, /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"ddi" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "ddk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit, /area/station/science/robotics/mechbay) +"ddm" = ( +/mob/living/basic/pet/penguin/emperor{ + name = "Club" + }, +/obj/item/toy/snowball{ + pixel_x = -9; + pixel_y = 17 + }, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "ddp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10861,13 +11257,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ddv" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 +"ddw" = ( +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/loading_area/white, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "ddz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10880,25 +11276,22 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"ddJ" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "service reservoir" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) -"ddR" = ( -/obj/structure/disposalpipe/segment{ +"ddK" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/decal/cleanable/dirt, +/obj/item/seeds/onion, +/obj/effect/turf_decal/tile/green/anticorner/contrasted, +/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/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/dark, +/area/mine/laborcamp) +"ddQ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/kirbyplants/random, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/iron, +/area/station/commons/locker) "ddZ" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green{ @@ -10911,6 +11304,12 @@ /obj/structure/cable/layer3, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"dei" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/vending/cigarette, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, +/turf/open/floor/iron, +/area/station/commons/locker) "det" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11004,18 +11403,20 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) +"dfR" = ( +/obj/item/toy/snowball{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/toy/snowball, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "dga" = ( /obj/effect/turf_decal/loading_area{ dir = 4 }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"dge" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dgl" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -11023,6 +11424,48 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dgp" = ( +/obj/machinery/modular_computer/preset/engineering, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"dgt" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "virology_airlock_exterior"; + name = "Virology Exterior Airlock" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/virology) +"dgx" = ( +/obj/structure/rack, +/obj/effect/spawner/random/contraband/permabrig_gear, +/turf/open/floor/vault, +/area/station/security/prison/rec) +"dgA" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"dgR" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/kitchen) "dgZ" = ( /obj/machinery/airalarm/directional/south, /obj/structure/cable, @@ -11042,29 +11485,25 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) +"dhi" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/railing, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/security/brig) "dhj" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room) -"dhk" = ( -/obj/structure/table/reinforced, -/obj/machinery/camera{ - c_tag = "Security Post - Medbay"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/machinery/newscaster/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) "dhq" = ( /turf/closed/mineral/random/labormineral/ice, /area/icemoon/surface/outdoors/labor_camp) +"dhv" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "dhH" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/weather/snow/corner{ @@ -11084,6 +11523,11 @@ }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) +"dhR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bookcase/random, +/turf/open/floor/iron/grimy, +/area/station/maintenance/aft/greater) "dhS" = ( /obj/machinery/door/airlock{ name = "Permabrig Showers" @@ -11101,20 +11545,42 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/processing) -"dhY" = ( -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 +"dhV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 4 }, +/obj/structure/sign/departments/exodrone/directional/west, +/turf/open/floor/iron, +/area/station/cargo/storage) +"dhY" = ( /obj/machinery/computer/security/mining{ dir = 1 }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"dig" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"dia" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) +"dik" = ( +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 6 + }, +/obj/structure/table/glass, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/lab) "dip" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11160,16 +11626,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/textured, /area/mine/mechbay) -"diK" = ( -/obj/structure/cable, -/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/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "diL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -11189,28 +11645,12 @@ dir = 1 }, /area/mine/living_quarters) -"djl" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "djr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"djB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/camera{ - c_tag = "Medbay Chemistry Lab - South"; - dir = 5; - network = list("ss13","medbay") - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "djC" = ( /obj/effect/decal/remains/human, /obj/item/reagent_containers/cup/glass/bottle/wine{ @@ -11234,6 +11674,13 @@ /obj/effect/mapping_helpers/airlock/access/all/service/crematorium, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"djG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "djH" = ( /obj/item/stack/sheet/animalhide/lizard{ desc = "Landssslidessss, the landssslidesss..."; @@ -11260,6 +11707,17 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"dka" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 + }, +/obj/machinery/photocopier, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "dkb" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -11286,15 +11744,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/science/robotics/lab) -"dkB" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"dku" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/chair_flipped{ dir = 4 }, -/obj/effect/spawner/random/armory/shotgun, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dkK" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/stripes/line, @@ -11319,19 +11777,14 @@ dir = 8 }, /area/station/security/brig/entrance) -"dla" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +"dkZ" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "dlt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 8 @@ -11339,16 +11792,13 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dlu" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/icemoon/underground/explored) -"dlB" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album/chapel, -/obj/structure/noticeboard/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) +"dlH" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/smartfridge/drying, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "dlK" = ( /obj/machinery/computer/security{ dir = 8 @@ -11366,16 +11816,14 @@ }, /turf/open/floor/plating, /area/station/construction) -"dmj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/machinery/button/door/directional/east{ - id = "xenobio11"; - name = "Xenobio Pen 11 Blast DOors"; - req_access = list("xenobiology") - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"dlS" = ( +/obj/item/crowbar/red, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/maintenance, +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "dmk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ @@ -11400,6 +11848,12 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"dmw" = ( +/obj/structure/fence/end{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "dmG" = ( /obj/structure/table/wood, /obj/item/camera, @@ -11408,6 +11862,7 @@ "dmI" = ( /obj/machinery/chem_master, /obj/effect/turf_decal/tile/yellow/full, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) "dmL" = ( @@ -11415,24 +11870,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/electrical) -"dmR" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Engineering External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "Engineering-External" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/iron/smooth, -/area/station/engineering/lobby) "dmU" = ( /obj/structure/cable, /obj/structure/table, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"dmV" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio10"; + name = "Xenobio Pen 10 Blast Door" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/science/xenobiology) "dng" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -11448,9 +11903,47 @@ /obj/structure/dresser, /turf/open/floor/carpet, /area/station/commons/dorms) +"dnn" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "dnq" = ( /turf/open/floor/iron, /area/station/hallway/primary/central) +"dnz" = ( +/obj/effect/turf_decal/siding/wideplating_new/light{ + dir = 6 + }, +/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/prisoner, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) +"dnE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"dnI" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "dnL" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -11471,6 +11964,9 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/lockers) +"dom" = ( +/turf/closed/wall/ice, +/area/station/service/kitchen/coldroom) "don" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/disposalpipe/segment, @@ -11479,6 +11975,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"dop" = ( +/obj/structure/fence/door/opened{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "doq" = ( /obj/machinery/flasher/directional/north{ id = "transferflash" @@ -11496,6 +11998,15 @@ }, /turf/closed/wall, /area/station/maintenance/starboard/upper) +"dow" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "doG" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -11509,14 +12020,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"doK" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio8"; - name = "Xenobio Pen 8 Blast DOors"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "doM" = ( /obj/structure/table, /obj/item/paper{ @@ -11537,23 +12040,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"dpa" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"dpb" = ( +/obj/structure/table/wood, +/obj/item/food/pie/cream, +/obj/item/bikehorn, +/obj/machinery/status_display/evac/directional/west, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "dpc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -11567,23 +12061,21 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/command/storage/eva) -"dpj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"dpl" = ( +/obj/machinery/light/directional/south, +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/bluespace_vendor/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "dpq" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) "dpw" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/snack, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark, +/area/mine/storage) "dpx" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment, @@ -11623,43 +12115,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"dpZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/docking/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"dqg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/secure_area/directional/south, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) -"dqs" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"dqt" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = -5; - pixel_y = -8 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_y = -6; - pixel_x = 9 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "dqw" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -11668,12 +12123,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"dqA" = ( -/obj/structure/fence/corner{ - dir = 5 +"dqI" = ( +/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/dark/half/contrasted{ + dir = 1 }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "rnd2"; + name = "Research Lab Shutters" + }, +/turf/open/floor/plating, +/area/station/science/ordnance/office) "dqL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -11696,43 +12160,52 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"dqV" = ( -/obj/effect/decal/cleanable/dirt, +"dqW" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"drb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/modular_computer/preset/civilian{ +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ dir = 8 }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/structure/sign/poster/official/work_for_a_future/directional/east, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) -"dqW" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) -"dqX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/firedoor{ dir = 4 }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) +"drd" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/lobby) +/obj/item/mod/module/plasma_stabilizer, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/mod/module/signlang_radio, +/obj/item/mod/module/thermal_regulator, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "drh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) -"drm" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/upper) "drr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, @@ -11748,9 +12221,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"drw" = ( -/turf/closed/wall/ice, -/area/station/service/kitchen/coldroom) "dry" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11778,11 +12248,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/commons/storage/mining) -"drG" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/cargo/office) "drH" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -11794,6 +12259,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"drK" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ + dir = 8 + }, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_y = 32 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "drP" = ( /obj/structure/toilet{ dir = 8 @@ -11814,12 +12291,6 @@ /obj/structure/flora/grass/both, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dsa" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, -/area/station/science/cytology) "dsf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -11830,17 +12301,11 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, +/obj/machinery/status_display/supply{ + pixel_x = -32 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"dsg" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "dsj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/south, @@ -11875,53 +12340,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"dsT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Medbay Chemistry Lab - East"; - dir = 6; - network = list("ss13","medbay") - }, -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = 3; - pixel_y = -8 - }, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = -3; - pixel_y = -8 - }, -/obj/item/stack/sheet/mineral/plasma{ - pixel_y = -6 - }, -/obj/item/reagent_containers/dropper{ - pixel_y = -7 - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/medical/chemistry) "dsU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/qm) +"dsZ" = ( +/obj/structure/noticeboard/directional/west, +/turf/open/floor/engine/cult, +/area/station/service/library) "dtb" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood, /area/station/service/library) "dtc" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/dice, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/station/engineering/atmos) "dth" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -11932,16 +12369,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"dtq" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "dtr" = ( /obj/machinery/computer/records/medical, /obj/effect/turf_decal/tile/green/anticorner/contrasted, @@ -11964,6 +12391,11 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"dtR" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron/dark/side, +/area/mine/eva/lower) "dtU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11979,19 +12411,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"duI" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) "duS" = ( /obj/machinery/door/airlock{ name = "Labor Camp Library" @@ -12001,6 +12420,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"duT" = ( +/obj/item/chair/stool/bar{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"duY" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "duZ" = ( /obj/machinery/door/airlock/engineering{ name = "Utilities Closet" @@ -12033,6 +12464,7 @@ "dvi" = ( /obj/structure/flora/grass/both/style_random, /obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "dvl" = ( @@ -12056,6 +12488,21 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"dvK" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/clothing/mask/breath/medical, +/obj/item/clothing/mask/breath/medical, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/machinery/camera/directional/east{ + c_tag = "Virology Module South"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "dvO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12064,29 +12511,17 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"dvS" = ( -/turf/open/floor/iron/recharge_floor, -/area/station/maintenance/department/electrical) "dvY" = ( /obj/structure/flora/tree/dead/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) "dvZ" = ( -/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/service/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/effect/turf_decal/weather/snow/corner{ dir = 4 }, -/turf/open/floor/plating, -/area/station/commons/lounge) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dwb" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -12094,6 +12529,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"dwj" = ( +/obj/machinery/atmospherics/components/binary/pump/off, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/airlock_sensor/incinerator_ordmix{ + pixel_y = 32 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "dwo" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -12102,12 +12547,12 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"dwq" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"dws" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "dww" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -12130,19 +12575,6 @@ /obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"dwS" = ( -/obj/machinery/status_display/door_timer{ - id = "Cell 3"; - name = "Cell 3"; - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) "dwY" = ( /obj/machinery/light_switch/directional/west, /obj/structure/closet/secure_closet/quartermaster, @@ -12151,6 +12583,10 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"dwZ" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) "dxg" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel{ @@ -12189,6 +12625,15 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"dxq" = ( +/obj/structure/closet/secure_closet/chief_medical, +/obj/item/screwdriver, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Medical Officer Bedroom"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "dxs" = ( /obj/structure/closet/secure_closet/personal{ anchored = 1 @@ -12217,9 +12662,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) +"dxI" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/structure/sign/poster/official/safety_internals/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/port/fore) "dxK" = ( /turf/closed/wall/r_wall, /area/station/command/meeting_room) +"dxO" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "dxU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12235,9 +12692,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"dym" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, +"dyg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/plating/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"dyA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/stool/directional/west, /turf/open/floor/plating, /area/station/maintenance/fore) "dyE" = ( @@ -12256,25 +12720,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"dyW" = ( -/obj/structure/sign/poster/official/random/directional/south, -/obj/structure/table/optable{ - name = "Robotics Operating Table" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) -"dzg" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/preopen{ - id = "Biohazard"; - name = "Biohazard Containment Door" - }, -/obj/effect/turf_decal/bot, -/obj/structure/noticeboard/directional/north, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/science/research) "dzi" = ( /obj/machinery/status_display/ai/directional/south, /obj/effect/turf_decal/tile/green{ @@ -12286,14 +12731,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dzr" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "graveyard" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, -/turf/open/floor/plating, -/area/station/medical/morgue) "dzt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -12311,15 +12748,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"dzD" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "dzJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -12333,6 +12761,12 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/mine/eva/lower) +"dzZ" = ( +/obj/structure/fence/cut/medium{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dAc" = ( /obj/item/radio/intercom/directional/north, /obj/item/storage/belt/utility{ @@ -12351,36 +12785,27 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"dAk" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 +"dAh" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) +"dAl" = ( +/obj/machinery/smartfridge/extract/preloaded, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, -/area/station/hallway/primary/aft) +/area/station/science/xenobiology) "dAm" = ( /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/lobby) -"dAq" = ( -/obj/machinery/conveyor{ - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Mining Ore Smeltery"; - dir = 6 - }, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron, -/area/mine/production) "dAx" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -12411,9 +12836,34 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"dAQ" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/modular_computer/preset/civilian, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light_switch/directional/north{ + pixel_x = -6 + }, +/obj/machinery/button/door/directional/north{ + id = "stationawaygate"; + name = "Gateway Access Shutter Control"; + req_access = list("gateway"); + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/station/command/gateway) "dAZ" = ( /turf/closed/wall/r_wall, /area/station/security/prison/visit) +"dBb" = ( +/obj/structure/chair/sofa/right/brown, +/obj/item/toy/plush/moth{ + name = "Dr. Moff" + }, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "dBh" = ( /obj/machinery/telecomms/server/presets/medical, /turf/open/floor/iron/dark/telecomms, @@ -12427,36 +12877,11 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/fore/lesser) -"dBw" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/mine/laborcamp/security) -"dBA" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/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{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "dBB" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot_white, /obj/machinery/firealarm/directional/south, +/obj/structure/sign/poster/official/help_others/directional/west, /turf/open/floor/iron/checker, /area/station/commons/storage/emergency/port) "dBJ" = ( @@ -12476,6 +12901,15 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"dBN" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/duct, +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron, +/area/station/service/bar) "dBQ" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat AI Chamber South"; @@ -12483,6 +12917,10 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"dBX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "dBY" = ( /obj/effect/turf_decal/stripes/end{ dir = 1 @@ -12495,15 +12933,11 @@ "dBZ" = ( /turf/open/floor/iron, /area/station/cargo/sorting) -"dCs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/large, -/area/station/medical/medbay/lobby) +"dCq" = ( +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "dCy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -12513,25 +12947,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"dCV" = ( -/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/wood/parquet, -/area/station/service/bar/backroom) "dDm" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1 }, /turf/open/floor/engine, /area/station/science/explab) -"dDo" = ( -/obj/item/trash/pistachios, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "dDp" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -12539,14 +12960,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dDq" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "dDt" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/red{ @@ -12563,6 +12976,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"dDz" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/item/sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dDC" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -12573,22 +12992,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"dDR" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "dDV" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dEc" = ( -/obj/structure/table/wood, -/obj/item/soap/nanotrasen, -/obj/item/clothing/head/costume/sombrero/green, -/obj/machinery/camera{ - c_tag = "Service - Theater"; - dir = 9 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "dEf" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -12623,19 +13040,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/security/prison/rec) -"dEC" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "rnd2"; - name = "Research Lab Shutters" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron, -/area/station/science/lab) "dEI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12646,6 +13050,16 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"dEL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 8; + name = "Air Out" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "dEQ" = ( /obj/machinery/camera/directional/east{ c_tag = "Public Mining Ladder" @@ -12676,6 +13090,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"dFi" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dFj" = ( /turf/open/floor/iron/white/side{ dir = 9 @@ -12714,13 +13141,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"dFD" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/sign/poster/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "dFF" = ( /obj/structure/chair{ dir = 8 @@ -12734,8 +13154,24 @@ /area/station/maintenance/starboard/aft) "dFO" = ( /obj/machinery/light/directional/north, +/obj/structure/sign/departments/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"dFR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/mine/laborcamp) "dFW" = ( /turf/open/floor/iron/white/side, /area/station/science/research) @@ -12757,6 +13193,17 @@ /obj/effect/decal/cleanable/food/egg_smudge, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dGq" = ( +/obj/machinery/computer/records/medical, +/obj/structure/cable, +/obj/machinery/button/door/directional/north{ + id = "medsecprivacy"; + name = "Privacy Shutters Control"; + req_access = list("security") + }, +/obj/effect/turf_decal/tile/red/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "dGK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12768,6 +13215,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/fitness) +"dGS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/obj/structure/rack, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Lower" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/chapel) "dGU" = ( /obj/machinery/door/airlock/maintenance{ name = "Captain's Office Maintenance" @@ -12779,19 +13235,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/captain, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"dGZ" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "dHa" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -12820,6 +13263,32 @@ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, /area/station/security/prison/rec) +"dHf" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Botany Upper Entrance" + }, +/obj/structure/table/glass, +/obj/machinery/fax/auto_name, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"dHg" = ( +/obj/machinery/door/airlock{ + name = "Unit B" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) +"dHi" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "dHk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12840,16 +13309,17 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"dHF" = ( +/obj/structure/railing, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dHJ" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"dHM" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "dIl" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -12870,33 +13340,24 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) -"dIA" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/xenobiology) -"dIS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"dIG" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/south, +/obj/item/book/bible{ + pixel_y = 8 }, -/obj/machinery/door/poddoor/preopen{ - id = "xenobio3"; - name = "Xenobio Pen 3 Blast Door" +/obj/item/storage/fancy/candle_box{ + pixel_x = 4 }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"dIZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +/obj/item/storage/fancy/candle_box, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"dIL" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, -/turf/open/floor/iron/dark, -/area/station/medical/virology) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "dJx" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -12913,18 +13374,6 @@ /obj/machinery/air_sensor/ordnance_freezer_chamber, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"dJF" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dJY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12951,16 +13400,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/cargo/sorting) -"dKf" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Primary Hallway Center West" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "dKh" = ( /obj/machinery/light_switch/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -12969,22 +13408,13 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/tcommsat/computer) -"dKr" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/isolation/directional/south, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/suit/jacket/straight_jacket{ - pixel_x = 6 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Permabrig Prep"; - network = list("ss13","prison"); - view_range = 5 - }, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth, -/area/station/security/execution/transfer) +"dKk" = ( +/obj/machinery/light/directional/west, +/obj/structure/displaycase, +/obj/effect/turf_decal/tile/dark/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/mine/living_quarters) "dKy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -13028,15 +13458,6 @@ dir = 1 }, /area/station/security/processing) -"dKS" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/range) "dKW" = ( /obj/structure/sign/directions/security{ dir = 1; @@ -13074,22 +13495,75 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"dLH" = ( -/obj/structure/fence{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +"dLA" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/toy/figure/chef, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"dLL" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat/maint) "dLN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/laborcamp) +"dLQ" = ( +/obj/machinery/door/firedoor, +/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/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "dLR" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/iron, /area/mine/laborcamp) +"dMi" = ( +/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/landmark/event_spawn, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) +"dMl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"dMn" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) +"dMo" = ( +/obj/structure/fence/corner{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dMp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13103,18 +13577,6 @@ /obj/item/clothing/under/color/rainbow, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dMB" = ( -/obj/vehicle/ridden/wheelchair{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/end{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/item/radio/intercom/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/large, -/area/station/medical/medbay/aft) "dMH" = ( /obj/machinery/light/directional/north, /obj/machinery/status_display/evac/directional/north, @@ -13125,11 +13587,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"dMO" = ( -/obj/structure/closet/secure_closet/freezer/kitchen/maintenance, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "dMX" = ( /obj/structure/chair{ dir = 1; @@ -13137,18 +13594,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"dNk" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"dNl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plastic, -/area/station/commons/dorms/laundry) "dNt" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -13172,12 +13617,6 @@ "dNA" = ( /turf/open/floor/iron/smooth, /area/mine/mechbay) -"dNB" = ( -/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/grimy, -/area/station/service/chapel/office) "dNC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/binary/pump{ @@ -13206,6 +13645,16 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"dOp" = ( +/obj/structure/table/wood, +/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Theater" + }, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "dOq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13219,6 +13668,19 @@ /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"dOF" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "dOH" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/plating, @@ -13253,10 +13715,16 @@ }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"dPP" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"dPH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/camera/directional/north{ + c_tag = "Mining Mech Bay"; + network = list("ss13", "mine") + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/smooth, +/area/mine/mechbay) "dPT" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -13265,16 +13733,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"dPX" = ( -/obj/structure/sign/warning/docking/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "dQd" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Station Maintenance" @@ -13285,6 +13743,11 @@ dir = 1 }, /area/station/maintenance/department/cargo) +"dQl" = ( +/obj/structure/closet/emcloset, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "dQo" = ( /obj/machinery/button/door/directional/east{ id = "pharmacy_shutters2"; @@ -13296,13 +13759,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"dQp" = ( -/obj/structure/table/wood, -/obj/item/food/pie/cream, -/obj/item/bikehorn, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +"dQy" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/iron, +/area/station/service/hydroponics) "dQI" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -13334,29 +13798,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"dRe" = ( -/obj/machinery/camera{ - c_tag = "Medbay Break Room"; - dir = 1; - network = list("ss13","medbay") - }, -/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) "dRk" = ( /obj/effect/turf_decal/bot, /obj/structure/ore_box, @@ -13372,6 +13813,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) +"dRB" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "dRD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/south, @@ -13379,6 +13836,18 @@ dir = 1 }, /area/station/command/gateway) +"dRX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio5"; + name = "Xenobio Pen 5 Blast Door" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "dSj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -13393,14 +13862,6 @@ }, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"dSs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "dSJ" = ( /obj/machinery/flasher/directional/north{ id = "visitorflash" @@ -13425,14 +13886,14 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"dSY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"dTa" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "dTm" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/effect/mob_spawn/corpse/human/skeleton, @@ -13453,13 +13914,18 @@ "dTs" = ( /turf/open/floor/iron/smooth, /area/mine/eva) -"dTx" = ( -/obj/machinery/status_display/ai/directional/south, -/obj/structure/chair/sofa/right/brown{ +"dTC" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xenobio8"; + name = "Xenobio Pen 8 Blast Door" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/science/xenobiology) "dTD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -13478,6 +13944,14 @@ }, /turf/open/floor/iron, /area/mine/production) +"dTI" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dTW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -13495,6 +13969,24 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"dUh" = ( +/obj/machinery/light/small/directional/north, +/obj/item/kirbyplants/random, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) +"dUm" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "dUn" = ( /obj/machinery/shieldgen, /turf/open/floor/plating, @@ -13545,6 +14037,11 @@ "dUO" = ( /turf/closed/wall, /area/station/security/brig) +"dUR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/medical/virology) "dUW" = ( /obj/machinery/light_switch/directional/south, /turf/open/floor/wood, @@ -13568,35 +14065,13 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "dVj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/machinery/hydroponics/constructable, +/obj/effect/spawner/structure/window, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"dVq" = ( -/obj/machinery/space_heater, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/medical/morgue) "dVt" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/checker, /area/station/science/lab) -"dVw" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/dark, -/area/station/medical/medbay/aft) "dVF" = ( /obj/structure/sign/warning/secure_area/directional/north, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -13609,16 +14084,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) -"dVX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"dVN" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) +"dVS" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/white/line{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood/large, -/area/station/commons/vacant_room/office) +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "dWf" = ( /obj/item/trash/pistachios, /turf/open/floor/plating, @@ -13640,11 +14123,25 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"dWI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "dWK" = ( /obj/machinery/hydroponics/soil, /obj/item/shovel/spade, /turf/open/floor/grass, /area/station/security/prison/garden) +"dWL" = ( +/obj/structure/railing, +/obj/machinery/vending/cytopro, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "dWP" = ( /obj/structure/table/wood, /obj/item/pen/red{ @@ -13660,13 +14157,6 @@ }, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"dWX" = ( -/obj/machinery/modular_computer/preset/engineering, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/bridge) "dWZ" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -13676,6 +14166,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dXh" = ( +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/structure/table, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "dXi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -13683,6 +14188,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dXk" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "dXn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -13691,12 +14202,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"dXp" = ( +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) +"dXr" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "dXv" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/command/gateway) +"dXx" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dXF" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -13706,6 +14233,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"dXI" = ( +/obj/machinery/chem_master, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron, +/area/station/science/xenobiology) "dXP" = ( /obj/effect/turf_decal/trimline/yellow/filled/shrink_cw{ dir = 4 @@ -13713,13 +14246,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"dXR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "dXU" = ( /obj/effect/decal/cleanable/generic, /obj/machinery/light/small/directional/south, @@ -13731,9 +14257,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dYq" = ( -/turf/open/floor/plating, -/area/station/commons/dorms/laundry) "dYr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -13750,11 +14273,24 @@ }, /turf/open/floor/iron, /area/mine/production) +"dYA" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/directional/east, +/obj/structure/sign/departments/security/directional/east, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "dYC" = ( /obj/structure/closet/firecloset, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dYH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "dYI" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -13775,13 +14311,21 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dYX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"dYS" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/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) +"dYU" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "dZc" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, @@ -13798,36 +14342,11 @@ dir = 8 }, /area/mine/eva) -"dZC" = ( -/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/plating, -/area/station/maintenance/starboard/lesser) "dZJ" = ( /obj/machinery/seed_extractor, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) -"dZL" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/hydroponics) "dZN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -13909,33 +14428,49 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"eav" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" +"eat" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/siding/blue{ + dir = 8 }, -/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, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/hydroponics) -"eaw" = ( -/obj/effect/spawner/random/contraband/prison, -/obj/structure/closet/crate, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark/smooth_half, -/area/station/security/prison/work) -"eaM" = ( -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +/obj/structure/sign/poster/official/no_erp/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) +"eay" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"eaE" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/cargo/lobby) +"eaG" = ( +/obj/structure/sign/departments/vault/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) +"eaQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"eaT" = ( +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ebb" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, @@ -13959,13 +14494,10 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) -"ebK" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/rack, -/obj/item/crowbar/large/old, -/obj/effect/turf_decal/tile/dark/fourcorners, +"ebH" = ( +/obj/structure/sign/departments/medbay/alt/directional/east, /turf/open/floor/iron, -/area/mine/living_quarters) +/area/station/hallway/primary/central) "ebL" = ( /obj/effect/turf_decal/bot_white/right, /obj/structure/closet/crate/goldcrate, @@ -13973,12 +14505,27 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"ebX" = ( -/obj/structure/fence/corner{ +"ebO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 1 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) +"ebW" = ( +/obj/structure/fence/cut/medium{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ecs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14014,6 +14561,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"ecW" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"edc" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "edd" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -14026,66 +14582,64 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"ede" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "edn" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/ore_silo, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"edp" = ( -/obj/structure/table/glass, -/obj/machinery/reagentgrinder{ - desc = "Used to grind things up into raw materials and liquids."; - pixel_y = 5 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/science/xenobiology) "edq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"edt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"edw" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/structure/rack, -/obj/item/tank/internals/oxygen, -/obj/item/extinguisher, -/obj/item/clothing/suit/utility/fire/firefighter, -/obj/item/clothing/head/utility/hardhat/red, -/obj/item/clothing/mask/gas, -/obj/item/clothing/glasses/meson, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"edM" = ( -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = -4 +/obj/effect/turf_decal/trimline/dark_green/arrow_ccw, +/obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1{ + dir = 4 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron, +/area/station/engineering/atmos/storage) "edN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"edO" = ( +"edR" = ( +/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/machinery/airalarm/directional/west, -/turf/open/floor/wood/large, -/area/station/service/bar) -"edT" = ( -/obj/structure/grille/broken, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/aft/greater) +/area/station/maintenance/starboard/lesser) +"eea" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/engine, +/area/station/science/xenobiology) "eei" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -14093,24 +14647,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"eek" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/item/clothing/head/costume/fancy, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) -"eeq" = ( -/obj/structure/table, -/obj/item/hand_tele{ - pixel_x = 3; - pixel_y = 13 - }, -/turf/open/floor/iron, -/area/station/command/teleporter) -"eet" = ( -/obj/effect/spawner/random/trash/bin, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"ees" = ( +/obj/structure/kitchenspike, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "eeD" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured, @@ -14130,39 +14671,23 @@ /obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics, /turf/open/floor/iron, /area/station/engineering/lobby) -"eeY" = ( -/obj/structure/railing{ +"eff" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/effect/turf_decal/siding/white{ - dir = 4 +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) -"efi" = ( -/obj/structure/bed/dogbed, -/obj/effect/decal/cleanable/blood/gibs/body, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "efk" = ( /obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/science/explab) -"efo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/iv_drip, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "efv" = ( /obj/item/toy/snowball{ pixel_x = -6; @@ -14179,13 +14704,14 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"efz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"efy" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/service/chapel) "efE" = ( /obj/structure/reflector/box/anchored{ dir = 1 @@ -14221,41 +14747,14 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) -"efN" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/service/chapel) -"efS" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/light/warm/directional/east, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"efU" = ( -/obj/structure/disposalpipe/segment, -/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/neutral/half/contrasted{ +"efR" = ( +/obj/structure/ladder, +/obj/structure/railing{ dir = 8 }, -/obj/machinery/duct, -/obj/structure/sign/flag/nanotrasen/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "efV" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable, @@ -14268,13 +14767,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ege" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) "egj" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -14314,16 +14806,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) -"egR" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/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/line, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) "egS" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14371,18 +14853,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ehh" = ( +/obj/structure/disposalpipe/segment, +/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/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ehp" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"ehy" = ( -/obj/machinery/keycard_auth/wall_mounted/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/hos) +"ehq" = ( +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ehD" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -14402,6 +14889,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/engine_smes) +"ehL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/deepfryer, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "ehO" = ( /obj/machinery/door/window/brigdoor/right/directional/west{ name = "Observation Deck"; @@ -14433,6 +14927,12 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) +"ehU" = ( +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ehZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14469,6 +14969,30 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"eik" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/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, +/area/station/service/hydroponics) +"ein" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Chamber" + }, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/fire/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"eiH" = ( +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "eiI" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -14482,12 +15006,14 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) -"eiY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"ejb" = ( /obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/machinery/door/airlock/security/glass{ + name = "Permabrig Visitation" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/brig, +/turf/open/floor/iron, +/area/station/security/prison/visit) "ejn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -14517,6 +15043,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"ejN" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ + name = "Burn Chamber Exterior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "ejQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -14528,22 +15062,6 @@ "ejX" = ( /turf/open/floor/plating, /area/station/security/prison/safe) -"ejY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"ekc" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ekh" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Central" @@ -14553,6 +15071,13 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"ekj" = ( +/obj/structure/closet, +/obj/effect/spawner/random/clothing/costume, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/spawner/random/clothing/gloves, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ekm" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 8; @@ -14588,13 +15113,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) -"ekN" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) "ekW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14602,16 +15120,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/processing) -"elf" = ( -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/machinery/button/door/directional/north{ - id = "rnd"; - name = "Shutters Control Button"; - pixel_x = 7; - req_access = list("research") - }, -/turf/open/floor/iron/checker, -/area/station/science/lab) "elj" = ( /obj/effect/landmark/start/depsec/engineering, /obj/structure/cable, @@ -14633,48 +15141,29 @@ "elw" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/upper) +"elE" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hazardvest, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "elT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 8 }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"elU" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/work) "emp" = ( /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/primary/starboard) -"emw" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/station/commons/lounge) "emx" = ( -/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, +/obj/structure/closet/secure_closet/freezer/kitchen/maintenance, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"emF" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "service reservoir" - }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/port/aft) "emK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ @@ -14691,6 +15180,11 @@ dir = 1 }, /area/station/security/brig) +"emT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "ena" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -14698,6 +15192,14 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"eni" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/range) "enq" = ( /obj/machinery/doppler_array{ dir = 4 @@ -14709,6 +15211,15 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/engineering/lobby) +"enH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "enI" = ( /obj/machinery/door/airlock/maintenance{ name = "Tool Storage Maintenance" @@ -14730,13 +15241,11 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"eog" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/north, -/obj/item/flashlight/lantern, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"enY" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eos" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -14790,18 +15299,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"eoV" = ( -/obj/item/trash/popcorn, -/obj/structure/reagent_dispensers/plumbed{ - name = "dormitory reservoir" +"eoS" = ( +/obj/machinery/door/morgue{ + name = "Confession Booth"; + dir = 4 }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/fore) +/turf/open/floor/wood/large, +/area/station/service/chapel) "eoY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -14811,28 +15318,41 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"eph" = ( -/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/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"epw" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/landmark/event_spawn, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/hallway/primary/starboard) "epB" = ( /obj/structure/chair/pew/left{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"epC" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "epH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/science/explab) +"epN" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "epY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14854,34 +15374,6 @@ dir = 8 }, /area/station/science/ordnance/office) -"eqk" = ( -/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/plating, -/area/station/maintenance/starboard/lesser) -"eqn" = ( -/obj/structure/sign/warning/docking/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"eqp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "eqq" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -14895,6 +15387,26 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/starboard) +"eqE" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/theater) +"eqH" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "eqI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14902,14 +15414,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/upper) -"eqJ" = ( -/obj/machinery/power/solar_control{ - id = "auxsolareast"; - name = "Starboard Bow Solar Control" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "eqN" = ( /obj/structure/fence/door, /obj/effect/turf_decal/weather/snow/corner{ @@ -14917,6 +15421,13 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"eqP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eqS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/red/warning{ @@ -14944,6 +15455,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"erd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "eri" = ( /obj/structure/chair/office/light{ dir = 4 @@ -14978,13 +15497,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"erq" = ( -/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/starboard/fore) "erw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -14997,22 +15509,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/construction) -"erE" = ( -/obj/machinery/requests_console/auto_name/directional/east, -/obj/machinery/duct, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"erH" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "erI" = ( /obj/structure/rack, /obj/item/tank/internals/emergency_oxygen{ @@ -15037,6 +15533,15 @@ }, /turf/open/floor/plating, /area/station/commons/vacant_room/office) +"erM" = ( +/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/red/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "erN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15044,6 +15549,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/storage) +"erV" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "erY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15061,10 +15572,6 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"ese" = ( -/obj/structure/fence/cut/medium, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored/graveyard) "eso" = ( /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/iron/dark/telecomms, @@ -15116,19 +15623,30 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"etr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"ete" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, +/obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/area/station/commons/lounge) +"etv" = ( +/obj/machinery/chem_heater/withbuffer, +/obj/effect/turf_decal/tile/yellow/full, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/pharmacy) "etw" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/prison/workout) +"etz" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "etB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ @@ -15156,33 +15674,34 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/main) -"etY" = ( -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron, -/area/station/commons/locker) -"eub" = ( -/obj/machinery/camera{ - c_tag = "Medbay Pharmacy"; - dir = 9; - network = list("ss13","medbay") +"etW" = ( +/obj/structure/railing/corner{ + dir = 8 }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/machinery/shower/directional/south, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/stripes/white/end, +/obj/structure/railing, +/obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/area/station/medical/medbay/lobby) +"etY" = ( +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/commons/locker) "euc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"eud" = ( +/obj/item/food/chococoin, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "euf" = ( /obj/structure/bed{ dir = 4 @@ -15193,13 +15712,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"eul" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/end{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "euq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15229,22 +15741,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) -"euR" = ( -/obj/structure/ladder{ - name = "chemistry lab access" - }, -/obj/effect/turf_decal/stripes/end, -/obj/structure/sign/departments/chemistry/directional/north, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/obj/effect/turf_decal/tile/yellow/full, -/obj/machinery/door/window/left/directional/south{ - name = "Chemistry Lab Access Hatch"; - req_access = list("plumbing") - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/treatment_center) "euZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15258,10 +15754,12 @@ "evb" = ( /turf/open/floor/iron, /area/station/service/janitor) -"evc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) +"evh" = ( +/obj/structure/flora/tree/pine/style_random{ + pixel_x = -15 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "evk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15282,6 +15780,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/processing) +"evP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/vault, +/area/station/security/prison/rec) "evT" = ( /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) @@ -15294,6 +15799,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"ewo" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "ewC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -15315,6 +15829,16 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/security/brig/upper) +"ewT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "exe" = ( /obj/effect/turf_decal/siding/yellow/end{ dir = 8 @@ -15323,29 +15847,43 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plating, /area/station/medical/treatment_center) -"exq" = ( -/obj/effect/turf_decal/trimline/neutral/warning, -/obj/effect/turf_decal/trimline/neutral/mid_joiner, -/obj/item/flashlight{ - pixel_y = 9 +"exm" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "robotics"; + name = "Robotics Lab Shutters" }, -/obj/item/flashlight{ - pixel_y = 9 +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 7 }, -/obj/item/flashlight{ - pixel_x = -3; - pixel_y = 5 +/obj/machinery/door/window/left/directional/south{ + name = "Robotics Desk"; + req_access = list("robotics") }, -/obj/item/flashlight{ +/obj/item/paper_bin{ pixel_x = -3; - pixel_y = 5 + pixel_y = 7 }, -/obj/structure/rack, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/item/pen, +/turf/open/floor/plating, +/area/station/science/robotics/lab) +"exn" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/ai_monitored/command/storage/eva) +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"exu" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "exv" = ( /obj/effect/gibspawner/human/bodypartless, /turf/open/misc/asteroid/snow/icemoon, @@ -15353,13 +15891,6 @@ "exw" = ( /turf/closed/wall, /area/station/service/hydroponics) -"exy" = ( -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "exL" = ( /obj/item/trash/cheesie, /obj/effect/decal/cleanable/dirt, @@ -15374,6 +15905,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/work) +"exQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eyb" = ( /turf/closed/wall, /area/station/security/processing) @@ -15422,21 +15960,19 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"eyU" = ( -/obj/structure/closet/crate/coffin, -/obj/machinery/light/small/red/directional/south, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/chapel) -"ezd" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/wallet{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/newspaper, +"eym" = ( +/obj/structure/girder, +/obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/fore) +"eyP" = ( +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) +"eyR" = ( +/obj/machinery/processor/slime, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron, +/area/station/science/xenobiology) "ezf" = ( /obj/machinery/door/airlock{ name = "Private Restroom" @@ -15444,13 +15980,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/freezer, /area/station/medical/break_room) -"ezk" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/item/kirbyplants/organic/plant11, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ezl" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -15551,6 +16080,20 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"eAQ" = ( +/obj/structure/rack, +/obj/item/storage/box/lights/mixed{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/storage/box/lights/tubes, +/turf/open/floor/iron/checker, +/area/station/commons/storage/emergency/port) +"eAW" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "eBd" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, @@ -15591,20 +16134,16 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"eBU" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Courtroom" - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/chair{ - name = "Defense" - }, -/turf/open/floor/wood, -/area/station/security/courtroom) "eBV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/security/checkpoint/engineering) +"eCg" = ( +/obj/structure/tank_holder/oxygen, +/obj/effect/decal/cleanable/wrapping, +/obj/structure/sign/poster/official/safety_internals/directional/north, +/turf/open/floor/vault, +/area/station/security/prison/rec) "eCn" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 1 @@ -15642,11 +16181,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"eCz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/mine/laborcamp) "eCD" = ( /obj/machinery/door/airlock/public/glass{ name = "Prison Common Room" @@ -15667,6 +16201,15 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"eCT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "eDc" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/structure/cable, @@ -15706,15 +16249,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/visit) -"eDy" = ( -/obj/structure/closet/boxinggloves, -/obj/machinery/light/directional/north, -/obj/item/clothing/shoes/jackboots, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +"eDs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "eDC" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ @@ -15722,12 +16263,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"eDD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "eDH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15740,6 +16275,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"eDJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Mix to Space" + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eDM" = ( /obj/machinery/door/airlock/command/glass{ name = "Head of Security" @@ -15752,44 +16297,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) -"eEh" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/analyzer, -/obj/item/pipe_dispenser, -/obj/item/flashlight, -/obj/machinery/incident_display/delam/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"eEm" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) -"eEr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"eEC" = ( -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Captain's Office"; - name = "Captain's Fax Machine" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "eEO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15808,14 +16315,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"eFf" = ( -/obj/structure/fireplace{ - pixel_x = 0 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "eFh" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/cigarette_pack, @@ -15849,9 +16348,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"eFw" = ( -/obj/structure/sign/poster/official/report_crimes, -/turf/closed/wall/ice, +"eFG" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/flag/nanotrasen/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) +"eFH" = ( +/obj/structure/flora/rock/icy/style_random, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "eFO" = ( /obj/structure/cable, @@ -15875,19 +16385,24 @@ /turf/open/floor/wood, /area/station/commons/dorms) "eGg" = ( -/obj/machinery/icecream_vat, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"eGl" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/watermelon, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "eGr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"eGs" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/dark_blue{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "eGw" = ( /obj/machinery/light/small/directional/north, /obj/machinery/firealarm/directional/north, @@ -15911,27 +16426,55 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"eGB" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "eGK" = ( /obj/structure/closet, /obj/effect/spawner/random/entertainment/drugs, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"eGM" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "eGN" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) +"eGV" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "eGW" = ( /obj/effect/turf_decal/tile/red{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"eGX" = ( -/obj/machinery/vending/boozeomat/all_access, -/turf/closed/wall, -/area/station/maintenance/port/aft) +"eHb" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/mapping_helpers/mail_sorting/service/dormitories, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "eHe" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -15959,22 +16502,57 @@ /obj/item/clothing/under/costume/jabroni, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"eHo" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/shower/directional/north, +/turf/open/floor/iron/smooth, +/area/mine/eva) +"eHC" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eHT" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eHX" = ( +"eHV" = ( +/obj/structure/plasticflaps/opaque{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Research Division" + }, +/obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/starboard/upper) +"eHX" = ( +/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/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Arrivals Dock" + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "eHZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -15988,6 +16566,13 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"eIg" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/sign/poster/official/here_for_your_safety/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/visit) "eIk" = ( /obj/structure/filingcabinet, /obj/machinery/power/apc/auto_name/directional/north, @@ -15995,6 +16580,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) +"eIv" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "eIC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -16012,14 +16603,17 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/dark, /area/station/medical/virology) +"eIR" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eIU" = ( -/obj/machinery/button/door/directional/south{ - id = "Cargo_Store_In"; - name = "Shutter Control"; - pixel_x = 24 - }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red, +/obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/hallway/primary/central/fore) "eJe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16079,11 +16673,31 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/mine/eva) +"eJX" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"eKb" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/aft) "eKl" = ( /obj/effect/turf_decal/stripes/box, /obj/machinery/destructive_scanner, /turf/open/floor/iron/textured_large, /area/station/hallway/primary/starboard) +"eKI" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "eKJ" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, @@ -16100,18 +16714,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"eKX" = ( -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/station/maintenance/port/fore) "eLl" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/chapel) +"eLm" = ( +/obj/structure/table/glass, +/obj/item/storage/box/monkeycubes, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "eLn" = ( /obj/machinery/computer/crew{ dir = 4 @@ -16124,19 +16738,32 @@ dir = 5 }, /area/station/science/research) -"eLv" = ( -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 8 +"eLs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"eLB" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Gambling Lounge" }, -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"eLM" = ( +/obj/structure/cable/multilayer/multiz, +/turf/open/floor/plating, +/area/station/engineering/lobby) +"eLN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/machinery/meter/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "eLS" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -16150,16 +16777,20 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/mechbay) -"eLU" = ( -/obj/structure/statue/snow/snowman, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "eMa" = ( /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, /area/station/cargo/storage) +"eMn" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/aft/greater) "eMr" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -16168,6 +16799,15 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) +"eME" = ( +/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/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "eMG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16195,21 +16835,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) -"eML" = ( -/obj/machinery/vending/wardrobe/coroner_wardrobe, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"eMO" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/box, -/obj/structure/ladder, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/mine/eva) "eMT" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/maintenance, @@ -16217,15 +16842,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"eMU" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_centre, -/obj/machinery/atmospherics/pipe/multiz/pink/visible{ - dir = 4; - name = "Exfiltrate" - }, -/obj/effect/turf_decal/tile/red/diagonal_edge, -/turf/open/floor/iron/dark/diagonal, -/area/station/engineering/atmos/mix) "eNh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -16279,17 +16895,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"eNQ" = ( -/obj/structure/sign/warning/vacuum/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/lobby) -"eNS" = ( -/obj/structure/sign/warning/xeno_mining, -/turf/closed/wall, -/area/mine/storage) "eOl" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, @@ -16305,36 +16910,31 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"eOz" = ( +"eOx" = ( /obj/structure/table, -/obj/item/razor, -/obj/item/storage/backpack/duffelbag/sec/surgery, -/turf/open/floor/plating/icemoon, -/area/station/security/execution/education) -"eOK" = ( -/obj/effect/turf_decal/trimline/neutral/mid_joiner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 6 +/obj/machinery/fax{ + fax_name = "Research Division"; + name = "Research Division Fax Machine"; + pixel_x = 1 }, -/obj/effect/turf_decal/trimline/neutral/mid_joiner{ - dir = 4 +/obj/structure/sign/departments/science/directional/south, +/turf/open/floor/iron/cafeteria{ + dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/mid_joiner, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/area/station/science/research) +"eOB" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 }, -/turf/open/floor/iron/dark/smooth_edge{ +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) +"eOJ" = ( +/obj/structure/railing{ dir = 4 }, -/area/station/ai_monitored/command/storage/eva) -"ePd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/turf/open/floor/iron/stairs/medium, +/area/station/cargo/storage) "ePi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -16345,6 +16945,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"ePj" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/coin{ + pixel_x = -7 + }, +/obj/effect/spawner/random/clothing/bowler_or_that, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ePm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16364,6 +16972,10 @@ "ePr" = ( /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hos) +"ePu" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/engine, +/area/station/science/explab) "ePB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -16371,6 +16983,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/cargo/miningdock) +"ePP" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center West" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ePR" = ( /obj/structure/railing{ dir = 6 @@ -16378,16 +17000,27 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ePZ" = ( -/obj/structure/chair/stool/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, +"ePT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) +/obj/structure/cable, +/obj/structure/sign/warning/chem_diamond/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"ePV" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/structure/sign/warning/pods/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "eQz" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -16397,34 +17030,46 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/security/prison/mess) +"eQF" = ( +/obj/structure/railing/corner, +/obj/structure/sign/departments/holy/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/service/chapel) "eQH" = ( /obj/structure/sign/departments/medbay/alt/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"eQQ" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall, -/area/station/command/heads_quarters/rd) "eQT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/mine/laborcamp/security) -"eQU" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "eQX" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"eRf" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eRh" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"eRp" = ( +/obj/structure/bed{ + dir = 1; + pixel_x = -2 + }, +/obj/machinery/flasher/directional/north{ + id = "Cell 1" + }, +/turf/open/floor/iron/smooth, +/area/station/security/brig) "eRw" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -16441,6 +17086,12 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"eRE" = ( +/obj/structure/fence/post{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eRH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -16470,15 +17121,6 @@ dir = 4 }, /area/station/cargo/bitrunning/den) -"eSm" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "eSn" = ( /obj/structure/chair/office, /obj/effect/landmark/start/assistant, @@ -16489,23 +17131,31 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/library) +"eSq" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/ordnance) "eSr" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/mine/laborcamp/security) -"eSE" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/spawner/random/contraband/prison, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner/skirt, -/obj/item/clothing/under/rank/prisoner/skirt, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +"eSA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark, +/area/mine/eva) +"eSC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/work) +/obj/machinery/duct, +/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/hydroponics) "eSJ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -16518,10 +17168,6 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) -"eSQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "eSY" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/smooth, @@ -16538,6 +17184,18 @@ }, /turf/open/floor/carpet/black, /area/station/security/prison/safe) +"eTe" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/station/hallway/secondary/entry) "eTi" = ( /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/iron/dark/telecomms, @@ -16578,19 +17236,13 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) -"eTT" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/duct, -/obj/machinery/light/small/directional/north, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron, -/area/station/service/bar) -"eUe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, +"eTY" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/stripes/box, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/white, -/area/station/medical/chemistry) +/area/station/medical/medbay/aft) "eUf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16609,6 +17261,48 @@ /obj/item/seeds/tower, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"eUm" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/hydroponics) +"eUx" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/table, +/obj/item/paper_bin/construction, +/obj/item/stack/pipe_cleaner_coil/random, +/obj/item/stack/pipe_cleaner_coil/random, +/obj/item/stack/pipe_cleaner_coil/random, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/commons/storage/art) +"eUz" = ( +/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ + pixel_x = 32 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/station/service/chapel) "eUA" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green/corner{ @@ -16641,26 +17335,39 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"eUC" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = -4 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 - }, -/obj/machinery/photocopier, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "eUI" = ( /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"eUK" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stack/sheet/plasteel/twenty{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/atmos/storage) "eUL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"eUN" = ( +/obj/structure/closet/secure_closet/medical2, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/machinery/button/door/directional/south{ + id = "surgery"; + name = "Surgery Shutter Control" + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) "eUO" = ( /mob/living/simple_animal/hostile/asteroid/polarbear{ move_force = 999; @@ -16668,39 +17375,11 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"eUR" = ( -/obj/structure/table, -/obj/machinery/button/door/directional/west{ - id = "briggate"; - name = "Brig Shutters"; - pixel_x = -6; - pixel_y = -2 - }, -/obj/machinery/button/flasher{ - id = "brigentry"; - pixel_x = -7; - pixel_y = 9 - }, -/obj/machinery/button/door/directional/west{ - id = "innerbrig"; - name = "Brig Interior Doors Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = 9; - req_access = list("security") - }, -/obj/machinery/button/door/directional/west{ - id = "outerbrig"; - name = "Brig Exterior Doors Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = -2; - req_access = list("security") - }, -/obj/item/radio/intercom/prison/directional/north, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/brig/entrance) +"eUU" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eUW" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/start/janitor, @@ -16717,11 +17396,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva/lower) -"eVi" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "eVl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -16742,6 +17416,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"eVw" = ( +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "eVC" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -16833,11 +17513,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"eWP" = ( -/obj/machinery/computer/security/mining, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "eWQ" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, @@ -16855,24 +17530,73 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"eXa" = ( +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/maintenance/port/fore) +"eXc" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"eXf" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Fitness Room North" + }, +/obj/structure/closet/masks, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/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/structure/holosign/barrier/atmos/sturdy, +/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" + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "eXH" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"eXZ" = ( -/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{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "eYe" = ( /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/central/fore) +"eYm" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "eYn" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -16880,6 +17604,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"eYx" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "eYz" = ( /obj/machinery/mineral/processing_unit/gulag{ dir = 1 @@ -16890,18 +17618,36 @@ "eYC" = ( /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) +"eYF" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "eYH" = ( /obj/machinery/power/smes/super/full, /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"eYP" = ( -/obj/structure/cable, -/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/hallway/primary/central) +"eYK" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/item/clothing/shoes/winterboots, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals External Access" + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/textured, +/area/station/hallway/secondary/entry) "eYR" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -16916,6 +17662,11 @@ }, /turf/open/floor/iron/dark, /area/station/medical/virology) +"eYS" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "eYT" = ( /obj/item/paper_bin{ pixel_x = -3; @@ -16938,6 +17689,14 @@ /obj/effect/landmark/start/botanist, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"eYY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "eZc" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine/n2o, @@ -16959,6 +17718,12 @@ /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"eZA" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "eZK" = ( /obj/machinery/recycler{ dir = 8 @@ -16994,6 +17759,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) +"eZW" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fab" = ( /obj/structure/cable, /turf/open/floor/engine, @@ -17031,26 +17800,17 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"far" = ( -/obj/structure/railing/corner/end{ +"faq" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/turf/open/floor/iron/stairs/old{ - dir = 4 +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 }, +/turf/open/floor/iron, /area/station/hallway/primary/starboard) -"fat" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "faG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -17067,30 +17827,32 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"fbg" = ( -/obj/machinery/door/airlock/wood{ - name = "Backstage" +"faL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) +"faV" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ + dir = 1 }, -/obj/effect/turf_decal/siding/wood{ +/turf/open/floor/plating/snowed/icemoon, +/area/mine/laborcamp/security) +"faW" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, -/obj/machinery/door/firedoor, -/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/service/theatre, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured_half{ +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/railing{ dir = 1 }, -/area/station/service/theater) -"fbh" = ( -/obj/machinery/power/tracker, -/obj/structure/cable, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/turf/open/floor/iron, +/area/station/service/hydroponics) "fbl" = ( /turf/open/floor/iron/dark, /area/station/science/breakroom) @@ -17098,17 +17860,30 @@ /obj/machinery/camera/directional/north{ c_tag = "Bridge Conference Room" }, -/obj/machinery/newscaster/directional/north, +/obj/structure/noticeboard/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room) -"fbW" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/siding/wood{ +"fbA" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/stairs/medium{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) +/area/station/science/cytology) +"fbF" = ( +/obj/effect/landmark/navigate_destination/dockarrival, +/obj/effect/turf_decal/bot_white, +/obj/structure/plaque/static_plaque/golden/commission/icebox, +/turf/open/floor/iron/large, +/area/station/hallway/secondary/entry) +"fbM" = ( +/obj/structure/chair/stool/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "fbY" = ( /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, @@ -17119,14 +17894,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"fce" = ( -/obj/structure/table/glass, -/obj/structure/sign/poster/contraband/little_fruits/directional/east, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/plant_analyzer, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fcg" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17139,22 +17906,23 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"fcj" = ( -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) -"fco" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/bar) "fcu" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/chair, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"fcA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "fcI" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17183,6 +17951,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/laborcamp/security) +"fdb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/obj/structure/fence{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fde" = ( /obj/structure/table, /obj/item/paper{ @@ -17191,6 +17969,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"fdj" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Escape"; + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/exit/departure_lounge) "fdm" = ( /obj/structure/falsewall, /turf/open/floor/iron, @@ -17230,12 +18025,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"fdP" = ( -/obj/structure/bonfire, -/obj/item/melee/roastingstick, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +"fdV" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/item/bikehorn/rubberducky, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "fdX" = ( /obj/item/toy/cards/deck{ pixel_x = -9; @@ -17249,6 +18046,20 @@ /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /turf/closed/wall, /area/station/medical/cryo) +"fed" = ( +/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 = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"fep" = ( +/obj/structure/no_effect_signpost, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fez" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -17262,6 +18073,11 @@ /obj/item/seeds/apple, /turf/open/floor/iron, /area/mine/laborcamp) +"feD" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "feJ" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory/upper) @@ -17284,11 +18100,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"feV" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ffe" = ( /turf/closed/wall/r_wall, /area/station/maintenance/aft/lesser) @@ -17299,20 +18110,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"ffr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"ffz" = ( -/obj/machinery/processor/slime, -/turf/open/floor/iron, -/area/station/science/xenobiology) "ffQ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -17326,11 +18123,14 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) -"fgm" = ( -/obj/machinery/photocopier, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/wood, -/area/station/service/library) +"fgc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "fgo" = ( /obj/effect/spawner/random/trash/mess, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17350,12 +18150,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"fgz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fgJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -17363,6 +18157,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/security/execution/transfer) +"fgN" = ( +/obj/structure/bonfire/prelit, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fgQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -17379,12 +18178,28 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"fgV" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "fhb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/white/smooth_large, /area/station/science/genetics) +"fhg" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Dormitory South" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/commons/dorms) "fhu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -17401,19 +18216,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"fhB" = ( -/obj/structure/chair/sofa/bench/left, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"fhS" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/sink/kitchen/directional/west, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"fhL" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "fhU" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -17431,6 +18237,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fhX" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fij" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17537,6 +18351,12 @@ /obj/machinery/ntnet_relay, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"fja" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "fjg" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/trimline/blue, @@ -17555,16 +18375,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"fju" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "fjz" = ( /obj/effect/decal/cleanable/generic, /obj/effect/decal/cleanable/dirt, @@ -17591,32 +18401,31 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"fjO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"fjN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "fjQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/mine/living_quarters) -"fkc" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/missing_gloves/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"fkd" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"fki" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/directional/east, +/obj/machinery/newscaster/directional/north, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron/white/side{ + dir = 10 }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) +/area/station/science/research) "fkj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17632,21 +18441,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) -"fkq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/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) "fkt" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/icemoon, /area/station/maintenance/port/lesser) +"fkw" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"fkD" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "fkF" = ( /obj/item/weldingtool, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "fkN" = ( @@ -17719,13 +18533,11 @@ /obj/machinery/vending/wardrobe/jani_wardrobe, /turf/open/floor/iron, /area/station/service/janitor) -"flV" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood, -/area/station/service/library) +"flK" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "flW" = ( /obj/machinery/atmospherics/components/tank/air, /turf/open/floor/plating, @@ -17807,13 +18619,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"fna" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17831,6 +18636,16 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) +"fnt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "fnA" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8 @@ -17868,11 +18683,13 @@ }, /turf/open/floor/iron/dark, /area/station/medical/storage) -"foy" = ( -/obj/item/radio/intercom/directional/south, -/obj/machinery/vending/wardrobe/science_wardrobe, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) +"foI" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/storage/box/matches, +/obj/effect/spawner/random/entertainment/cigar, +/turf/open/floor/iron, +/area/station/service/bar) "foO" = ( /turf/open/floor/carpet, /area/station/security/prison/rec) @@ -17890,26 +18707,6 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/commons/dorms) -"fpm" = ( -/obj/structure/railing/corner/end{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) -"fpp" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/structure/sign/warning/electric_shock/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/virology) "fps" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -17922,11 +18719,6 @@ dir = 9 }, /area/station/security/prison/safe) -"fpt" = ( -/obj/structure/kitchenspike, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "fpA" = ( /obj/machinery/hydroponics/soil, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -17934,25 +18726,12 @@ }, /turf/open/floor/grass, /area/station/maintenance/starboard/fore) -"fpC" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/obj/structure/sign/warning/cold_temp/directional/east, -/turf/open/floor/plating, -/area/station/commons/dorms/laundry) "fpD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"fpF" = ( -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fpJ" = ( /obj/structure/fireaxecabinet/directional/west, /obj/machinery/suit_storage_unit/atmos, @@ -17977,6 +18756,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"fqG" = ( +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/obj/structure/sign/departments/security/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fqH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/red/half, @@ -17986,6 +18771,13 @@ /obj/effect/turf_decal/trimline/white/filled/warning, /turf/open/genturf, /area/icemoon/underground/unexplored/rivers/deep) +"fqM" = ( +/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/east, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/port/lesser) "fqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -17996,6 +18788,15 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"fqR" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Primary Hallway West" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fqW" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/carbon{ @@ -18014,11 +18815,6 @@ dir = 8 }, /area/station/medical/chem_storage) -"fqX" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "frd" = ( /obj/structure/railing/corner{ dir = 1 @@ -18057,6 +18853,12 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"frz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/item/chair, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "frD" = ( /obj/machinery/air_sensor/oxygen_tank, /turf/open/floor/engine/o2, @@ -18068,29 +18870,34 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"frF" = ( +/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 = 5 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "frN" = ( /obj/machinery/power/shieldwallgen, /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/command/teleporter) -"frP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "frS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/evidence) +"fsj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "fsm" = ( /obj/structure/flora/rock/pile/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -18108,11 +18915,39 @@ "fsv" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"fsx" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) +"fsz" = ( +/obj/structure/table/glass, +/obj/machinery/vending/wallmed/directional/north, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/surgery_tray/full, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Surgery A"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery/fore) "fsF" = ( /obj/effect/spawner/structure/window, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"fsJ" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fsK" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle{ @@ -18120,14 +18955,6 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) -"fsO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "fsQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/effect/turf_decal/tile/blue{ @@ -18154,23 +18981,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"fte" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/closet/secure_closet/hydroponics, -/obj/structure/sign/clock/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"ftt" = ( -/obj/structure/sign/warning/secure_area/directional/south{ - desc = "A warning sign which reads 'SERVER ROOM'."; - name = "SERVER ROOM" +"ftk" = ( +/obj/item/chair/wood, +/obj/item/toy/plush/moth{ + name = "Ariadne" }, -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/flag/nanotrasen/directional/north, /turf/open/floor/plating, -/area/station/science/server) +/area/station/maintenance/starboard/fore) "ftA" = ( /obj/structure/table, /obj/item/storage/box/prisoner, @@ -18191,7 +19010,6 @@ /turf/open/floor/plating, /area/station/science/genetics) "ftN" = ( -/obj/machinery/light_switch/directional/west, /obj/machinery/rnd/destructive_analyzer, /turf/open/floor/iron/checker, /area/station/science/lab) @@ -18203,6 +19021,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"ftY" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/obj/structure/flora/grass/both/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"fuc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/hydro, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fue" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -18214,6 +19049,16 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"fuf" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fum" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/plating, @@ -18236,11 +19081,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"fuS" = ( -/obj/structure/stairs/east, -/obj/structure/railing, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "fuX" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -18258,19 +19098,24 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"fvj" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = 3 + }, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = -3 + }, +/obj/item/radio/intercom/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay Drone Bay" + }, +/turf/open/floor/iron/dark, +/area/station/cargo/drone_bay) "fvk" = ( /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) -"fvm" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fvx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18307,12 +19152,8 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/open/floor/iron, +/turf/open/floor/iron/dark/textured, /area/station/maintenance/disposal/incinerator) -"fvX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/greater) "fwh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18323,13 +19164,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"fwi" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "fwm" = ( /obj/effect/turf_decal/plaque{ icon_state = "L14" @@ -18346,9 +19180,22 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"fwx" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fwB" = ( /turf/closed/mineral/snowmountain/coldroom, /area/station/service/kitchen/coldroom) +"fwC" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "fwD" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -18404,13 +19251,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fwW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/stairs/right{ - dir = 4 - }, -/area/station/engineering/lobby) "fxd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -18484,14 +19324,9 @@ /obj/machinery/telecomms/server/presets/service, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"fyL" = ( -/obj/structure/table, -/obj/item/storage/medkit/regular, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +"fyI" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/icemoon/underground/explored) "fyQ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -18505,18 +19340,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"fyT" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 3 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 3 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/textured, -/area/mine/mechbay) "fyZ" = ( /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, @@ -18578,6 +19401,19 @@ "fzK" = ( /turf/closed/wall, /area/station/service/bar) +"fzO" = ( +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "fzQ" = ( /obj/structure/chair/office{ dir = 8 @@ -18609,6 +19445,10 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/prison/work) +"fAW" = ( +/obj/structure/fence/door/opened, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fBc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/line, @@ -18642,7 +19482,7 @@ network = list("labor") }, /obj/machinery/flasher/directional/west{ - id = "GulagCell 1" + id = "GulagCell 3" }, /turf/open/floor/iron, /area/mine/laborcamp) @@ -18654,6 +19494,22 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"fBy" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/closet/l3closet/virology, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + c_tag = "Virology Airlock" + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/virology) "fBF" = ( /obj/effect/landmark/start/hangover, /obj/structure/disposalpipe/segment, @@ -18661,14 +19517,15 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "fBJ" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +/obj/machinery/modular_computer/preset/civilian, +/obj/machinery/requests_console/directional/north{ + department = "Ordnance"; + name = "Ordnance Lab Requests Console" }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "fBM" = ( /obj/structure/chair{ dir = 4 @@ -18677,11 +19534,6 @@ dir = 8 }, /area/station/service/chapel) -"fBN" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "fBQ" = ( /obj/structure/cable, /turf/open/floor/iron/white/corner{ @@ -18694,52 +19546,28 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fCd" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "Prison Gate"; - name = "Prison Wing Lockdown"; - pixel_x = 5; - pixel_y = 8; - req_access = list("brig") - }, -/obj/machinery/button/door{ - id = "Trial Transfer"; - name = "Trial Transfer Lockdown"; - pixel_x = -7; - pixel_y = 8; - req_access = list("brig") - }, -/obj/machinery/button/door{ - id = "Secure Gate"; - name = "Cell Shutters"; - pixel_x = -7; - pixel_y = -3; - req_access = list("brig") - }, +"fCm" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/closed/mineral/random/snow, +/area/icemoon/underground/explored) +"fCA" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, /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/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) -"fCw" = ( -/obj/machinery/door/morgue{ - name = "Relic Closet"; - req_access = list("chapel_office") - }, -/turf/open/floor/cult, -/area/station/service/chapel/office) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "fCM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/medbay/lobby) -"fCS" = ( -/obj/machinery/door/poddoor/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) +"fCR" = ( +/obj/structure/fence/end{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fCW" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark/textured, @@ -18759,6 +19587,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"fDf" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fDl" = ( /obj/machinery/light/small/built/directional/west, /turf/open/floor/iron, @@ -18767,10 +19602,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"fDp" = ( -/obj/machinery/light/small/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored/graveyard) "fDI" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ @@ -18779,6 +19610,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, +/obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/white, /area/station/medical/psychology) "fDJ" = ( @@ -18788,15 +19620,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/janitor) -"fDM" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Security Post - Engineering" - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red, -/obj/machinery/computer/security/telescreen/engine/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "fDP" = ( /obj/structure/cable, /obj/item/radio/intercom/prison/directional/north, @@ -18816,6 +19639,19 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"fEe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "fEA" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -18827,6 +19663,17 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/processing) +"fEL" = ( +/obj/machinery/holopad, +/obj/machinery/duct, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/large, +/area/station/engineering/lobby) "fER" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -18855,11 +19702,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"fEY" = ( -/obj/item/stack/rods/two, -/obj/item/stack/sheet/iron, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fEZ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -18872,6 +19714,13 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fFe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fFi" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -18914,18 +19763,11 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"fFJ" = ( -/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/trimline/blue/filled/line{ - dir = 6 - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +"fFQ" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) "fGn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18944,24 +19786,10 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"fGr" = ( -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "fGI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) -"fGJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon/keep_below, -/area/station/maintenance/port/lesser) "fGM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -18970,11 +19798,21 @@ dir = 8 }, /area/station/security/brig/entrance) -"fHb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) +"fGQ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/hangover, +/obj/structure/sign/warning/electric_shock/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"fGY" = ( +/obj/machinery/smartfridge/organ, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "surgery"; + name = "Surgery Shutter" + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) "fHg" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark/side, @@ -18987,32 +19825,17 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"fHz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera{ - c_tag = "Medbay North"; - network = list("ss13","medbay") - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"fHC" = ( -/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, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "fHK" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/meeting_room) +"fHO" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "fHQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/violet/visible{ dir = 5 @@ -19039,21 +19862,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"fHY" = ( -/obj/item/kirbyplants/random, -/obj/machinery/button/door/directional/south{ - id = "stationawaygate"; - name = "Gateway Access Shutter Control"; - pixel_x = 6; - req_access = list("gateway") +"fHV" = ( +/obj/machinery/mineral/stacking_unit_console{ + pixel_x = -32 }, -/obj/machinery/vending/wallmed/directional/west, -/obj/machinery/light_switch/directional/south{ - pixel_x = -6 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Disposals" }, -/obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/dark, -/area/station/command/gateway) +/area/station/maintenance/disposal) "fHZ" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -19062,18 +19883,6 @@ dir = 1 }, /area/mine/eva/lower) -"fIb" = ( -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/rec) -"fIn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "fIs" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -19100,18 +19909,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"fJd" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/warning/pods/directional/west, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/station/hallway/secondary/entry) "fJe" = ( /obj/machinery/door/airlock/external{ name = "Atmospherics External Airlock" @@ -19139,6 +19936,20 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/science/ordnance/office) +"fJA" = ( +/obj/structure/bodycontainer/morgue/beeper_off{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "fJF" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/east, @@ -19154,6 +19965,16 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"fJS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"fJZ" = ( +/obj/effect/turf_decal/tile/red, +/obj/structure/railing/corner, +/turf/open/floor/iron/textured, +/area/station/security/brig) "fKe" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering West" @@ -19180,11 +20001,6 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fKk" = ( -/obj/item/kirbyplants/fern, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fKr" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -19197,6 +20013,9 @@ /obj/structure/fluff/tram_rail, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) +"fKw" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "fKF" = ( /obj/effect/turf_decal/plaque{ icon_state = "L7" @@ -19224,6 +20043,23 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"fKR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) +"fKV" = ( +/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 = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "fKW" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Upper Permabrig Hallway North"; @@ -19235,10 +20071,22 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"fLa" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"fKZ" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/kitchen) "fLb" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -19270,31 +20118,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory/upper) -"fLC" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood/large, -/area/mine/eva/lower) -"fLG" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 +"fLu" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/service/hydroponics) -"fLH" = ( -/obj/machinery/computer/station_alert{ - dir = 4 +"fLx" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/railing{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/ce/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/service/chapel) +"fLC" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/wood/large, +/area/mine/eva/lower) "fLK" = ( /obj/structure/railing/corner{ dir = 8 @@ -19333,11 +20182,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) -"fLU" = ( -/turf/open/floor/iron/stairs/medium{ - dir = 4 - }, -/area/station/science/research) "fLY" = ( /obj/structure/table, /obj/item/stock_parts/micro_laser{ @@ -19363,39 +20207,38 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fMg" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/acidic_buffer{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/basic_buffer{ - pixel_x = -5; - pixel_y = 3 +"fMt" = ( +/obj/effect/turf_decal/bot{ + dir = 1 }, -/obj/item/reagent_containers/cup/bottle/formaldehyde{ - pixel_x = 1 +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/engine_smes) +"fMC" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 5; + pixel_x = -4 }, -/obj/structure/sign/warning/no_smoking/directional/north, -/turf/open/floor/iron/dark/textured_edge{ +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"fME" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/area/station/medical/chem_storage) -"fMq" = ( -/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/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"fMZ" = ( /obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) -"fMu" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/crushed_can, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/item/wrench, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "fNa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -19421,34 +20264,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"fNy" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hooded/wintercoat{ - pixel_x = 3; - pixel_y = 3 +"fNB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/winterboots, -/obj/item/clothing/shoes/winterboots, -/obj/structure/sign/warning/gas_mask/directional/west, -/obj/machinery/light/small/directional/west, -/obj/machinery/mining_weather_monitor/directional/north, -/obj/effect/turf_decal/delivery/red, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals External Access"; - dir = 9 +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/iron/textured, -/area/station/hallway/secondary/entry) -"fNz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"fNA" = ( -/turf/open/openspace, -/area/station/medical/medbay/central) +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "fNK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19464,18 +20288,47 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter) -"fOg" = ( -/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/plating, -/area/station/maintenance/starboard/fore) +"fNZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "fOl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/explab) +"fOq" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"fOs" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Quartermaster's Office" + }, +/obj/structure/table, +/obj/item/coin/silver, +/obj/item/computer_disk/quartermaster, +/obj/item/computer_disk/quartermaster, +/obj/item/computer_disk/quartermaster, +/obj/item/clipboard, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) +"fOH" = ( +/obj/structure/fence/post{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "fOR" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/airalarm/directional/east, @@ -19484,6 +20337,22 @@ dir = 9 }, /area/station/science/lab) +"fOS" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"fOU" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fPb" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -19491,12 +20360,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fPh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 +"fPc" = ( +/obj/structure/fence{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fPv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -19514,13 +20383,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"fPO" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron/white/side{ - dir = 1 +"fPI" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/area/station/command/heads_quarters/rd) +/obj/item/kirbyplants/organic/plant10, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fPP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19556,28 +20430,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fQa" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fQc" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 1 }, /turf/open/floor/iron, /area/station/engineering/atmos) +"fQe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Lower" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "fQk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"fQs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "fQu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19600,12 +20472,6 @@ dir = 1 }, /area/station/security/prison) -"fQU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) "fRb" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -19616,6 +20482,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/pink, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fRq" = ( +/obj/structure/closet/boxinggloves, +/obj/machinery/light/directional/north, +/obj/item/clothing/shoes/jackboots, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "fRv" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/engine, @@ -19629,13 +20505,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) -"fSd" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "fSi" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line{ @@ -19657,16 +20526,42 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"fSs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/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, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fSv" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"fSC" = ( -/obj/effect/turf_decal/bot, -/obj/effect/landmark/start/hangover, -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"fSB" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"fSP" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table, +/obj/item/clothing/head/utility/welding{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/clothing/head/utility/welding{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/clothing/head/utility/welding, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "fTb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19676,11 +20571,16 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"fTn" = ( -/obj/effect/spawner/random/structure/grille, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"fTi" = ( +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "fTo" = ( /obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -3 @@ -19730,6 +20630,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"fTH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "fTR" = ( /obj/machinery/light/directional/north, /obj/structure/sign/warning/electric_shock/directional/north, @@ -19779,17 +20684,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/hallway/primary/port) -"fUx" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"fUI" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/engineering/storage/tech) "fUL" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -19809,11 +20703,33 @@ "fUR" = ( /turf/closed/wall, /area/station/hallway/secondary/entry) -"fVh" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +"fUW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"fVf" = ( +/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, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "fVm" = ( /obj/machinery/door/airlock/maintenance{ name = "Chemical Storage" @@ -19832,16 +20748,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"fVC" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/ecto_sniffer{ - pixel_x = 6; - pixel_y = 6 - }, +"fVy" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, /turf/open/floor/iron, -/area/station/science/robotics/lab) +/area/station/command/heads_quarters/ce) "fVD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/engineering{ @@ -19889,6 +20799,13 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/service/janitor) +"fVU" = ( +/obj/structure/chair/stool/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/gateway) "fWa" = ( /obj/structure/chair/wood{ dir = 4 @@ -19898,44 +20815,11 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) -"fWd" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Hydroponics Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/service/hydroponics, -/turf/open/floor/plating, -/area/station/service/hydroponics) "fWe" = ( /obj/machinery/hydroponics/soil, /obj/item/plant_analyzer, /turf/open/floor/grass, /area/station/security/prison/garden) -"fWn" = ( -/obj/structure/table/glass, -/obj/machinery/vending/wallmed/directional/north, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/machinery/camera{ - c_tag = "Surgery A"; - dir = 1; - network = list("ss13","medbay"); - pixel_x = 22 - }, -/obj/item/surgery_tray/full, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery/fore) "fWo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19948,16 +20832,6 @@ /obj/structure/railing/corner, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"fWE" = ( -/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, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "fWL" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -19979,18 +20853,21 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"fWQ" = ( +/obj/machinery/flasher/directional/north{ + id = "Cell 2" + }, +/obj/structure/bed{ + dir = 1; + pixel_x = -2 + }, +/turf/open/floor/iron/smooth, +/area/station/security/brig) "fWS" = ( /obj/structure/mineral_door/wood, /obj/structure/barricade/wooden/crude/snow, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"fWW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fWX" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating/snowed/icemoon, @@ -20004,16 +20881,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"fXo" = ( -/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/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/commons/dorms) "fXr" = ( /turf/open/floor/iron/white/corner{ dir = 8 @@ -20024,17 +20891,24 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"fXw" = ( +/obj/machinery/chem_master/condimaster{ + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + name = "HoochMaster Deluxe" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "fXy" = ( /obj/structure/cable, /obj/machinery/computer/prisoner/management, /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/mine/laborcamp/security) -"fXF" = ( -/obj/structure/table/wood, -/obj/item/pai_card, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +"fXL" = ( +/obj/structure/sign/poster/official/here_for_your_safety/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fXO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -20042,15 +20916,19 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"fXP" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"fXQ" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"fXX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/mine/laborcamp) +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "fYi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20059,16 +20937,35 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"fYF" = ( -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/openspace, -/area/station/commons/storage/mining) +"fYz" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"fYE" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/obj/item/paper/fluff/ids_for_dummies, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "fYH" = ( /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/mine/eva/lower) +"fYJ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "fYO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -20082,19 +20979,26 @@ "fYS" = ( /turf/closed/wall, /area/station/commons/storage/primary) +"fYT" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fYW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"fYX" = ( -/obj/structure/chair/stool/directional/north, -/obj/structure/disposalpipe/segment{ +"fYY" = ( +/obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, -/area/station/commons/fitness) +/area/station/engineering/atmos/storage) "fZb" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "miner-passthrough" @@ -20118,18 +21022,38 @@ /obj/structure/curtain/cloth, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"fZO" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"fZT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"fZy" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, +/turf/open/openspace, +/area/station/science/ordnance/office) +"fZA" = ( +/obj/machinery/button/door/directional/west{ + id = "xenobio5"; + name = "Xenobio Pen 5 Blast Door"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"fZH" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck{ + pixel_y = 13; + pixel_x = 6 + }, +/obj/effect/spawner/random/entertainment/cigarette, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"fZK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/sign/clock/directional/north, /turf/open/floor/wood, -/area/station/maintenance/aft/greater) +/area/station/commons/vacant_room/office) "fZV" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -20184,10 +21108,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/cargo/storage) -"gar" = ( -/obj/structure/lattice/catwalk, -/turf/open/misc/asteroid/snow/icemoon, -/area/station/maintenance/aft/greater) "gas" = ( /obj/structure/table, /obj/machinery/camera/directional/east{ @@ -20221,6 +21141,25 @@ /obj/effect/turf_decal/box/corners, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"gaA" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/graveyard) +"gaC" = ( +/obj/structure/closet/lasertag/red, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) +"gaF" = ( +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/machinery/light/small/directional/west, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "gaS" = ( /obj/item/hot_potato/harmless/toy, /obj/structure/table/wood, @@ -20276,16 +21215,6 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"gbz" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"gbC" = ( -/obj/machinery/vending/dinnerware, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "gbJ" = ( /obj/machinery/door/airlock/security/glass{ name = "Armory" @@ -20296,6 +21225,23 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) +"gbK" = ( +/obj/structure/rack, +/obj/item/clothing/suit/utility/beekeeper_suit, +/obj/item/clothing/head/utility/beekeeper_head, +/obj/item/melee/flyswatter, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Botany Lower Entrance" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "gbL" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -20310,10 +21256,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"gbM" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/station/maintenance/fore) "gbP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -20321,17 +21263,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) -"gcf" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/knife/kitchen{ - pixel_y = 2 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "gck" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20348,22 +21279,27 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"gcy" = ( -/obj/effect/turf_decal/stripes/line{ +"gcP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"gcT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"gcU" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, -/obj/machinery/door/firedoor/heavy, -/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, -/area/station/science/ordnance) -"gcB" = ( -/obj/item/pickaxe/improvised{ - pixel_x = 7 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) +/area/station/medical/morgue) "gcV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -20376,14 +21312,11 @@ /obj/item/food/piedough, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"gdg" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 8 - }, -/obj/structure/sign/warning/fire/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) +"gdc" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gdv" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, @@ -20416,13 +21349,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"gdK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gdN" = ( /obj/structure/railing/corner{ dir = 1 @@ -20432,24 +21358,10 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"gdO" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gdP" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"gdS" = ( -/obj/machinery/shower/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/turf/open/floor/iron/smooth, -/area/mine/eva/lower) "gdY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20463,6 +21375,30 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"gec" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/trash/janitor_supplies, +/obj/structure/sign/poster/contraband/the_griffin/directional/north, +/turf/open/floor/iron/grimy, +/area/station/commons/vacant_room/office) +"gee" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/mine/eva) "geg" = ( /obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt, @@ -20493,6 +21429,16 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, /area/station/commons/locker) +"get" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/turf/open/floor/iron/dark, +/area/station/cargo/miningdock) "geJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20526,6 +21472,20 @@ "gfb" = ( /turf/closed/wall/r_wall, /area/station/maintenance/central/greater) +"gff" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/camera/directional/north{ + c_tag = "Virology Module North"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "gfo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20540,18 +21500,6 @@ /obj/structure/table, /turf/open/floor/plating, /area/mine/eva/lower) -"gfy" = ( -/obj/machinery/camera{ - c_tag = "Morgue North"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "gfC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/light_construct/directional/south, @@ -20565,17 +21513,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/commons/storage/art) -"gfY" = ( -/obj/effect/spawner/random/structure/tank_holder, -/obj/structure/sign/poster/official/wtf_is_co2/directional/east, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "gga" = ( /obj/machinery/light/small/directional/west, /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"gge" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "ggn" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics Maintenance" @@ -20588,15 +21535,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"ggv" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 2; - pixel_y = -32 +"ggz" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/obj/machinery/shower/directional/north, -/turf/open/floor/iron/smooth, -/area/mine/eva) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ggG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -20607,10 +21562,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"ggS" = ( -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "ggV" = ( /obj/machinery/conveyor{ id = "gulag" @@ -20619,14 +21570,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/mine/laborcamp) -"ghj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Gas to Chamber" +"ghb" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ghl" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, @@ -20641,12 +21591,16 @@ /obj/structure/closet/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"ghA" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 +"ghD" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ghE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/west{ @@ -20668,30 +21622,25 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"ghQ" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) -"ghT" = ( -/obj/machinery/newscaster/directional/north, -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/toy/figure/mime{ - pixel_x = -6 - }, -/obj/item/toy/figure/clown{ - pixel_x = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "ghY" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"gib" = ( +/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/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay South"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "gif" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20700,20 +21649,26 @@ /obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"giH" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/barsign/all_access/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ +"giv" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "giN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron/dark/side, /area/station/security/prison/workout) +"giO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/fore) "giP" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -20734,14 +21689,6 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"giR" = ( -/obj/structure/table, -/obj/item/relic, -/obj/effect/spawner/random/maintenance, -/obj/item/screwdriver, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron/checker, -/area/station/maintenance/port/fore) "giV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20781,6 +21728,11 @@ "gjq" = ( /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) +"gjI" = ( +/obj/effect/spawner/random/structure/tank_holder, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/iron, +/area/station/maintenance/port/fore) "gjM" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -20788,17 +21740,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"gjN" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) "gjP" = ( /obj/structure/table, /obj/item/clothing/gloves/cargo_gauntlet, @@ -20814,13 +21755,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/wood, /area/station/security/courtroom) -"gjT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "gjW" = ( /obj/structure/chair, /turf/open/floor/iron/cafeteria, @@ -20857,12 +21791,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"gkH" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/cigarette, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "gkK" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ color = "#0000ff"; @@ -20878,6 +21806,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/lobby) +"gkN" = ( +/obj/machinery/vending/autodrobe, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "gkP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20894,6 +21826,16 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"gkX" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6 + }, +/obj/item/reagent_containers/syringe, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "gkY" = ( /obj/machinery/atmospherics/components/binary/pump/off{ dir = 1; @@ -20920,18 +21862,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"gle" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/cold_temp{ - pixel_x = -2; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva/lower) "glh" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) @@ -20958,6 +21888,19 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) +"glz" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "glC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -21015,11 +21958,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) -"gmt" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/food_cart, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "gmJ" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Infiltrate/Filter" @@ -21092,9 +22030,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"gnE" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/grass, +"gnJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "gnL" = ( /obj/structure/closet/bombcloset/security, @@ -21108,32 +22053,52 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) -"gnR" = ( -/obj/structure/toilet/greyscale{ - cistern_open = 1; - dir = 1 +"gnT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) -"gnZ" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"gnX" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"goa" = ( +/obj/machinery/chem_heater/withbuffer, +/obj/effect/turf_decal/tile/yellow/full, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/pharmacy) "gob" = ( /obj/structure/closet/wardrobe/black, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"goc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/smartfridge/organ, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"goq" = ( -/turf/open/openspace, -/area/station/science/research) +"god" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/door/window/left/directional/west{ + name = "Secure Art Exhibition"; + req_access = list("library") + }, +/obj/effect/spawner/random/structure/table_fancy, +/obj/structure/sign/painting/library_secure{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/station/service/library) +"goe" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gov" = ( /obj/machinery/door/window/left/directional/west{ name = "Janitorial Delivery"; @@ -21143,6 +22108,21 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron, /area/station/service/janitor) +"goy" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/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, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "goB" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -21173,11 +22153,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"goJ" = ( -/obj/structure/flora/rock/pile/jungle/style_random, -/mob/living/carbon/human/species/monkey, -/turf/open/floor/grass, -/area/station/medical/virology) +"goY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "gpj" = ( /obj/structure/chair/sofa/corp/right{ dir = 8 @@ -21185,9 +22165,34 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"gpo" = ( +/obj/structure/sign/warning/directional/south, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "gpp" = ( /turf/open/floor/iron, /area/station/hallway/primary/port) +"gpr" = ( +/obj/machinery/restaurant_portal/bar, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/barsign/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"gps" = ( +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 1 + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/microwave, +/obj/machinery/camera/directional/north{ + c_tag = "Mining B-1 Crater Observatory"; + network = list("ss13", "mine") + }, +/obj/effect/turf_decal/tile/dark/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/white/side, +/area/mine/living_quarters) "gpt" = ( /obj/machinery/button/door/directional/east{ id = "kanyewest"; @@ -21199,6 +22204,35 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"gpB" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat_interior) +"gpM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"gpR" = ( +/obj/structure/cable, +/obj/machinery/light/dim/directional/south, +/obj/machinery/requests_console/directional/south{ + department = "Medbay"; + name = "Medbay Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"gpS" = ( +/obj/effect/turf_decal/loading_area/white{ + dir = 8 + }, +/obj/structure/noticeboard/directional/south, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "gpU" = ( /obj/structure/frame/computer, /obj/item/stack/cable_coil/five, @@ -21249,10 +22283,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"gqG" = ( -/obj/structure/sign/warning, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) "gqK" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -21271,32 +22301,23 @@ dir = 8 }, /area/station/command/heads_quarters/rd) -"gqZ" = ( -/obj/machinery/status_display/door_timer{ - id = "Cell 2"; - name = "Cell 2"; - pixel_x = -32 - }, +"gra" = ( +/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/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) -"grg" = ( -/obj/item/toy/snowball{ - pixel_x = 6; - pixel_y = 5 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "grk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) +"grp" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "grr" = ( /obj/structure/table, /obj/item/storage/box/shipping, @@ -21311,15 +22332,10 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"grs" = ( -/obj/structure/sign/warning/fire/directional/south, -/turf/open/floor/glass/reinforced, -/area/station/science/ordnance/office) "grA" = ( /obj/structure/table/reinforced, /obj/item/assembly/flash/handheld, /obj/item/assembly/flash/handheld, -/obj/machinery/newscaster/directional/west, /obj/item/wrench{ pixel_y = 17 }, @@ -21345,22 +22361,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"grL" = ( +/obj/machinery/light/small/directional/east, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/graveyard) "grN" = ( /obj/structure/chair{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/lobby) -"grO" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "grT" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -21371,13 +22381,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"grU" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 +"gsd" = ( +/obj/structure/fence/corner{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/security/prison/visit) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "gsk" = ( /obj/structure/reflector/single/anchored{ dir = 5 @@ -21387,15 +22396,17 @@ "gst" = ( /turf/closed/wall, /area/station/commons/vacant_room/commissary) -"gsF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"gsI" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/item/radio/intercom/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "gsK" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/weather/snow/corner{ @@ -21440,6 +22451,16 @@ /obj/effect/turf_decal/tile/neutral/diagonal_edge, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"gtB" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "gtF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -21452,17 +22473,19 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, /area/station/commons/locker) -"gua" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"guA" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"guO" = ( +/obj/item/stack/sheet/mineral/wood, +/obj/effect/decal/cleanable/generic, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "guS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21497,13 +22520,14 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"gvi" = ( -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 4 +"gvf" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio8"; + name = "Xenobio Pen 8 Blast DOors"; + req_access = list("xenobiology") }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gvj" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -21517,28 +22541,36 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"gvr" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "gvK" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) -"gvM" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/smartfridge/extract/preloaded, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron, -/area/station/science/xenobiology) -"gwb" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"gwm" = ( -/obj/structure/railing/corner/end/flip{ +"gwl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/iron/white/side{ - dir = 9 +/obj/machinery/light/directional/north, +/obj/machinery/button/door/directional/north{ + id = "Secure Gate"; + name = "Cell Shutters"; + req_access = list("brig") }, -/area/station/science/research) +/obj/machinery/button/door/directional/north{ + id = "Prison Gate"; + name = "Prison Wing Lockdown"; + req_access = list("brig"); + pixel_y = 35 + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "gwp" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/full, @@ -21599,6 +22631,17 @@ dir = 4 }, /area/station/maintenance/port/fore) +"gwW" = ( +/obj/structure/ladder, +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"gxg" = ( +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "gxh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21618,10 +22661,6 @@ /obj/item/radio/intercom/prison/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison/rec) -"gxz" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "gxO" = ( /obj/structure/table/reinforced, /obj/item/hand_labeler{ @@ -21654,22 +22693,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/eva) -"gxT" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "gxU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21682,15 +22705,27 @@ /obj/item/storage/medkit/regular, /turf/open/floor/iron, /area/station/commons/dorms) -"gyf" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/south, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box{ - pixel_x = 4 +"gyd" = ( +/obj/machinery/space_heater, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"gyg" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, /turf/open/floor/iron/dark, -/area/station/service/chapel) +/area/station/service/hydroponics) "gyH" = ( /obj/machinery/light/directional/north, /obj/machinery/vending/coffee, @@ -21698,14 +22733,19 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"gyP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) +"gyO" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/cytology{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/storage/box/swab{ + pixel_y = 7; + pixel_x = 7 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "gyR" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -21723,6 +22763,35 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"gzH" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + name = "Ordnance Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) +"gzI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) +"gzJ" = ( +/obj/structure/cable/multilayer/multiz, +/obj/effect/turf_decal/stripes/box, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "gzV" = ( /obj/structure/mineral_door/paperframe{ name = "Meditation Room" @@ -21736,14 +22805,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"gAd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) "gAk" = ( /obj/machinery/airalarm/directional/east, /obj/structure/closet/l3closet/scientist, @@ -21767,25 +22828,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) -"gAw" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 +"gAz" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 }, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "gAB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -21798,44 +22847,28 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"gAG" = ( -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) +"gAM" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/obj/structure/sign/warning/cold_temp/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gAR" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/security/prison) -"gAY" = ( -/obj/structure/sign/warning/cold_temp/directional/west, -/turf/open/floor/iron, -/area/station/cargo/miningdock) -"gAZ" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hooded/wintercoat/science{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/clothing/shoes/winterboots{ - pixel_x = -7; - pixel_y = -1 - }, -/obj/item/biopsy_tool{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/gps/mining{ - pixel_x = -7; - pixel_y = -3 +"gAV" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/item/knife/combat/survival{ - pixel_x = 4; - pixel_y = -3 +/obj/structure/stairs/south, +/turf/open/floor/iron/stairs/medium{ + dir = 1 }, -/obj/structure/sign/warning/gas_mask/directional/north, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/area/station/security/prison) +"gAZ" = ( +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gBb" = ( /obj/machinery/door/window/right/directional/west{ name = "Containment Pen 3"; @@ -21859,14 +22892,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gBl" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/icemoon/underground/explored) -"gBs" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gBv" = ( /obj/machinery/door/window/left/directional/south{ name = "Engineering Delivery"; @@ -21884,10 +22909,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"gBI" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/hallway/secondary/exit/departure_lounge) +"gBJ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "gBX" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle{ @@ -21937,15 +22970,15 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"gCs" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/sign/poster/contraband/missing_gloves/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "gCu" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"gCG" = ( -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "gCK" = ( /obj/structure/chair/office{ dir = 8 @@ -21955,6 +22988,12 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"gCV" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "gCY" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -21977,18 +23016,31 @@ /turf/open/floor/wood, /area/station/security/courtroom) "gDh" = ( -/obj/structure/flora/grass/brown/style_random, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/station/commons/dorms/laundry) "gDp" = ( /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/medical/central) +"gDq" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"gDv" = ( +/obj/structure/table, +/obj/item/clothing/suit/apron/chef, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/processor, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "gDz" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/glass/bottle/amaretto{ @@ -22006,22 +23058,20 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"gDB" = ( -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"gDL" = ( -/obj/structure/chair/wood{ +"gDE" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/toy/plush/moth{ - name = "Theseus" +/obj/machinery/door/airlock/maintenance{ + name = "Xenobiology Maintenance" }, -/obj/effect/decal/cleanable/dirt/dust, +/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/access/all/science/xenobio, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/aft/greater) "gDN" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -22040,33 +23090,9 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"gDY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "gDZ" = ( /turf/open/floor/wood, /area/station/maintenance/port/fore) -"gEb" = ( -/obj/machinery/button/door/directional/west{ - id = "riot"; - name = "Anti-Riot Shutters"; - pixel_x = -7; - pixel_y = 32; - req_access = list("security") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "gEd" = ( /obj/machinery/camera/directional/east{ c_tag = "MiniSat External SouthWest"; @@ -22075,20 +23101,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"gEe" = ( -/obj/structure/table, -/obj/item/binoculars, -/obj/machinery/computer/security/telescreen/ordnance/directional/north, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) -"gEl" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gEn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22112,11 +23124,22 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"gEt" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"gEy" = ( +/obj/structure/table, +/obj/item/computer_disk/ordnance, +/obj/item/computer_disk/ordnance{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/computer_disk{ + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/aicard, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/command/heads_quarters/rd) "gEE" = ( /turf/open/openspace, /area/station/service/chapel) @@ -22130,6 +23153,9 @@ /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/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "gEV" = ( @@ -22138,18 +23164,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"gEX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"gEZ" = ( -/obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gFj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -22157,19 +23171,15 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) -"gFt" = ( -/obj/effect/spawner/random/engineering/canister, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"gFx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating/icemoon, -/area/station/maintenance/solars/port/aft) "gFH" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"gFI" = ( +/obj/machinery/telecomms/server/presets/security, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "gFL" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -22178,24 +23188,6 @@ dir = 5 }, /area/station/hallway/secondary/entry) -"gFR" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/suit/utility/radiation, -/obj/item/clothing/head/utility/radiation, -/obj/item/geiger_counter, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/clothing/glasses/meson, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"gFW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/wood/large, -/area/station/service/bar) "gFX" = ( /turf/closed/wall, /area/icemoon/underground/explored) @@ -22221,12 +23213,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"gGo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "gGs" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/machinery/newscaster/directional/west, @@ -22249,12 +23235,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/science/genetics) -"gGC" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage) "gGE" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat{ @@ -22277,20 +23257,15 @@ /obj/structure/light_construct/directional/west, /turf/open/floor/plating, /area/station/construction) -"gGK" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"gGS" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/white, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" +"gGI" = ( +/obj/structure/closet/l3closet, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Storage"; + network = list("ss13","medbay") }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/turf/open/floor/iron/dark, +/area/station/medical/storage) "gGZ" = ( /obj/machinery/computer/bank_machine, /obj/effect/turf_decal/bot_white, @@ -22306,10 +23281,6 @@ /obj/machinery/mineral/processing_unit_console, /turf/closed/wall, /area/mine/laborcamp) -"gHj" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/dorms) "gHl" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 8 @@ -22350,9 +23321,6 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"gHL" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) "gHN" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -22377,26 +23345,24 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/checker, /area/station/science/lab) -"gIf" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"gIh" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) -"gIl" = ( -/obj/structure/fence/corner{ - dir = 6 +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"gIs" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "gIt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, @@ -22416,6 +23382,10 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"gIJ" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/medical/morgue) "gIL" = ( /obj/machinery/door/airlock/security/glass{ name = "Secure Walkway" @@ -22428,37 +23398,18 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"gIN" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + 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/commons/fitness) "gIY" = ( /turf/closed/wall, /area/station/medical/medbay/central) -"gJi" = ( -/obj/structure/table, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/crowbar, -/obj/item/radio/headset/headset_sci{ - pixel_x = -3 - }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "gJs" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/disposalpipe/segment, @@ -22474,12 +23425,31 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/commons/dorms) +"gJD" = ( +/obj/item/reagent_containers/cup/soda_cans/beer{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gJK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) +"gJN" = ( +/obj/machinery/rnd/production/circuit_imprinter, +/obj/machinery/requests_console/directional/east{ + department = "Engineering"; + name = "Engineering Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/window/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "gJT" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/white/side{ @@ -22529,6 +23499,11 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"gKE" = ( +/obj/effect/turf_decal/weather/snow/corner, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "gKG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/green{ @@ -22539,6 +23514,20 @@ "gKQ" = ( /turf/closed/wall, /area/station/security/courtroom) +"gKU" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/cable, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "gLj" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine, @@ -22547,6 +23536,16 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) +"gLn" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/railing/corner/end{ + dir = 1 + }, +/obj/structure/sign/warning/biohazard/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "gLu" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22571,33 +23570,63 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"gLS" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) +"gLU" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Public Mining Storage"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/iron/dark, +/area/mine/storage) +"gLX" = ( +/obj/structure/railing/wooden_fence{ + dir = 9 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "gLY" = ( -/obj/machinery/vatgrower, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/theater, /obj/structure/cable, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gLZ" = ( /obj/structure/table, /obj/item/flashlight/lamp, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"gMi" = ( +"gMd" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/medical/morgue) +"gMl" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen{ - pixel_x = -5 +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 }, -/obj/item/hand_labeler{ - pixel_y = -3 +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) +"gMq" = ( +/obj/machinery/computer/cargo{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/machinery/keycard_auth/wall_mounted/directional/west, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "gMt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -22608,25 +23637,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"gMw" = ( -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = -29 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth, -/area/mine/eva) -"gMx" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "gMK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22642,25 +23652,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) -"gMN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/secure_area/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner, -/area/station/engineering/atmos) -"gMT" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) "gMZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22670,13 +23661,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gNc" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) "gNg" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat External South"; @@ -22685,10 +23669,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"gNh" = ( -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "gNi" = ( /obj/structure/table, /obj/item/reagent_containers/cup/beaker/large{ @@ -22702,21 +23682,13 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/cafeteria, /area/station/science/lab) -"gNu" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ +"gNC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark/smooth_edge{ dir = 4 }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"gNw" = ( -/obj/structure/flora/bush/grassy/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +/area/station/command/gateway) "gNH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -22724,12 +23696,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/workout) -"gNJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "gNL" = ( /obj/machinery/status_display/evac/directional/south, /obj/machinery/light/directional/south, @@ -22745,6 +23711,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"gOa" = ( +/obj/structure/cable, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "gOb" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -22754,15 +23727,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"gOd" = ( -/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 = 5 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "gOg" = ( /obj/machinery/light/small/directional/west, /obj/machinery/camera/directional/west{ @@ -22791,11 +23755,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) -"gOq" = ( -/obj/effect/spawner/random/trash, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "gOx" = ( /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -22807,6 +23766,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"gOA" = ( +/obj/structure/railing/corner, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "gOI" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -22836,20 +23799,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"gPj" = ( -/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/hatch{ - name = "Morgue" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "gPn" = ( /obj/machinery/door/airlock/security/glass{ name = "Armory" @@ -22859,13 +23808,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) -"gPo" = ( -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 8 - }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gPp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -22873,18 +23815,13 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"gPB" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"gPE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/cafeteria{ - dir = 8 +"gPC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 4 }, -/area/station/science/research) +/turf/open/openspace, +/area/station/science/ordnance/office) "gPR" = ( /obj/effect/turf_decal/trimline/green/filled/warning, /obj/machinery/duct, @@ -22951,6 +23888,18 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) +"gQI" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm4"; + name = "Dorm 4" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) "gQO" = ( /obj/machinery/door/airlock/public/glass{ name = "Chapel Office" @@ -22965,6 +23914,14 @@ /obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"gRg" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/sign/warning/gas_mask/directional/north{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "gRm" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, @@ -22993,30 +23950,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"gRE" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" +"gRt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"gRA" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/test_chamber/directional/east{ + name = "Xenobio Monitor" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gRI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"gRL" = ( -/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/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gRZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -23025,8 +23978,35 @@ dir = 8 }, /obj/machinery/light/small/directional/south, +/obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/security/prison/visit) +"gSd" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"gSl" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"gSq" = ( +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/obj/machinery/button/door/directional/north{ + id = "rnd"; + name = "Shutters Control Button"; + req_access = list("research"); + dir = 2 + }, +/obj/machinery/light_switch/directional/north{ + pixel_y = 35 + }, +/turf/open/floor/iron/checker, +/area/station/science/lab) "gSr" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/utility/radiation, @@ -23051,19 +24031,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"gSK" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/mine/eva/lower) "gSN" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -23077,30 +24044,6 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) -"gSQ" = ( -/obj/structure/table, -/obj/item/crowbar/red, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) -"gSU" = ( -/obj/item/popsicle_stick{ - pixel_y = 1; - pixel_x = -9 - }, -/obj/item/popsicle_stick{ - pixel_y = 3; - pixel_x = -2 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "gSV" = ( /obj/machinery/light/directional/south, /obj/structure/bodycontainer/morgue{ @@ -23110,39 +24053,44 @@ dir = 1 }, /area/station/service/chapel/office) -"gTb" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ +"gTa" = ( +/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/sign/warning/cold_temp/directional/west, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/station/cargo/storage) +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "gTi" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Chemistry Access" - }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"gTq" = ( +/obj/effect/decal/cleanable/dirt, /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/plating, +/area/station/maintenance/starboard/aft) +"gTr" = ( /obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/turf_decal/tile/yellow/full, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) -"gTq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "gTw" = ( /obj/structure/railing{ dir = 8 @@ -23160,6 +24108,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"gUa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gUg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -23189,13 +24142,12 @@ dir = 1 }, /area/station/security/processing) -"gUw" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"gUv" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gUx" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -23210,19 +24162,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"gUT" = ( -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"gUX" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/test_chamber/directional/east{ - name = "Xenobio Monitor" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "gUY" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -23234,10 +24173,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"gVh" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gVm" = ( /obj/item/coin/silver{ pixel_x = -5; @@ -23250,12 +24185,6 @@ }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"gVs" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/hobo_squat, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gVt" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/red{ @@ -23271,18 +24200,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"gVC" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ - dir = 8 - }, -/obj/machinery/airlock_sensor/incinerator_atmos{ - pixel_y = 24 +"gVB" = ( +/obj/structure/chair/stool/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "gVD" = ( /obj/structure/closet/firecloset, /obj/item/radio/intercom/directional/west, @@ -23291,6 +24218,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"gVN" = ( +/obj/structure/flora/grass/green/style_random, +/obj/structure/sign/warning/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "gVO" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -23316,13 +24249,18 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"gVX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"gVV" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "gWf" = ( /obj/item/storage/box/lights/mixed, /obj/structure/table, @@ -23331,37 +24269,44 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/morgue) -"gWl" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 +"gWh" = ( +/obj/structure/rack, +/obj/machinery/light/small/dim/directional/north, +/obj/structure/sign/departments/maint/alt/directional/north, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"gWi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 +/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/table/glass, -/obj/machinery/reagentgrinder{ - pixel_y = 8; - pixel_x = 6 +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"gWn" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped{ + dir = 4; + name = "Exfiltrate Filter" }, -/obj/item/storage/box/syringes{ - pixel_y = 8; - pixel_x = -5 +/obj/effect/turf_decal/trimline/dark_red/filled/warning{ + dir = 10 }, -/obj/item/storage/box/beakers{ - pixel_y = 5; - pixel_x = -9 +/obj/effect/turf_decal/trimline/dark_red/filled/warning{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"gWr" = ( -/obj/structure/tank_dispenser, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron/dark, -/area/station/science/ordnance/office) -"gWy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, +/area/station/engineering/atmos/mix) +"gWV" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) +/area/station/maintenance/solars/starboard/fore) "gWX" = ( /obj/structure/chair{ dir = 4 @@ -23415,10 +24360,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"gXv" = ( -/obj/machinery/portable_atmospherics/pump/lil_pump, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "gXy" = ( /obj/machinery/door/airlock/public/glass{ id_tag = "gulag2"; @@ -23435,12 +24376,23 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lab) +"gXN" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "gYa" = ( /obj/structure/railing{ dir = 9 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"gYd" = ( +/obj/structure/stairs/north, +/turf/open/floor/iron/stairs/medium, +/area/station/cargo/storage) "gYg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -23454,20 +24406,27 @@ /obj/effect/spawner/structure/window/hollow/reinforced, /turf/open/floor/plating, /area/mine/living_quarters) -"gYk" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/chair/sofa/left/brown{ - dir = 8 +"gYm" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "riot"; + name = "Security Shutters" }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/glass/reinforced, +/area/station/hallway/primary/fore) "gYp" = ( /obj/effect/turf_decal/tile/red{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gYq" = ( +/obj/item/toy/snowball{ + pixel_y = -7; + pixel_x = 5 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "gYt" = ( /obj/machinery/door/window/left/directional/west{ name = "Research Division Delivery"; @@ -23483,6 +24442,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"gYv" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/item/toy/figure/mime{ + pixel_x = -6 + }, +/obj/item/toy/figure/clown{ + pixel_x = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "gYz" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -23502,22 +24473,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gYN" = ( -/obj/effect/turf_decal/loading_area/white{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) -"gYO" = ( -/obj/item/food/grown/carrot, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) -"gZa" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"gYT" = ( +/obj/machinery/light/cold/directional/east, +/obj/machinery/status_display/ai/directional/east, +/obj/structure/railing, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "gZb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, @@ -23531,13 +24493,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"gZk" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/four, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/plating, -/area/station/construction) +"gZq" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "gZt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -23545,11 +24511,6 @@ /obj/effect/gibspawner/human, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"gZx" = ( -/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/office) "gZP" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -23565,10 +24526,6 @@ dir = 1 }, /area/station/security/prison) -"gZR" = ( -/obj/machinery/power/smes/engineering, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "gZT" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -23580,11 +24537,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"gZV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/fore) "hac" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 9 @@ -23601,14 +24553,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hai" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "han" = ( /obj/structure/table, /obj/item/plate, @@ -23631,6 +24575,9 @@ /area/station/hallway/primary/central) "haC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "haD" = ( @@ -23649,16 +24596,15 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron, /area/station/cargo/storage) -"haQ" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted{ +"haJ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 8 }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"hbp" = ( -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hbt" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/clothing/mafia_outfit, @@ -23680,10 +24626,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"hbL" = ( -/obj/machinery/light/small/directional/east, -/turf/open/openspace, -/area/station/service/hydroponics) "hbR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23717,15 +24659,17 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hcj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +"hcs" = ( +/obj/structure/disposalpipe/segment, +/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/neutral/half/contrasted{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "hcw" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -23749,6 +24693,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"hcT" = ( +/obj/structure/closet/crate/internals, +/obj/machinery/firealarm/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Bay B-1" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"hcZ" = ( +/obj/structure/railing/wooden_fence, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "hdb" = ( /obj/machinery/shower/directional/south, /turf/open/floor/iron/smooth, @@ -23783,28 +24739,12 @@ dir = 1 }, /area/mine/living_quarters) -"hds" = ( -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) "hdw" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"hdz" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/hallway/secondary/exit/departure_lounge) "hdH" = ( /obj/structure/railing{ dir = 1 @@ -23826,30 +24766,6 @@ /obj/effect/spawner/random/engineering/canister, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hek" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/item/multitool, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker - }, -/turf/open/floor/iron/white/side{ - dir = 10 - }, -/area/station/science/lab) -"het" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "hex" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -23865,37 +24781,18 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"heG" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/computer/gateway_control, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/command/gateway) -"heH" = ( -/obj/structure/sign/poster/random/directional/west, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/lesser) -"heQ" = ( -/obj/structure/table, -/obj/item/stack/cable_coil, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage) -"heS" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - name = "AI Upload Turret Control"; - pixel_y = -25 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Bridge Center" +"heE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 9 }, -/obj/structure/disposalpipe/segment{ +/obj/structure/fence{ dir = 4 }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "heX" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -23904,6 +24801,14 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/science/xenobiology) +"hfd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "hff" = ( /obj/structure/chair/office{ dir = 8 @@ -23911,17 +24816,40 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) -"hfm" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"hfg" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) +"hfs" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/entertainment/musical_instrument, +/obj/item/instrument/harmonica, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "hfv" = ( /obj/machinery/processor{ pixel_y = 6 }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"hfy" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/turretid{ + name = "AI Chamber turret control"; + pixel_x = 5; + pixel_y = -24 + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "hfA" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -23932,14 +24860,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"hfG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hfI" = ( /obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23950,26 +24870,6 @@ /obj/structure/closet/l3closet/scientist, /turf/open/floor/iron, /area/station/science/xenobiology) -"hfY" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/the_owl/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hgc" = ( /obj/structure/table, /turf/open/floor/plating, @@ -23980,17 +24880,6 @@ "hgr" = ( /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/entry) -"hgx" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"hgH" = ( -/obj/item/radio/intercom/prison/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) "hgK" = ( /obj/structure/ladder, /obj/effect/landmark/blobstart, @@ -24035,6 +24924,7 @@ c_tag = "Ordnance Lower Mix Lab"; network = list("ss13","rd") }, +/obj/structure/sign/warning/directional/south, /turf/open/floor/iron/dark, /area/station/science/ordnance) "hhz" = ( @@ -24045,13 +24935,17 @@ dir = 1 }, /area/station/service/chapel/office) -"hhN" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 +"hhO" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" }, -/area/station/command/gateway) +/obj/structure/displaycase/forsale/kitchen, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hhP" = ( /obj/machinery/newscaster/directional/south, /obj/item/kirbyplants/random, @@ -24074,6 +24968,33 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"hir" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) +"hjc" = ( +/obj/structure/closet/emcloset, +/obj/item/pickaxe, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hjh" = ( /obj/machinery/computer/records/security{ dir = 4 @@ -24084,6 +25005,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"hjl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/bar) "hjp" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/camera/directional/south{ @@ -24100,16 +25031,20 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics/garden) -"hjw" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"hjz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/duct, -/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/hydroponics) +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"hjA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hjE" = ( /turf/closed/wall/r_wall, /area/station/science/explab) @@ -24129,14 +25064,6 @@ "hjM" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/morgue) -"hjO" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) "hjQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -24148,15 +25075,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/project) -"hjU" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "hjV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -24201,6 +25119,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"hku" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 + }, +/obj/machinery/barsign/directional/north, +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) +"hkI" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) +"hkQ" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/xenoblood, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"hkS" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/structure/closet/secure_closet/cytology, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "hkU" = ( /obj/effect/landmark/start/cargo_technician, /obj/structure/chair/office{ @@ -24228,12 +25179,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hlt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "hlv" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/shower/directional/west, @@ -24247,32 +25192,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) -"hlQ" = ( -/obj/machinery/door/airlock/external, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "graveyard" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, -/turf/open/floor/plating, -/area/station/medical/morgue) -"hlS" = ( -/obj/structure/table, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"hlW" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/vending/clothing, -/turf/open/floor/iron, -/area/station/commons/locker) "hmb" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -24299,6 +25218,32 @@ /obj/item/paper, /turf/open/floor/iron, /area/station/security/checkpoint/customs/auxiliary) +"hmx" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay Lobby"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"hmE" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/departments/medbay/alt/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"hmF" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "hmX" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ color = "#0000ff"; @@ -24318,13 +25263,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hno" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/library) "hnt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -24339,14 +25277,6 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) -"hnK" = ( -/obj/structure/table/wood, -/obj/item/wallframe/camera{ - pixel_y = -2; - pixel_x = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hnN" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens Observation - Port Aft"; @@ -24375,19 +25305,19 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"hog" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"hoa" = ( +/obj/structure/sink/directional/east, +/obj/machinery/button/door/directional/west{ + id = "xenobio2"; + name = "Xenobio Pen 2 Blast Door"; + req_access = list("xenobiology") }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/light/floor, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "hos" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 @@ -24397,6 +25327,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hoz" = ( +/obj/structure/fence/corner{ + dir = 6 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "hoD" = ( /turf/open/floor/iron, /area/station/cargo/miningdock) @@ -24453,6 +25389,25 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"hph" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1; + name = "hydroponics reservoir" + }, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/maintenance/starboard/lesser) +"hpl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/iron, +/area/mine/laborcamp) "hpm" = ( /obj/machinery/camera/directional/north{ c_tag = "Starboard Primary Hallway East" @@ -24522,25 +25477,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"hpK" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/hydroponics) "hpM" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -24603,15 +25539,16 @@ }, /area/station/commons/storage/art) "hqv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 1; - name = "Can In" +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/cigarette{ + pixel_x = 6; + pixel_y = 12 }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/turf/open/floor/iron, +/area/mine/eva) "hqx" = ( /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24636,18 +25573,17 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hqV" = ( -/obj/structure/sign/warning/radiation/rad_area, -/turf/closed/wall/r_wall, -/area/station/engineering/main) -"hrd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/machinery/meter/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"hqH" = ( +/obj/machinery/door/airlock/research{ + name = "Cytology Lab" }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/iron/smooth_large, +/area/station/science/ordnance) "hrh" = ( /obj/structure/chair/comfy/beige{ dir = 1 @@ -24663,35 +25599,36 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"hrA" = ( -/obj/machinery/space_heater, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hrJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/storage) -"hrK" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 +"hrO" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Security Checkpoint" }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brigoutpost" }, -/area/station/service/chapel) +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "hrS" = ( /obj/item/trash/raisins, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"hrY" = ( +/obj/structure/stairs/west, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "hrZ" = ( /obj/structure/chair/office/light{ dir = 4 @@ -24711,6 +25648,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/break_room) +"hso" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/plating/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hsr" = ( /obj/structure/table/wood, /obj/item/newspaper, @@ -24719,6 +25664,9 @@ /area/station/security/prison/rec) "hsx" = ( /obj/machinery/vending/cigarette, +/obj/structure/sign/nanotrasen{ + pixel_x = -32 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "hsy" = ( @@ -24734,22 +25682,6 @@ "hsB" = ( /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"hsC" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/light_switch/directional/south, -/obj/machinery/camera{ - c_tag = "Chief Medical Office South"; - dir = 4; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "hsN" = ( /obj/structure/table, /obj/item/storage/box/firingpins, @@ -24771,6 +25703,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"htg" = ( +/obj/structure/fireplace, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hth" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, @@ -24795,6 +25732,14 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"hts" = ( +/obj/structure/table/wood, +/obj/item/wallframe/camera{ + pixel_y = -2; + pixel_x = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hty" = ( /obj/item/stack/rods, /turf/open/misc/asteroid/snow/icemoon, @@ -24802,6 +25747,25 @@ "htB" = ( /turf/open/floor/carpet/red, /area/station/security/prison/work) +"htH" = ( +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Psychology Office"; + name = "Psychology Office Fax Machine" + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/machinery/camera/directional/east{ + c_tag = "Medbay Psychology"; + network = list("ss13","medbay") + }, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/psychology) +"htJ" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "htO" = ( /obj/structure/chair/office{ dir = 4 @@ -24834,16 +25798,16 @@ "hul" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/status_display/evac/directional/north, -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /turf/open/floor/iron, /area/station/commons/locker) -"hut" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/rcl/pre_loaded, +"huq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +/area/station/science/xenobiology) "huB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24883,25 +25847,6 @@ }, /turf/open/floor/iron, /area/station/service/chapel) -"huM" = ( -/obj/structure/table, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/assembly/infra{ - pixel_x = 3 - }, -/obj/item/assembly/igniter{ - pixel_y = -2 - }, -/obj/effect/turf_decal/trimline/neutral/warning, -/obj/effect/turf_decal/trimline/neutral/mid_joiner, -/obj/item/assembly/signaler, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/ai_monitored/command/storage/eva) "huN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24931,23 +25876,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hvi" = ( -/obj/structure/closet/crate/freezer/food{ - name = "cooler" - }, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "hvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"hvt" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/surgery_tray/full/morgue, +/obj/structure/table/reinforced, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/bot_white, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"hvQ" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "hvS" = ( /obj/effect/landmark/start/depsec/engineering, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25026,6 +25973,30 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/upper) +"hxa" = ( +/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/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"hxe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner, +/area/station/engineering/atmos) "hxs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25035,30 +26006,30 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"hxB" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet2"; - name = "Unit 2" - }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "hxE" = ( /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/cargo/miningdock) -"hxI" = ( -/turf/open/floor/iron/dark/side{ - dir = 5 +"hxJ" = ( +/obj/structure/fence/corner{ + dir = 10 }, -/area/station/service/chapel) -"hxY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"hyc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/aft) "hyd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -25068,6 +26039,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) +"hye" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "hyj" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -25079,22 +26060,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/lobby) -"hyL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) -"hyQ" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/hydro, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hyV" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/testlab) @@ -25104,16 +26069,10 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"hzd" = ( -/obj/structure/stairs/north, -/turf/open/floor/iron, -/area/station/service/chapel) -"hzw" = ( -/obj/structure/fence/cut/large{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"hzb" = ( +/obj/structure/sign/xenobio_guide/directional/north, +/turf/open/openspace, +/area/station/science/xenobiology) "hzz" = ( /obj/structure/table/glass, /obj/item/clothing/gloves/latex, @@ -25136,6 +26095,41 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"hzG" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = -6; + pixel_y = 14 + }, +/obj/machinery/button/door/directional/north{ + id = "Secure Gate"; + name = "Cell Shutters"; + req_access = list("brig"); + pixel_x = 6 + }, +/obj/machinery/button/door/directional/north{ + id = "Prison Gate"; + name = "Prison Wing Lockdown"; + req_access = list("brig"); + pixel_y = 35; + pixel_x = 6 + }, +/obj/machinery/button/door/directional/north{ + id = "briggate"; + name = "Front Gate Shutters"; + req_access = list("brig"); + pixel_y = 12; + pixel_x = 6 + }, +/obj/machinery/button/door/directional/north{ + id = "BrigLock"; + name = "Brig Lockdown"; + req_access = list("brig"); + pixel_y = 0; + pixel_x = 6 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "hzH" = ( /obj/machinery/camera/motion/directional/west{ c_tag = "MiniSat Core Hallway"; @@ -25165,6 +26159,21 @@ }, /turf/open/openspace, /area/station/ai_monitored/security/armory/upper) +"hzU" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"hzV" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "hzY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -25174,34 +26183,42 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/brig/entrance) +"hAl" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "hAm" = ( /turf/open/floor/iron/white/side{ dir = 4 }, /area/station/science/research) -"hAo" = ( -/obj/machinery/photocopier, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/sign/calendar/directional/west, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"hAq" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/corner, -/area/station/command/heads_quarters/rd) +"hAE" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "hAG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"hAK" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) +"hAM" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hAO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25221,10 +26238,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"hAS" = ( -/obj/machinery/light/cold/directional/east, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "hAT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -25236,16 +26249,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"hAW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"hAU" = ( +/obj/machinery/light_switch/directional/west, +/obj/structure/closet{ + name = "janitorial supplies" + }, +/obj/item/pushbroom, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "hBd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"hBf" = ( +/obj/structure/fence/door{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hBg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25366,6 +26391,23 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/catwalk_floor/iron_dark, /area/station/maintenance/port/fore) +"hDe" = ( +/obj/structure/toilet{ + pixel_y = 8 + }, +/obj/machinery/button/door/directional/north{ + id = "Lakeview_Bathroom"; + req_access = list("robotics") + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/freezer, +/area/mine/eva/lower) +"hDf" = ( +/obj/structure/cable, +/turf/open/floor/iron/chapel{ + dir = 1 + }, +/area/station/service/chapel) "hDh" = ( /obj/machinery/computer/atmos_alert{ dir = 8 @@ -25375,50 +26417,37 @@ "hDp" = ( /turf/open/floor/engine, /area/station/science/genetics) -"hDu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/item/stack/package_wrap{ - pixel_y = 2 +"hDq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 }, -/obj/item/book/manual/chef_recipes, -/obj/item/holosign_creator/robot_seat/restaurant, -/obj/structure/rack, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"hDv" = ( +/obj/machinery/shower/directional/north, +/turf/open/floor/iron/smooth, +/area/mine/eva/lower) "hDA" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"hDC" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "hDG" = ( /obj/docking_port/stationary/random/icemoon{ dir = 4; name = "lavaland"; shuttle_id = "pod_4_lavaland" }, -/turf/open/misc/asteroid/snow/icemoon, +/turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "hDK" = ( /turf/open/floor/iron, /area/mine/laborcamp) +"hDL" = ( +/obj/item/kirbyplants/random/dead, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hDU" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -25432,6 +26461,14 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron/dark, /area/mine/eva) +"hED" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hEG" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -25447,12 +26484,22 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hEV" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/bureaucracy/briefcase, -/obj/item/taperecorder/empty, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +"hEP" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -4 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) "hEW" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -25480,18 +26527,22 @@ /obj/structure/frame/machine, /turf/open/floor/plating, /area/station/construction) -"hFj" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/status_display/evac/directional/east, -/obj/structure/chair/sofa/right/brown{ - dir = 1 +"hFm" = ( +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hFr" = ( /obj/structure/flora/grass/both/style_2, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"hFw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hFC" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -25508,46 +26559,33 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"hFJ" = ( +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/engine/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "hFL" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"hFN" = ( -/obj/machinery/light/small/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored/graveyard) -"hFU" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +"hFR" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 }, -/obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/cargo/storage) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hFW" = ( /obj/machinery/vending/wardrobe/det_wardrobe, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"hFX" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/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/hydroponics) -"hGg" = ( -/obj/structure/sign/warning/directional/west{ - desc = "A sign warning to watch for moving minecarts beyond this point." - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hGh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25584,6 +26622,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"hHl" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/status_display/shuttle{ + pixel_x = -32; + shuttle_id = "arrival" + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "hHp" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25605,8 +26659,25 @@ "hHu" = ( /obj/structure/disposalpipe/segment, /obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"hHz" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "hHD" = ( /obj/machinery/camera/directional/south{ c_tag = "Construction Area" @@ -25616,13 +26687,6 @@ }, /turf/open/floor/plating, /area/station/construction) -"hHF" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "hHG" = ( /turf/open/cliff/snowrock, /area/icemoon/surface/outdoors/nospawn) @@ -25640,18 +26704,22 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"hIe" = ( -/obj/structure/sign/warning/no_smoking/circle/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/structure/sink/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/cryo) "hIj" = ( /obj/machinery/camera/directional/south{ c_tag = "Port Hallway East" }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"hIv" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hIA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -25659,15 +26727,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"hIE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Lower" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "hIH" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -25681,17 +26740,33 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) -"hIS" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 +"hIO" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "hosspace"; + name = "Privacy Shutters" }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hos) "hIU" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"hIW" = ( +/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/north, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) "hJe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25710,6 +26785,17 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) +"hJo" = ( +/obj/structure/table, +/obj/item/plate, +/obj/item/food/piedough, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/item/kitchen/rollingpin, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hJp" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -25720,15 +26806,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"hJC" = ( -/obj/machinery/light_switch/directional/west, -/obj/structure/closet{ - name = "janitorial supplies" - }, -/obj/item/pushbroom, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "hJD" = ( /obj/structure/ladder, /turf/open/floor/wood, @@ -25741,11 +26818,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hJF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "hJG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -25754,33 +26826,14 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"hJS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 10 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) +"hJH" = ( +/turf/open/openspace, +/area/station/science/research) "hJY" = ( /obj/structure/closet/l3closet/janitor, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/service/janitor) -"hKn" = ( -/obj/machinery/biogenerator, -/obj/machinery/door/window/left/directional/south{ - name = "Biogenerator Access"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hKr" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/infections{ @@ -25817,23 +26870,19 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/tcommsat/computer) -"hKL" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"hKT" = ( -/obj/machinery/light/floor, -/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/cargo/storage) "hKV" = ( /obj/structure/chair, /turf/open/floor/iron, /area/station/cargo/storage) +"hKY" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "Medbay" + }, +/obj/effect/turf_decal/bot, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/medical/central) "hLf" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -25841,12 +26890,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"hLh" = ( -/obj/structure/closet/crate/grave/filled, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "hLk" = ( /obj/structure/table, /obj/item/paper, @@ -25857,35 +26900,15 @@ network = list("labor") }, /obj/machinery/flasher/directional/west{ - id = "GulagCell 1" + id = "GulagCell 2" }, /turf/open/floor/iron, /area/mine/laborcamp) -"hLy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/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/stone, -/area/station/service/bar/atrium) -"hLO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/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, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) +"hLw" = ( +/obj/structure/flora/grass/both/style_3, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hLS" = ( /obj/machinery/computer/atmos_control/nitrous_tank{ dir = 8 @@ -25895,6 +26918,19 @@ }, /turf/open/floor/iron/white/corner, /area/station/engineering/atmos) +"hLW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) +"hLX" = ( +/obj/structure/girder, +/obj/structure/grille, +/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/greater) "hLY" = ( /obj/structure/cable, /obj/structure/chair, @@ -25922,12 +26958,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) -"hMs" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"hMv" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "hMw" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/plating, @@ -25938,6 +26974,12 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"hMA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "hMB" = ( /obj/structure/table, /obj/item/stack/cable_coil, @@ -25972,23 +27014,16 @@ /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) "hMM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 +/obj/structure/marker_beacon/burgundy, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 }, -/area/station/hallway/secondary/service) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"hMQ" = ( +/obj/structure/sign/warning/xeno_mining/directional/east, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hMS" = ( /obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -25997,6 +27032,13 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"hMZ" = ( +/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/stone, +/area/station/commons/lounge) "hNg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -26011,6 +27053,27 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/wood, /area/station/service/lawoffice) +"hNn" = ( +/obj/effect/turf_decal/weather/snow/corner, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"hNp" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"hNq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/railing, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "hNx" = ( /obj/machinery/camera/directional/south{ c_tag = "Holodeck - South"; @@ -26025,13 +27088,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/large, /area/station/hallway/primary/port) -"hNF" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/sign/warning, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "hNI" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -26040,19 +27096,35 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"hNK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/mess, +"hNJ" = ( +/obj/machinery/power/solar_control{ + id = "auxsolareast"; + name = "Port Bow Solar Control" + }, +/obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/solars/port/fore) "hNM" = ( -/obj/structure/sign/warning/no_smoking/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/engineering/storage) +"hNU" = ( +/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/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "hOc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -26086,6 +27158,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"hOG" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/floor/grass, +/area/station/service/hydroponics) "hOU" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens - Port Fore"; @@ -26139,6 +27215,12 @@ "hPs" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) +"hPv" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hPz" = ( /obj/structure/chair{ dir = 8 @@ -26146,6 +27228,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"hPD" = ( +/obj/structure/bodycontainer/morgue/beeper_off{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "hPK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -26158,19 +27257,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"hPS" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/sign/calendar/directional/north, -/obj/machinery/camera{ - c_tag = "Service - Botany Equipment"; - dir = 9 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hPT" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26217,19 +27303,21 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"hQO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"hQv" = ( +/obj/item/kirbyplants/random/dead, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"hQK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Escape" +/obj/structure/table, +/obj/item/trash/candle{ + pixel_y = 12 }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "hQP" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/east, @@ -26243,26 +27331,10 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"hRe" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) -"hRp" = ( -/obj/machinery/button/door/directional/north{ - id = "visitation"; - name = "Visitation Shutters"; - pixel_x = 6; - pixel_y = -24; - req_access = list("brig") - }, -/obj/machinery/button/flasher{ - id = "visitorflash"; - pixel_x = -6; - pixel_y = -24 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/security/prison/visit) +"hQW" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hRt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -26308,11 +27380,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"hRF" = ( -/obj/structure/cable, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) "hRG" = ( /obj/machinery/shower/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -26329,11 +27396,30 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"hRQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Xenobiology Pens Hall - Fore"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "hRX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"hSe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/mine/eva) "hSl" = ( /obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 8 @@ -26393,6 +27479,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"hTk" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Supply Door Airlock"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "hTm" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -26400,6 +27497,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"hTq" = ( +/obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) +"hTu" = ( +/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/cyclelink_helper_multi{ + cycle_id = "sci-med-passthrough" + }, +/obj/machinery/door/airlock/research{ + name = "Research Access" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/turf_decal/tile/purple/full, +/turf/open/floor/iron/white/smooth_large, +/area/station/maintenance/aft/greater) "hTw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half{ @@ -26407,6 +27526,17 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"hTx" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay Stasis Center South"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "hTB" = ( /obj/structure/table, /obj/item/clothing/suit/jacket/leather{ @@ -26419,6 +27549,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"hTI" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/icemoon, +/area/station/maintenance/port/lesser) "hTJ" = ( /obj/machinery/camera/directional/north{ c_tag = "Solar Maintenance - North West Access" @@ -26427,32 +27562,21 @@ /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hTY" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hUe" = ( /obj/effect/landmark/start/hangover, /obj/machinery/status_display/evac/directional/south, /turf/open/floor/wood, /area/station/service/library) -"hUf" = ( -/obj/structure/table/glass, -/obj/item/assembly/signaler{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/cable_coil, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) "hUi" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26460,19 +27584,6 @@ /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"hUl" = ( -/obj/machinery/door/airlock/command{ - name = "Head of Personnel" - }, -/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/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/command/hop, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "hUx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26527,6 +27638,17 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) +"hVf" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "hVo" = ( /obj/effect/spawner/random/maintenance, /obj/structure/table, @@ -26552,6 +27674,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) +"hVz" = ( +/obj/effect/spawner/random/maintenance/two, +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hVB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -26561,6 +27688,15 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/mine/eva) +"hVR" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hVX" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 @@ -26583,13 +27719,49 @@ /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"hWv" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "botany_chasm_and_wolf_shutters" +"hWl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"hWt" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) +"hWz" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Ordnance Lower Mix Lab"; + network = list("ss13","rd") + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"hWD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "hWI" = ( /obj/effect/turf_decal/box, /obj/effect/spawner/random/structure/closet_empty/crate/with_loot, @@ -26597,40 +27769,17 @@ /obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"hWR" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hWV" = ( /obj/machinery/light/small/directional/north, /obj/machinery/space_heater, /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plating, /area/station/medical/virology) -"hWW" = ( -/obj/structure/sign/warning/directional/south, -/obj/structure/sign/warning/directional/south, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"hWX" = ( -/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, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"hXm" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"hXt" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center East" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hXC" = ( /obj/structure/chair{ dir = 8 @@ -26642,15 +27791,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"hXD" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "hXU" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26670,12 +27810,6 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"hYt" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hYy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -26684,6 +27818,43 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) +"hYD" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"hYE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) +"hYG" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2" + }, +/obj/structure/plasticflaps{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) +"hYL" = ( +/obj/structure/closet/lasertag/blue, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) +"hYM" = ( +/obj/structure/lattice, +/obj/structure/sign/poster/official/help_others/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "hYP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26696,6 +27867,23 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"hZb" = ( +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"hZc" = ( +/obj/effect/landmark/start/clown, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "hZe" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 @@ -26703,10 +27891,71 @@ /obj/effect/turf_decal/trimline/yellow/warning, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"hZf" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Bridge East Access" + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"hZo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/storage/box, +/obj/effect/spawner/random/bureaucracy/birthday_wrap, +/obj/effect/spawner/random/bureaucracy/birthday_wrap, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/departments/maint/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"hZu" = ( +/obj/structure/sign/warning/secure_area{ + pixel_y = 32 + }, +/obj/structure/flora/grass/both/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"hZJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 4; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/sign/poster/official/safety_eye_protection/directional/north, +/turf/open/floor/plating, +/area/station/medical/chemistry) +"hZN" = ( +/obj/structure/sign/warning/secure_area/directional/west, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hZQ" = ( /obj/item/stack/sheet/iron/five, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"hZT" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"hZW" = ( +/obj/structure/sink/kitchen/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "iag" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26738,12 +27987,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"iaz" = ( -/obj/structure/girder, -/obj/structure/grille, +"iaB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/structure/sign/departments/botany/directional/west, +/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/aft/greater) +/area/station/maintenance/starboard/lesser) "iaF" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -26854,6 +28105,13 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) +"ibJ" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ibM" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -26866,10 +28124,10 @@ }, /turf/open/floor/plating, /area/station/service/chapel) -"ica" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) +"ich" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/station/hallway/secondary/entry) "ici" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26895,17 +28153,6 @@ dir = 4 }, /area/mine/living_quarters) -"icv" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Coffin Storage"; - req_access = list("chapel_office") - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/service/chapel) "icA" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/east{ @@ -26950,6 +28197,13 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"icK" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/railing, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/xenobiology) "icQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26992,13 +28246,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/service/hydroponics/garden) -"ida" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/sign/departments/chemistry/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "idi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters{ @@ -27014,26 +28261,16 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"idp" = ( -/obj/machinery/button/door/directional/east{ - id = "cmoprivacy"; - name = "CMO Shutter Control"; - pixel_y = 23; - req_access = list("cmo") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/cmo/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"idr" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 8 +"idm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "idt" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -27049,12 +28286,9 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"idH" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +"idI" = ( +/turf/open/floor/stone, +/area/station/commons/lounge) "idN" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -27072,23 +28306,49 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ieb" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Research Break Room" +"idP" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"idU" = ( +/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/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/airlock/hatch{ + name = "Morgue"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, /turf/open/floor/iron/dark, -/area/station/science/research) -"iew" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +/area/station/medical/morgue) +"iem" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/stairs/north, +/turf/open/floor/iron/stairs/medium, +/area/station/cargo/storage) "ieG" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ieJ" = ( +/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) "ifa" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -27097,25 +28357,12 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/mine/laborcamp/security) -"ifd" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ife" = ( /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/aisat/atmos) -"ifA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating/icemoon, -/area/station/maintenance/solars/port/aft) "ifX" = ( /obj/machinery/vending/wardrobe/cargo_wardrobe, /turf/open/floor/iron, @@ -27134,6 +28381,11 @@ /obj/item/soap/nanotrasen, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"igd" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) "igm" = ( /turf/closed/wall/ice, /area/mine/living_quarters) @@ -27141,15 +28393,24 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"igq" = ( -/obj/machinery/recharge_station, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/mine/eva/lower) -"igu" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"igt" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/plaques/kiddie/library{ + pixel_x = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"igw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "igx" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 5 @@ -27160,20 +28421,23 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/glass, /area/station/security/lockers) -"igH" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"igG" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/closet/emcloset/anchored, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/port/aft) "igL" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/mine/storage) +"igM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "igQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -27227,25 +28491,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"ihN" = ( -/obj/machinery/button/door/directional/west{ - id = "xenobio4"; - name = "Xenobio Pen 4 Blast Door"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"iif" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/biogenerator, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iih" = ( /obj/effect/spawner/xmastree, /obj/effect/turf_decal/tile/neutral{ @@ -27261,6 +28506,12 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"iis" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "iiy" = ( /obj/machinery/firealarm/directional/north, /obj/structure/chair{ @@ -27273,16 +28524,17 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "iiB" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) +"iiE" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 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/service/hydroponics) +/area/station/service/bar) "iiH" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; @@ -27312,6 +28564,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"ijd" = ( +/obj/structure/table/wood/poker, +/obj/item/trash/candle{ + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ijj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27339,14 +28598,21 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"ijw" = ( -/obj/structure/disposalpipe/segment{ +"ijv" = ( +/obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "ijC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27373,11 +28639,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/brig/upper) -"ijW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/structure/sign/warning/secure_area/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/explab) +"ijV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/eva/lower) "ijY" = ( /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -27401,10 +28667,6 @@ /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/storage) -"ike" = ( -/obj/structure/fence/cut/medium, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ikk" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -27431,12 +28693,6 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/wood, /area/station/service/library) -"iku" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "ikz" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -27468,6 +28724,13 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"ikL" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "ikO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -27485,10 +28748,19 @@ dir = 1 }, /area/station/service/chapel) -"ile" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/security/courtroom) +"iln" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"ilq" = ( +/obj/machinery/vending/games, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/sepia, +/area/station/service/library) "ilv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -27498,6 +28770,13 @@ "ily" = ( /turf/open/openspace, /area/station/science/xenobiology) +"ilz" = ( +/obj/machinery/computer/exoscanner_control{ + dir = 1 + }, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark, +/area/station/cargo/drone_bay) "ilD" = ( /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, @@ -27533,18 +28812,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"imk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/item/rack_parts, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"imy" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "imH" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/gloves, @@ -27552,15 +28819,13 @@ /obj/item/clothing/mask/breath, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"imI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/kirbyplants/random, -/obj/machinery/light/warm/directional/south, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +"imJ" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "imO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -27569,35 +28834,21 @@ dir = 4 }, /obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/fruit_bowl/directional/east, /turf/open/floor/iron/white/corner{ dir = 1 }, /area/station/commons/storage/art) -"imV" = ( -/obj/structure/stairs/east, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"inh" = ( -/obj/structure/stairs/west, -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "ini" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"int" = ( -/obj/structure/disposalpipe/segment, +"inn" = ( /obj/structure/cable, -/obj/structure/sign/departments/botany/directional/west, -/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/lesser) +/turf/open/floor/iron/stairs/left{ + dir = 4 + }, +/area/station/engineering/lobby) "inE" = ( /turf/open/floor/iron/corner, /area/station/engineering/lobby) @@ -27609,37 +28860,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"inN" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/button/door/directional/south{ - id = "minecraft_shutter"; - req_one_access = list("hydroponics", "kitchen"); - name = "Cart Access"; - desc = "Opens the railway leading into the Kitchen Coldroom." - }, -/obj/structure/minecart_rail/railbreak{ - dir = 4 - }, -/obj/structure/closet/crate/miningcar{ - name = "delivery cart"; - desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." - }, -/obj/item/storage/bag/plants, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"inP" = ( -/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/medical/morgue) "inQ" = ( /obj/structure/table/wood, /obj/item/paper_bin/carbon{ @@ -27668,12 +28888,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"ioi" = ( -/obj/structure/cable, -/mob/living/basic/bear/snow/misha, -/obj/structure/bed/dogbed/misha, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hos) "iol" = ( /obj/machinery/camera/directional/south{ c_tag = "MiniSat Teleporter"; @@ -27688,10 +28902,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"ion" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ior" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27705,17 +28915,16 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"iot" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"iov" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm6"; + name = "Cabin 2" }, -/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, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/commons/dorms) "iox" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -27732,6 +28941,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"ioE" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "ioK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, @@ -27748,6 +28966,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"ioQ" = ( +/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 = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "ipd" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/directional/south{ @@ -27763,31 +28990,16 @@ /turf/open/genturf, /area/icemoon/underground/unexplored/rivers/deep/shoreline) "ipg" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/turf/open/floor/plating, +/area/station/service/chapel) "ipw" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"ipx" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm6"; - name = "Cabin 2" - }, -/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/dorms) "ipA" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -27797,35 +29009,12 @@ "ipE" = ( /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"ipF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/pen/red, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/folder/yellow, -/obj/machinery/keycard_auth/wall_mounted/directional/west{ - pixel_x = -25; - pixel_y = -5 - }, -/obj/machinery/button/door/directional/west{ - id = "qmprivacy"; - name = "Privacy Shutters Control"; - pixel_y = 5; - req_access = list("qm") - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "ipM" = ( /obj/structure/transit_tube/curved{ dir = 4 }, /obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "iqn" = ( @@ -27838,35 +29027,29 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"iqr" = ( -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "iqu" = ( /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/aisat_interior) -"iqx" = ( -/obj/structure/railing, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/science/ordnance/office) -"iqA" = ( -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iqC" = ( /obj/structure/table, /obj/item/flashlight/lamp, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"iqW" = ( +/obj/machinery/door/poddoor/massdriver_chapel{ + dir = 4 + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/station/service/chapel) +"irn" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "irp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27904,32 +29087,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"irM" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 1 - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/microwave, -/obj/machinery/camera/directional/north{ - c_tag = "Mining B-1 Crater Observatory" - }, -/obj/effect/turf_decal/tile/dark/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white/side, -/area/mine/living_quarters) -"irO" = ( -/obj/structure/ladder{ - name = "chemistry lab access" - }, -/obj/machinery/camera{ - c_tag = "Medbay Chemistry Lab - North"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/chemistry) "irQ" = ( /obj/structure/chair/pew{ dir = 1 @@ -27939,18 +29096,6 @@ dir = 8 }, /area/station/service/chapel) -"irX" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/machinery/light/directional/north, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/hallway/secondary/entry) "isb" = ( /obj/machinery/atmospherics/components/binary/pump/off{ dir = 1; @@ -27980,16 +29125,16 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"isj" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "isl" = ( /obj/structure/fence/door{ name = "graveyard" }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"isq" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ist" = ( /obj/structure/chair/sofa/left/brown, /obj/effect/landmark/start/psychologist, @@ -28011,6 +29156,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"isC" = ( +/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, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "isP" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, @@ -28030,6 +29185,14 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"itf" = ( +/obj/effect/turf_decal/stripes/box, +/obj/structure/ladder, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/mine/eva) "itj" = ( /turf/open/floor/iron/white, /area/station/science/genetics) @@ -28061,8 +29224,19 @@ /area/icemoon/surface/outdoors/nospawn) "itY" = ( /obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"iub" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/engineering/lobby) "ium" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 @@ -28104,19 +29278,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"iuE" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "SapMaster XP" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iuH" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -28126,6 +29287,16 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"iuL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "iuS" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/glass/reinforced, @@ -28135,6 +29306,10 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"ivm" = ( +/obj/structure/sign/poster/official/random/directional/north, +/turf/closed/wall, +/area/station/maintenance/port/aft) "ivo" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -28143,11 +29318,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ivp" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/sparsegrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "ivq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -28155,25 +29325,48 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"ivw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/visit) "ivB" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ivC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 +"ivF" = ( +/turf/closed/wall, +/area/station/maintenance/disposal) +"ivG" = ( +/obj/structure/table, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 }, -/obj/structure/railing{ - dir = 1 +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/crowbar, +/obj/item/radio/headset/headset_sci{ + pixel_x = -3 }, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/east, /turf/open/floor/iron, -/area/station/service/hydroponics) -"ivF" = ( -/turf/closed/wall, -/area/station/maintenance/disposal) +/area/station/science/robotics/lab) "ivH" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -28185,34 +29378,9 @@ }, /turf/open/floor/wood, /area/station/service/library) -"ivJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "iwf" = ( /turf/closed/wall/r_wall, /area/mine/mechbay) -"iwj" = ( -/obj/structure/table, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"iwq" = ( -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) -"iwx" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Xenobiology Maintenance" - }, -/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/science/xenobio, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "iwz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28237,6 +29405,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"iwQ" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "iwS" = ( /turf/closed/wall, /area/station/commons/dorms/laundry) @@ -28244,6 +29419,15 @@ /obj/structure/railing, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"ixa" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/virology) "ixb" = ( /obj/machinery/button/door/directional/south{ id = "vacantofficemaintshutter"; @@ -28253,21 +29437,12 @@ }, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"ixp" = ( -/obj/machinery/door/airlock/wood{ - name = "Bar Backroom" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"ixl" = ( +/obj/structure/sign/plaques/kiddie/devils_tooth{ + pixel_y = 32 }, -/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/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/backroom) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ixu" = ( /obj/machinery/camera/directional/north{ c_tag = "Teleporter" @@ -28338,12 +29513,14 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) -"iyF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/blobstart, +"iyJ" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "iyK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -28357,13 +29534,6 @@ /obj/machinery/photocopier, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"iyP" = ( -/obj/structure/table, -/obj/item/aicard, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/command/heads_quarters/rd) "iyQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28410,6 +29580,14 @@ "izC" = ( /turf/closed/wall, /area/station/service/bar/atrium) +"izD" = ( +/obj/machinery/light/directional/west, +/obj/machinery/vending/assist, +/obj/structure/sign/poster/official/science/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "izI" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -28430,18 +29608,19 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/medical/chemistry) -"izU" = ( -/obj/structure/table/wood, -/obj/item/instrument/saxophone, -/obj/item/instrument/piano_synth, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "izY" = ( /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/visit) +"iAc" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/departments/telecomms/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "iAf" = ( /turf/closed/wall/mineral/wood, /area/station/maintenance/space_hut/cabin) @@ -28451,41 +29630,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"iAp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Mining B-1 Hallway South"; - dir = 10 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/mine/eva) -"iAt" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"iAK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"iAA" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/cultivator, -/obj/item/seeds/potato, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 }, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) +/turf/open/floor/wood/parquet, +/area/station/service/theater) "iAO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -28511,20 +29663,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"iBd" = ( -/obj/structure/fireplace{ - pixel_x = -32 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/camera{ - c_tag = "Mining Break Room"; - dir = 9 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 9 - }, -/turf/open/floor/stone, -/area/mine/eva/lower) "iBe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -28539,19 +29677,18 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"iBj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, +"iBi" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/railing/corner{ - dir = 1 +/obj/structure/table, +/obj/item/food/grown/carrot, +/obj/item/food/grown/carrot{ + pixel_y = 4; + pixel_x = -2 }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "iBl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28560,19 +29697,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) -"iBz" = ( -/obj/structure/sign/warning/no_smoking/directional/south, -/turf/open/openspace, -/area/station/engineering/atmos/storage) +"iBo" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) "iBF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) -"iBM" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "iBO" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 4 @@ -28581,10 +29720,6 @@ dir = 4 }, /area/station/science/explab) -"iCe" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "iCg" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -28592,22 +29727,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"iCj" = ( +/obj/machinery/computer/operating{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) +"iCo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"iCp" = ( +/obj/machinery/vatgrower, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) "iCq" = ( /obj/structure/rack, /obj/item/stack/rods/ten, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"iCw" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/hallway/secondary/entry) "iCz" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -28624,15 +29774,6 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) -"iCD" = ( -/obj/machinery/door/airlock/external{ - name = "External Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "iCE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28642,16 +29783,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iCS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "iCX" = ( /obj/machinery/power/solar_control{ dir = 4; @@ -28661,6 +29792,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"iDe" = ( +/obj/item/wrench, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Air In" + }, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/fore) "iDp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall, @@ -28680,25 +29821,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) -"iDv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"iDx" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"iDB" = ( -/obj/structure/table/wood, -/obj/item/circuitboard/machine/fax, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "iDG" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 3"; @@ -28710,25 +29832,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/xenobiology) -"iDK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "iDQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"iEd" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) "iEA" = ( /obj/structure/table/glass, /obj/item/storage/box/gloves{ @@ -28770,19 +29878,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"iES" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/hallway/secondary/entry) -"iEY" = ( -/obj/machinery/restaurant_portal/bar, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "iFe" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_half, @@ -28794,15 +29889,6 @@ /mob/living/basic/pet/dog/pug/mcgriff, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"iFh" = ( -/obj/structure/table, -/obj/item/newspaper, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "iFj" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -28815,29 +29901,17 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"iFz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"iFw" = ( +/obj/structure/closet/bombcloset, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "iFL" = ( /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"iFQ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "iFX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28851,6 +29925,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"iGd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "iGj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28872,25 +29954,30 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"iGQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "iHc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"iHm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera{ - c_tag = "Atmospherics - South West"; - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) "iHp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) +"iHP" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "iHV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -28922,23 +30009,29 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"iIk" = ( -/obj/structure/disposalpipe/segment{ +"iIm" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, /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/turf_decal/stripes/white/line{ - dir = 8 +/obj/machinery/duct, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/effect/turf_decal/stripes/white/line{ +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar"; dir = 4 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "iIs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -28947,15 +30040,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"iIv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/cup/bucket{ - pixel_y = 10; - pixel_x = -4 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iIA" = ( /obj/effect/turf_decal/bot, /turf/open/floor/iron, @@ -28968,6 +30052,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"iIJ" = ( +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) +"iIY" = ( +/obj/structure/cable/multilayer/multiz, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/medical/chemistry) +"iJh" = ( +/obj/structure/sign/warning/gas_mask/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "iJl" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood{ @@ -28994,6 +30096,15 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"iJE" = ( +/obj/structure/rack, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/spawner/random/armory/rubbershot, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory) "iJI" = ( /obj/structure/chair{ dir = 1 @@ -29015,15 +30126,30 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"iJM" = ( -/obj/structure/stairs/south{ +"iJN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/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/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ dir = 1 }, -/turf/open/floor/iron, -/area/station/commons/dorms/laundry) +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "iJO" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"iJV" = ( +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/carpet/lone, +/area/station/service/chapel) "iJX" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/south, @@ -29032,6 +30158,42 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) +"iKd" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/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, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"iKh" = ( +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) +"iKj" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/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/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "iKl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29041,13 +30203,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"iKp" = ( -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/cargo/warehouse) "iKw" = ( /obj/item/kitchen/fork/plastic, /obj/structure/table, @@ -29092,6 +30247,11 @@ dir = 4 }, /area/station/command/gateway) +"iLn" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iLt" = ( /obj/structure/table/wood, /obj/item/flashlight/lantern, @@ -29154,19 +30314,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iLP" = ( -/obj/structure/ladder, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "iLY" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"iMb" = ( +/obj/structure/railing/corner, +/turf/open/floor/stone, +/area/station/commons/lounge) "iMf" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -29176,6 +30333,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"iMg" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/button/flasher{ + id = "cell4"; + pixel_y = -26 + }, +/turf/open/floor/iron, +/area/station/security/brig/upper) "iMp" = ( /obj/machinery/status_display/ai/directional/east, /turf/open/floor/circuit, @@ -29224,6 +30389,12 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter) +"iNl" = ( +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "iNn" = ( /obj/structure/chair/office{ dir = 1 @@ -29239,6 +30410,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) +"iNo" = ( +/turf/closed/mineral/random/snow, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "iNy" = ( /obj/structure/chair{ dir = 4 @@ -29266,6 +30440,11 @@ "iNQ" = ( /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) +"iNY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/white/corner, +/area/station/command/heads_quarters/rd) "iOc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29281,19 +30460,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"iOu" = ( -/obj/structure/bed, -/obj/item/bedsheet/cmo, -/obj/machinery/light_switch/directional/south, -/obj/effect/landmark/start/chief_medical_officer, -/obj/machinery/keycard_auth/wall_mounted/directional/east, -/obj/machinery/camera{ - c_tag = "Chief Medical Officer Bedroom"; - dir = 4; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "iOv" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -29351,30 +30517,11 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) -"iPK" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/flashlight{ - pixel_y = 2 - }, -/obj/structure/lattice/catwalk, -/obj/machinery/camera/directional/south{ - c_tag = "Ordnance Lower Mix Lab"; - network = list("ss13","rd") - }, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) -"iPP" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) +"iPz" = ( +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/storage) "iPR" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -29385,23 +30532,47 @@ dir = 4 }, /area/station/security/brig/entrance) +"iQa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) +"iQd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/status_display/shuttle{ + pixel_x = -32; + shuttle_id = "arrival" + }, +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/hallway/secondary/entry) "iQj" = ( /obj/item/radio/intercom/directional/north, /obj/structure/table/glass, /obj/machinery/computer/records/medical/laptop, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"iQt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/chapel) -"iQw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) "iQx" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 1 @@ -29458,9 +30629,15 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"iRa" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/fore) +"iQY" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "iRc" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -29518,6 +30695,13 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"iRJ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Port" + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "iRM" = ( /obj/structure/rack, /obj/item/stack/sheet/iron/twenty, @@ -29532,28 +30716,6 @@ dir = 6 }, /area/station/science/research) -"iRP" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/atmospherics, -/obj/item/holosign_creator/atmos, -/obj/item/holosign_creator/atmos, -/obj/structure/sign/warning/radiation/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) -"iRS" = ( -/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, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "iRV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29566,13 +30728,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/laborcamp/security) -"iSk" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/openspace, -/area/station/science/ordnance/office) "iSl" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Mix to Port" @@ -29593,19 +30748,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/fore/lesser) -"iSs" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/virology) "iSA" = ( /obj/machinery/conveyor{ dir = 4; id = "packageSort2" }, -/obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/cargo/sorting) "iSE" = ( @@ -29640,6 +30787,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) +"iTr" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/duct, +/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, +/area/station/service/hydroponics) "iTy" = ( /obj/machinery/space_heater, /obj/machinery/airalarm/directional/south, @@ -29653,21 +30810,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"iTE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"iTC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 8 - }, -/obj/machinery/holopad, -/obj/effect/landmark/start/depsec/medical, -/obj/machinery/computer/security/telescreen/med_sec/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "iTJ" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -29695,13 +30842,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"iUi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) "iUm" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -29716,19 +30856,25 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron, /area/station/security/warden) +"iUr" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) +"iUs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "iUw" = ( /obj/structure/closet/lasertag/blue, /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/station/security/prison/workout) -"iUx" = ( -/obj/effect/turf_decal/siding/yellow/corner, -/obj/machinery/duct, -/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/engineering/lobby) "iUz" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -29761,6 +30907,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/supermatter) +"iUM" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin/tagger, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron, +/area/station/cargo/office) +"iUO" = ( +/obj/machinery/camera/motion/directional/north{ + c_tag = "EVA Storage North" + }, +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/bot_white, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/ai_monitored/command/storage/eva) "iUT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29785,31 +30948,37 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"iVi" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 +"iVg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1{ + dir = 1 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/hallway/secondary/entry) -"iVm" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 8 +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics - South East" }, /turf/open/floor/iron, -/area/mine/eva/lower) -"iVu" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 +/area/station/engineering/atmos) +"iVv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/textured, -/area/station/security/brig) +/obj/structure/cable, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/hallway/secondary/entry) "iVA" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningdock) +"iVD" = ( +/obj/structure/chair/stool/directional/east, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iVN" = ( /obj/machinery/vending/sustenance, /turf/open/floor/iron/dark/textured, @@ -29825,16 +30994,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"iVY" = ( -/obj/structure/stairs/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"iWb" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"iWj" = ( +/obj/structure/flora/bush/grassy/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "iWq" = ( /obj/structure/chair{ dir = 4 @@ -29842,30 +31006,17 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"iWs" = ( -/obj/machinery/door/firedoor/border_only, -/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, -/area/station/science/ordnance) -"iWI" = ( -/obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/reagent_dispensers/watertank, -/turf/open/openspace, -/area/station/science/xenobiology) +"iWA" = ( +/obj/structure/closet, +/obj/effect/spawner/random/clothing/gloves, +/obj/effect/spawner/random/trash/janitor_supplies, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "iWM" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"iWN" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/newscaster/directional/north, -/obj/item/surgery_tray/full/morgue, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "iWP" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -29895,10 +31046,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"iXc" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/genturf/orange, +/area/icemoon/underground/unexplored/no_rivers) +"iXg" = ( +/obj/structure/transit_tube, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "iXh" = ( /obj/machinery/vending/cigarette, -/obj/machinery/firealarm/directional/east, +/obj/machinery/firealarm/directional/east{ + pixel_y = 6 + }, /obj/structure/cable, +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, /turf/open/floor/iron, /area/station/security/prison/visit) "iXk" = ( @@ -29923,13 +31091,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"iXB" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) "iXC" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -29940,6 +31101,34 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"iXK" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) +"iXM" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/five, +/obj/item/stack/cable_coil/five, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"iXO" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/biogenerator, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iXP" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -29950,6 +31139,31 @@ "iYb" = ( /turf/closed/wall, /area/station/maintenance/central/greater) +"iYd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/duct, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) +"iYe" = ( +/obj/item/kirbyplants/random, +/obj/machinery/vending/wallmed/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/gateway) +"iYq" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "iYs" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -29973,6 +31187,12 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/mechbay) +"iYD" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/genturf/blue, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "iYG" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -29980,10 +31200,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"iYH" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/medical/virology) "iYU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29992,12 +31208,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"iYY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iZl" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -30007,11 +31217,6 @@ }, /turf/open/floor/plating, /area/station/science/research) -"iZm" = ( -/obj/structure/chair/wood, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "iZn" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/wood, @@ -30025,6 +31230,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"iZr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/electrolyzer, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "iZs" = ( /obj/structure/table, /obj/item/kitchen/spoon/plastic, @@ -30041,13 +31251,13 @@ "iZz" = ( /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/labor_camp) -"iZD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 +"iZC" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/structure/chair/sofa/right/brown{ + dir = 4 }, -/obj/machinery/griddle, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "iZO" = ( /obj/machinery/status_display/ai/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -30083,12 +31293,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"jae" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jag" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -30097,6 +31301,12 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"jai" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "jak" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/disposalpipe/segment{ @@ -30108,10 +31318,6 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"jas" = ( -/obj/structure/fence, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "jaw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30121,6 +31327,15 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"jaE" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jaO" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Turbine Access" @@ -30137,13 +31352,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"jaS" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "jaW" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -30180,12 +31388,27 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"jbu" = ( -/obj/structure/railing/corner, -/turf/open/floor/iron/dark/side{ - dir = 9 +"jbe" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) +"jbf" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" }, -/area/station/service/chapel) +/obj/effect/decal/cleanable/dirt, +/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/medical/cmo, +/obj/effect/turf_decal/tile/purple/full, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"jbq" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "jbx" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay Storage" @@ -30201,23 +31424,18 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) -"jbB" = ( -/obj/structure/beebox, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 +"jbz" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Library Art Gallery" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera{ - c_tag = "Service - Botany Apiary"; - dir = 9 +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/spawner/random/structure/table_fancy, +/obj/machinery/light/blacklight/directional/north, +/obj/structure/sign/painting/library_secure{ + pixel_x = 32 }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/floor/wood, +/area/station/service/library) "jbC" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -30273,24 +31491,66 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"jcy" = ( +"jcr" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) +"jcs" = ( +/obj/machinery/door/morgue{ + req_access = list("bar"); + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) +"jct" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, /obj/machinery/camera/directional/north{ - c_tag = "Central Hallway North-East" + c_tag = "Security - Upper Brig South" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/structure/noticeboard/hos{ + pixel_y = 36 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central) -"jcC" = ( -/obj/machinery/requests_console/directional/north{ - department = "Ordnance"; - name = "Ordnance Lab Requests Console" +/area/station/security/brig/upper) +"jcA" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/cargo/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"jcF" = ( +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) +"jcJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jcP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -30298,16 +31558,31 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"jdd" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "jdf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/mess) +"jdm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"jdA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/chair/sofa/corp/left{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Medbay East"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "jdJ" = ( /obj/structure/chair/wood, /turf/open/floor/carpet, @@ -30332,6 +31607,14 @@ dir = 9 }, /area/station/science/research) +"jdV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "jdW" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30346,22 +31629,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"jed" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) -"jee" = ( -/obj/structure/girder, -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/fore) "jeh" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ dir = 1 @@ -30379,17 +31646,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"jem" = ( -/obj/machinery/chem_master{ - name = "CytoMaster 5000" - }, -/obj/item/swab{ - pixel_y = 10; - pixel_x = -2 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "jer" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -30398,14 +31654,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"jes" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Exfiltrate to Port" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) "jez" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -30431,22 +31679,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"jeR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airlock_controller/incinerator_atmos{ + pixel_x = 26 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "jfc" = ( /turf/closed/wall, /area/station/command/heads_quarters/hop) +"jfF" = ( +/obj/structure/rack, +/obj/item/shovel, +/obj/item/clothing/mask/gas/plaguedoctor, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "jfR" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) -"jgd" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Starboard Primary Hallway West" - }, -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jgl" = ( /obj/effect/turf_decal/trimline/dark_blue/corner{ dir = 1 @@ -30474,6 +31729,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"jgC" = ( +/obj/structure/minecart_rail{ + dir = 10 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "jgD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/wardrobe/pjs{ @@ -30486,16 +31749,41 @@ /obj/structure/closet/secure_closet/security/sec, /turf/open/floor/iron/smooth_edge, /area/station/security/lockers) +"jgL" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"jgV" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"jgW" = ( +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "jhf" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"jhu" = ( -/obj/effect/spawner/random/maintenance/three, -/obj/structure/closet/crate/wooden, -/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"jhi" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/hallway/primary/central/fore) +"jhj" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/chair/sofa/right/brown, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/carpet/blue, +/area/station/security/prison/work) "jhy" = ( /obj/effect/turf_decal/tile/brown, /turf/open/floor/iron, @@ -30540,65 +31828,39 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jih" = ( -/mob/living/basic/pet/penguin/emperor{ - name = "Club" - }, -/obj/machinery/light/small/directional/east, -/obj/item/toy/snowball{ - pixel_x = -9; - pixel_y = 17 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) -"jik" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/table/glass, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/east, -/obj/item/food/grown/poppy{ - pixel_y = -1; - pixel_x = 3 - }, -/obj/item/food/grown/poppy/geranium{ - pixel_y = 5; - pixel_x = 2 - }, -/obj/item/food/grown/poppy/lily{ - pixel_x = -2 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"jiD" = ( +"jiw" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, /obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/table/glass, -/obj/item/book/manual/hydroponics_pod_people, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/sign/poster/contraband/kudzu/directional/north, -/obj/machinery/light/small/directional/west, -/obj/item/plant_analyzer, -/obj/item/watertank{ - pixel_y = -3; - pixel_x = -5 +/obj/machinery/camera/directional/south{ + c_tag = "Service - Botany Garden Access" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, /turf/open/floor/iron, /area/station/service/hydroponics) -"jiU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 +"jiB" = ( +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/structure/table, +/obj/machinery/door_buttons/access_button, +/obj/item/clothing/mask/gas{ + pixel_x = 6; + pixel_y = 2 }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, -/area/station/commons/fitness) +/area/station/science/xenobiology) "jjk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -30639,13 +31901,24 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"jjJ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Labor Camp External West"; - network = list("labor") +"jjI" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"jjM" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/virology) "jjO" = ( /obj/structure/sink/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30657,33 +31930,11 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"jko" = ( -/obj/structure/railing, -/obj/structure/rack, -/obj/structure/cable, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory/upper) "jkH" = ( /obj/structure/training_machine, /obj/effect/landmark/blobstart, /turf/open/floor/engine, /area/station/science/explab) -"jkK" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) -"jkN" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "jkS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, @@ -30700,6 +31951,15 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"jkX" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "jla" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -30723,17 +31983,26 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"jlk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"jls" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jlu" = ( /obj/structure/railing/corner, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"jlv" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/obj/effect/spawner/random/entertainment/musical_instrument, -/obj/item/instrument/harmonica, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "jly" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -30765,17 +32034,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"jlT" = ( -/obj/structure/chair{ - desc = "Aw geez, I wonder what the chef's cooking up in there!"; - dir = 1; - name = "The Peanut's Gallery" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jlV" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -30797,13 +32055,6 @@ }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) -"jmo" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "jms" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -30823,21 +32074,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/large, /area/mine/eva/lower) +"jmD" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) "jmI" = ( /turf/closed/wall/r_wall, /area/station/security/prison/workout) -"jmJ" = ( -/obj/machinery/door/airlock/external, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/medical/morgue) "jmR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30847,16 +32095,22 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"jnh" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" +"jmY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) +"jnp" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Cargo Bay North" }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +/obj/machinery/light/directional/north, +/obj/structure/noticeboard/qm{ + pixel_y = 36 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jnR" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -30876,29 +32130,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"jnU" = ( -/obj/structure/sign/departments/botany/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jnV" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jnW" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "jnX" = ( /obj/machinery/shower/directional/south, /obj/item/bikehorn/rubberducky/plasticducky, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"jnY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "joa" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/right/directional/east{ @@ -30939,17 +32185,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"joW" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jpd" = ( /obj/machinery/vending/coffee, /turf/open/floor/iron, @@ -30960,20 +32195,17 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"jpi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = -2; - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ +"jpg" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/area/mine/eva/lower) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "jpo" = ( /obj/machinery/door/poddoor/preopen{ id = "maint2" @@ -31007,6 +32239,15 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) +"jpN" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "jpS" = ( /turf/closed/wall/r_wall, /area/station/cargo/warehouse) @@ -31038,20 +32279,36 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"jqn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/north, -/obj/structure/sign/poster/official/here_for_your_safety/directional/north, -/turf/open/floor/iron, -/area/station/security/prison/visit) "jqr" = ( /obj/machinery/holopad, /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) +"jqw" = ( +/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/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/white, +/area/station/science/genetics) "jqx" = ( /obj/structure/transit_tube/crossing/horizontal, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "jqE" = ( @@ -31073,46 +32330,19 @@ "jqT" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) -"jqZ" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"jrc" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio6"; - name = "Xenobio Pen 6 Blast DOors"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "jre" = ( /turf/closed/wall, /area/station/maintenance/starboard/lesser) -"jrk" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "jrv" = ( -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/rag, -/obj/structure/table/wood, -/obj/item/holosign_creator/robot_seat/bar{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "jrI" = ( /obj/structure/transit_tube/curved/flipped, /obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "jrQ" = ( @@ -31122,6 +32352,11 @@ /obj/structure/railing/corner/end/flip, /turf/open/floor/iron, /area/mine/production) +"jrX" = ( +/obj/item/cigbutt, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "jrZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31138,14 +32373,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"jsh" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_y = 5 - }, -/obj/machinery/mining_weather_monitor/directional/east, -/turf/open/floor/iron/grimy, -/area/station/hallway/secondary/entry) "jsp" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -31191,23 +32418,12 @@ dir = 1 }, /area/station/hallway/primary/port) -"jsR" = ( -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) +"jsO" = ( +/obj/effect/spawner/random/maintenance/three, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jtm" = ( /obj/machinery/porta_turret/ai{ dir = 4; @@ -31327,26 +32543,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/mining) -"jtY" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"jub" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Escape" - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "jug" = ( /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) @@ -31410,10 +32606,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"jvc" = ( -/obj/machinery/door/firedoor/border_only, -/turf/open/openspace, -/area/station/science/ordnance) "jvj" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/chair, @@ -31459,12 +32651,13 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"jwf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"jvU" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "jwj" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 @@ -31496,12 +32689,33 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) +"jwv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/hobo_squat, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"jww" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "jwx" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, /turf/open/floor/iron, /area/station/security/brig/upper) +"jwz" = ( +/obj/structure/flora/rock/icy/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "jwB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/tile/brown{ @@ -31550,11 +32764,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"jxr" = ( -/obj/machinery/restaurant_portal/restaurant, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "jxv" = ( /obj/effect/landmark/start/paramedic, /obj/structure/cable, @@ -31579,6 +32788,13 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"jyy" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "jyz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -31590,14 +32806,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/virology) -"jyE" = ( -/obj/structure/disposalpipe/segment, +"jyJ" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/machinery/duct, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, +/turf/open/floor/iron/white, +/area/station/medical/virology) "jyL" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -31608,11 +32825,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"jyN" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jyR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -31645,16 +32857,15 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) -"jzR" = ( -/obj/structure/table/glass, -/obj/item/shovel/spade, -/obj/item/cultivator{ - pixel_x = 1; - pixel_y = 6 +"jzH" = ( +/obj/machinery/modular_computer/preset/research{ + dir = 4 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/iron/smooth_corner, +/area/station/command/heads_quarters/rd) "jzY" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -31696,6 +32907,13 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"jAG" = ( +/obj/structure/bed, +/obj/item/bedsheet/cmo, +/obj/machinery/light_switch/directional/south, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "jAI" = ( /obj/machinery/module_duplicator, /obj/machinery/light/directional/south, @@ -31749,20 +32967,18 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"jBr" = ( +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "jBB" = ( /obj/structure/kitchenspike, /turf/open/floor/plating/snowed/coldroom, /area/station/service/kitchen/coldroom) -"jBK" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/landmark/start/hangover/closet, -/obj/machinery/mining_weather_monitor/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "jBR" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8 @@ -31783,21 +32999,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"jCA" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/camera{ - c_tag = "Virology Module North"; - dir = 9; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "jCD" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31813,6 +33014,13 @@ /obj/machinery/smartfridge/petri/preloaded, /turf/open/openspace, /area/station/science/xenobiology) +"jCK" = ( +/obj/machinery/modular_computer/preset/cargochat/service, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "jCL" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -31821,26 +33029,37 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/west, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"jCM" = ( -/obj/structure/rack, -/obj/item/bouquet, -/obj/item/binoculars, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"jCT" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Bridge West Access" + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"jCV" = ( +/obj/machinery/computer/order_console/mining, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch/directional/south, +/obj/machinery/newscaster/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Mining Bunks"; + network = list("ss13", "mine") + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/mine/production) "jDc" = ( /obj/effect/spawner/random/vending/snackvend, /obj/structure/sign/departments/restroom/directional/south, /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/white, /area/station/medical/break_room) -"jDi" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Exfiltrate to Waste" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) +"jDl" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/cargo/miningdock) "jDm" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "robotics2"; @@ -31861,6 +33080,16 @@ /obj/machinery/pdapainter/security, /turf/open/floor/wood/large, /area/station/command/heads_quarters/hos) +"jDz" = ( +/obj/machinery/light/small/directional/east, +/obj/item/pickaxe, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/medical/morgue) +"jDB" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jDG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31880,33 +33109,10 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"jDQ" = ( -/obj/structure/fence/door, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"jDS" = ( -/obj/structure/chair/sofa/bench/left, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/hallway/secondary/entry) -"jDT" = ( -/obj/structure/table/reinforced, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +"jDV" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jDW" = ( /obj/effect/turf_decal/bot_white/left, /obj/structure/closet/crate/silvercrate, @@ -31919,20 +33125,28 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"jEf" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 +"jDX" = ( +/obj/structure/training_machine, +/obj/item/target, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 }, -/obj/structure/bed/medical/anchored{ - dir = 8 +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) +"jEo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/item/bedsheet/medical{ +/obj/effect/turf_decal/siding/yellow/corner{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/virology) +/turf/open/floor/iron, +/area/station/engineering/lobby) "jEs" = ( /obj/machinery/conveyor_switch/oneway{ id = "gulag"; @@ -31940,20 +33154,32 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"jEA" = ( -/obj/machinery/light/small/directional/east, -/obj/item/pickaxe, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/medical/morgue) -"jEB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/dim/directional/north{ - pixel_y = 1 +"jED" = ( +/obj/machinery/modular_computer/preset/civilian{ + dir = 4 }, +/obj/effect/turf_decal/bot/left, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) +"jEE" = ( +/obj/structure/tank_holder/extinguisher, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/maintenance/port/greater) +"jEJ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sign/poster/official/obey/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"jEK" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jFf" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -31966,18 +33192,6 @@ /obj/structure/rack, /turf/open/floor/iron, /area/station/command/gateway) -"jFu" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) -"jFA" = ( -/obj/effect/decal/cleanable/blood/bubblegum, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "jFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -32007,11 +33221,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"jFY" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "jFZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32041,36 +33250,28 @@ }, /turf/open/floor/iron/large, /area/station/engineering/lobby) -"jGN" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = 8; - pixel_y = 25; - req_access = list("virology") - }, -/obj/structure/closet/secure_closet/medical1, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"jGR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 +"jGJ" = ( +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/turf_decal/tile/red/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) +"jHb" = ( +/obj/structure/sign/warning/secure_area{ + pixel_y = 32 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"jHe" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"jHh" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/iron, -/area/station/science/ordnance) -"jGY" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hazardvest, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) "jHF" = ( /obj/item/trash/boritos/red, /obj/structure/cable, @@ -32082,13 +33283,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"jHL" = ( -/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/plating, -/area/station/maintenance/starboard/lesser) "jHQ" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ dir = 1 @@ -32098,16 +33292,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"jHV" = ( -/obj/machinery/mineral/stacking_machine{ - output_dir = 2; - stack_amt = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal) "jHX" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -32169,10 +33353,13 @@ }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"jIE" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/cargo/storage) +"jIB" = ( +/obj/structure/disposalpipe/segment, +/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/lesser) "jII" = ( /turf/closed/wall, /area/station/hallway/primary/central) @@ -32199,12 +33386,6 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"jIY" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jIZ" = ( /obj/machinery/power/terminal{ dir = 1 @@ -32234,46 +33415,41 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"jJr" = ( -/obj/machinery/door/firedoor, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"jJl" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) -"jJF" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/calendar/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Botany Equipment" }, /turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"jJG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/area/station/service/hydroponics) +"jJA" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) +/turf/open/floor/iron, +/area/station/service/bar) "jJM" = ( /turf/open/floor/glass, /area/station/security/lockers) -"jJR" = ( -/obj/machinery/firealarm/directional/south, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 +"jJQ" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/item/pen, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "jJV" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -32287,6 +33463,17 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"jJZ" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/taperecorder{ + pixel_x = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "jKe" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -32313,6 +33500,18 @@ }, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) +"jKs" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/bar, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "jKy" = ( /obj/machinery/holopad, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -32350,25 +33549,9 @@ /obj/effect/landmark/event_spawn, /obj/structure/cable, /obj/effect/turf_decal/tile/green, +/obj/structure/sign/plaques/kiddie, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"jKL" = ( -/obj/structure/cable, -/obj/structure/holosign/barrier/atmos/sturdy, -/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 - }, -/turf/open/floor/iron/textured, -/area/station/service/kitchen/coldroom) "jKN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32384,6 +33567,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"jKQ" = ( +/obj/structure/sign/warning/fire{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jKY" = ( /turf/closed/mineral/random/snow/high_chance, /area/icemoon/underground/unexplored/rivers/deep/shoreline) @@ -32391,6 +33580,19 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/openspace, /area/station/commons/storage/mining) +"jLc" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "SapMaster XP" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "jLf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -32420,13 +33622,21 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"jLB" = ( -/obj/structure/sign/warning/electric_shock/directional/east, +"jLt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red, +/obj/structure/cable, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/primary/starboard) +"jLK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "jLM" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32498,6 +33708,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"jMn" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance" + }, +/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/access/all/engineering/engine_equipment, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"jMr" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/trash/botanical_waste, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"jMu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jMw" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -32508,16 +33742,35 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"jMD" = ( -/obj/effect/turf_decal/siding/white/corner{ +"jMx" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Dormitory North" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"jMJ" = ( -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) +"jME" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Supply Door Airlock"; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) +"jMO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jMY" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -32527,10 +33780,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"jNe" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jNf" = ( /turf/closed/wall, /area/station/security/prison/garden) @@ -32546,6 +33795,9 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"jNo" = ( +/turf/open/floor/stone, +/area/station/service/bar/atrium) "jNp" = ( /turf/closed/wall/r_wall, /area/station/security/holding_cell) @@ -32561,18 +33813,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"jOi" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/structure/cable, -/obj/effect/landmark/navigate_destination, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/turf/open/floor/iron, -/area/station/command/bridge) "jOj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32588,6 +33828,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/hallway/primary/port) +"jOy" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Central Hallway West" + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/bluespace_vendor/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jOz" = ( /obj/effect/turf_decal/trimline/blue/end{ dir = 1 @@ -32601,6 +33849,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"jOC" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Bar" + }, +/turf/open/floor/iron, +/area/station/service/bar) "jOD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -32613,6 +33874,12 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"jOK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jOQ" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -32667,6 +33934,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"jPq" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/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) "jPs" = ( /obj/effect/spawner/random/engineering/canister, /obj/structure/railing{ @@ -32690,6 +33966,14 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) +"jPL" = ( +/obj/structure/disposalpipe/segment, +/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/botanical_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jPV" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, @@ -32701,6 +33985,15 @@ "jQd" = ( /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"jQe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Gas to Filter" + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "jQh" = ( /obj/structure/ladder, /obj/machinery/light/small/directional/east, @@ -32713,16 +34006,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"jQt" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "Medbay" - }, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/dark, -/area/station/maintenance/department/medical/central) "jQz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32775,12 +34058,6 @@ /obj/item/gps/mining, /turf/open/floor/iron, /area/station/commons/storage/mining) -"jQM" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jQS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -32809,16 +34086,27 @@ /obj/item/ai_module/supplied/freeform, /obj/effect/turf_decal/tile/dark_green, /obj/machinery/light/directional/west, +/obj/structure/sign/nanotrasen{ + pixel_x = -32 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"jRm" = ( -/obj/structure/mannequin/skeleton, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"jRi" = ( +/obj/structure/fence{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "jRt" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "jRu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32870,6 +34158,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"jRX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) +"jSa" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/dice, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jSe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32887,16 +34190,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"jSp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jSt" = ( /obj/machinery/door/airlock/external{ name = "Security Yard"; @@ -32908,25 +34201,23 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"jSy" = ( -/obj/structure/fence/end{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jSC" = ( /obj/structure/bookcase/random/reference, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) -"jSL" = ( -/obj/structure/stairs/east, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) -"jSQ" = ( -/obj/structure/sign/poster/official/here_for_your_safety/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"jSN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "jST" = ( /obj/machinery/door/window/right/directional/north{ name = "Bridge Delivery"; @@ -32962,6 +34253,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/explab) +"jTw" = ( +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jTG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -32985,6 +34280,23 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron/dark, /area/station/science/server) +"jUb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jUn" = ( /obj/structure/table, /obj/item/folder/red{ @@ -33002,14 +34314,18 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"jUv" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"jUs" = ( +/obj/machinery/door/airlock/external{ + name = "Graveyard Access"; + dir = 4 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "jUB" = ( /turf/closed/wall, /area/station/medical/virology) @@ -33028,13 +34344,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"jUX" = ( -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/ordnance/office) "jUY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/secure_closet/personal{ @@ -33052,47 +34361,46 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"jVa" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "jVb" = ( /obj/machinery/space_heater, /obj/machinery/light/small/directional/north, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"jVi" = ( -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, -/area/station/science/cytology) -"jVm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, +"jVp" = ( +/obj/item/kirbyplants/fern, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"jVx" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/area/station/maintenance/starboard/lesser) +"jVs" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_y = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) +/obj/item/folder/white{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -4 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "jVE" = ( /obj/effect/turf_decal/box/white, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"jVL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"jWb" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, -/obj/structure/sign/departments/rndserver/directional/south, -/turf/open/floor/iron/white, -/area/station/science/research) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jWl" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -33104,28 +34412,45 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"jWm" = ( +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"jWq" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "jWt" = ( /obj/structure/cable, /obj/structure/closet/radiation, /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) -"jWJ" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/closet/emcloset/anchored, -/obj/structure/sign/warning/gas_mask/directional/west, -/turf/open/floor/plating, -/area/station/engineering/main) +"jWO" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/machinery/newscaster/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/full, +/obj/machinery/camera/directional/north{ + c_tag = "Security Post - Medbay"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "jWP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"jXc" = ( -/obj/structure/sign/poster/official/help_others, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) "jXe" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -33150,16 +34475,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"jXC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/storage/box, -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/structure/sign/poster/contraband/random/directional/north, -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "jXH" = ( /obj/machinery/conveyor{ dir = 8; @@ -33201,14 +34516,6 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"jYd" = ( -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jYj" = ( /obj/structure/sign/warning/secure_area/directional/north, /obj/effect/turf_decal/stripes/red/line{ @@ -33223,6 +34530,29 @@ /obj/structure/mirror/directional/south, /turf/open/floor/iron/freezer, /area/station/medical/break_room) +"jYF" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/noticeboard/rd{ + pixel_y = 36 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) +"jYG" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/filingcabinet/filingcabinet, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jYH" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -33230,18 +34560,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"jYI" = ( -/obj/effect/spawner/random/trash/mess, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"jYL" = ( -/obj/structure/light_construct/directional/south, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/maintenance/port/aft) "jYS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, @@ -33256,10 +34574,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"jZc" = ( -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) "jZe" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33276,20 +34590,56 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"jZj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Service - Atrium Entrance" + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"jZo" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jZr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva) -"jZB" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"jZt" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 }, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) +"jZy" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/cobweb, +/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) "jZD" = ( /obj/structure/chair/office{ dir = 1 @@ -33304,25 +34654,10 @@ dir = 10 }, /area/station/security/prison) -"jZJ" = ( -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Backroom" - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "jZM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"jZN" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jZU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -33335,35 +34670,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kav" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kaw" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/cargo/office) -"kax" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/structure/closet/secure_closet/medical1, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"kaI" = ( -/obj/effect/spawner/random/maintenance/two, -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kaK" = ( /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, @@ -33391,12 +34702,6 @@ /obj/effect/decal/cleanable/food/pie_smudge, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"kbp" = ( -/obj/structure/marker_beacon/burgundy, -/obj/structure/fluff/fokoff_sign, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "kbq" = ( /obj/machinery/conveyor{ dir = 1; @@ -33413,12 +34718,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kbu" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kbx" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -33427,10 +34726,28 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"kby" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "kbJ" = ( /obj/machinery/field/generator, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"kbL" = ( +/obj/structure/table, +/obj/machinery/light/small/dim/directional/west, +/obj/item/camera{ + pixel_y = 9; + pixel_x = -2 + }, +/obj/item/reagent_containers/cup/glass/waterbottle/empty{ + pixel_y = 5; + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "kbN" = ( /obj/structure/table/wood, /obj/item/storage/box/matches, @@ -33452,6 +34769,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) +"kbS" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "kcc" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Infirmary" @@ -33475,29 +34801,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"kcj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "kcm" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/command_all, /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"kcs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) -"kcw" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "kcC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -33528,16 +34837,23 @@ }, /turf/open/floor/plating, /area/station/security/prison/visit) -"kcW" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/genturf/blue, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) -"kda" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/item/sign, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"kcT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) +"kcZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/iron/smooth, +/area/station/maintenance/port/fore) "kdc" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -33547,16 +34863,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"kdo" = ( -/obj/structure/sign/warning/test_chamber/directional/south, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) -"kdw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) +"kdg" = ( +/obj/structure/railing, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/science/ordnance) "kdy" = ( /obj/machinery/door/poddoor/shutters{ id = "secmechbay"; @@ -33567,18 +34879,37 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"kdA" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/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/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"kdC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "kdF" = ( /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"kdJ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ +"kdS" = ( +/obj/structure/fence{ dir = 1 }, -/obj/structure/railing, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "kdT" = ( /obj/machinery/iv_drip, /obj/item/reagent_containers/blood, @@ -33601,26 +34932,10 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"kea" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/desk_bell{ - pixel_x = -3 - }, -/turf/open/floor/iron, -/area/station/service/bar) "kei" = ( /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"keu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) "kex" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -33639,18 +34954,6 @@ /obj/item/canvas/nineteen_nineteen, /turf/open/floor/sepia, /area/station/security/prison/rec) -"keL" = ( -/obj/machinery/light_switch/directional/south, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/dorms) -"keM" = ( -/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/stone, -/area/station/commons/lounge) "keP" = ( /turf/closed/wall, /area/station/engineering/atmos/storage/gas) @@ -33666,21 +34969,6 @@ dir = 1 }, /area/station/hallway/primary/central) -"keT" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/station/maintenance/port/fore) "keZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33709,13 +34997,6 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"kfk" = ( -/obj/structure/table/wood, -/obj/item/paper, -/obj/item/pen, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kfl" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/south, @@ -33730,6 +35011,12 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"kfr" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kfs" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) @@ -33765,13 +35052,12 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"kfZ" = ( -/obj/machinery/door/firedoor/heavy, -/obj/structure/sign/warning/test_chamber/directional/east, -/turf/open/floor/iron/white/corner{ - dir = 1 +"kfS" = ( +/obj/machinery/atmospherics/components/tank/air/layer4{ + initialize_directions = 2 }, -/area/station/science/research) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kgc" = ( /obj/structure/disposalpipe/junction/flip{ dir = 8 @@ -33806,6 +35092,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"kgw" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "kgy" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, @@ -33868,23 +35159,10 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"kho" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Psychology Office"; - name = "Psychology Office Fax Machine" - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/psychology) -"kht" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"khs" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "khu" = ( /obj/structure/closet/toolcloset, /obj/effect/decal/cleanable/dirt, @@ -33897,24 +35175,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"khz" = ( -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/genturf, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"khF" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/warning/gas_mask/directional/north{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/machinery/button/door/directional/north{ - id = "drone_bay"; - name = "Shutter Control"; - pixel_x = -24 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "khR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, @@ -33974,17 +35234,35 @@ /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, +/turf/open/floor/iron/dark/textured, /area/station/maintenance/disposal/incinerator) -"kiI" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/fore) "kiL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/meeting_room) +"kiO" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"kiQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/command/heads_quarters/rd) "kiR" = ( /obj/structure/table, /obj/structure/cable, @@ -33999,6 +35277,24 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"kiX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kiY" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -34006,6 +35302,23 @@ /obj/effect/spawner/random/armory/bulletproof_helmet, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) +"kjd" = ( +/obj/structure/plasticflaps{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) +"kjh" = ( +/obj/structure/closet/secure_closet/personal{ + anchored = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/commons/locker) "kjo" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/door/airlock/engineering{ @@ -34019,10 +35332,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"kjr" = ( -/obj/structure/sign/warning/test_chamber/directional/south, -/turf/open/floor/engine, -/area/station/science/genetics) "kjt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34063,16 +35372,37 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"kjY" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "bridge blast"; - name = "Bridge Blast Door" +"kjN" = ( +/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/stripes/white/line{ + dir = 4 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/command/bridge) +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) +"kjP" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner/end/flip{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "kka" = ( /obj/machinery/requests_console/auto_name/directional/west, /obj/machinery/camera/directional/west{ @@ -34083,18 +35413,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"kkb" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "kke" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -34109,29 +35427,6 @@ "kkl" = ( /turf/closed/wall, /area/station/security/interrogation) -"kkp" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) -"kkr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/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/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "kkA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -34150,6 +35445,15 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kkF" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/end, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/virology) "kkK" = ( /obj/structure/table, /obj/machinery/power/apc/auto_name/directional/east, @@ -34184,6 +35488,11 @@ /obj/effect/mapping_helpers/airlock/access/all/command/gateway, /turf/open/floor/iron/dark/textured, /area/station/command/gateway) +"kkX" = ( +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/science/research) "klc" = ( /turf/closed/wall, /area/station/medical/cryo) @@ -34213,23 +35522,10 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/carpet/blue, /area/station/security/prison/work) -"klJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"klP" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) -"klS" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"klW" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron, +/area/station/science/xenobiology) "klX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/public/glass{ @@ -34241,23 +35537,28 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp) -"kmf" = ( -/obj/machinery/status_display/evac/directional/west, -/turf/open/openspace, -/area/station/medical/medbay/aft) -"kmg" = ( -/obj/structure/sign/poster/official/obey, -/turf/closed/wall/r_wall, -/area/station/security/prison/visit) "kmi" = ( /obj/effect/landmark/blobstart, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"kmn" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/station/service/chapel) +"kmo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"kmq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "kmA" = ( /obj/structure/bed/medical/anchored{ dir = 4 @@ -34275,12 +35576,6 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) -"kmD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/electrolyzer, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "kmG" = ( /obj/machinery/defibrillator_mount/directional/north, /obj/effect/turf_decal/tile/blue/full, @@ -34346,11 +35641,6 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"koj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) "koH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -34364,22 +35654,19 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"koQ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 +"kpg" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) -"koX" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, /turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat/maint) +/area/station/service/chapel) "kpj" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -34388,10 +35675,27 @@ /obj/effect/decal/cleanable/dirt, /obj/item/clothing/mask/muzzle, /obj/machinery/flasher/directional/east{ - id = "cell4" + id = "cell4"; + pixel_y = -7 }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"kpn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/kitchen/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"kps" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"kpA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/command/teleporter) "kpC" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/mix) @@ -34427,6 +35731,11 @@ "kqc" = ( /turf/closed/wall, /area/station/security/medical) +"kqg" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/decoration/ornament, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kqh" = ( /obj/structure/chair/wood{ dir = 8 @@ -34464,16 +35773,6 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"kqo" = ( -/obj/structure/table/wood, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "kqq" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 1; @@ -34499,13 +35798,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"kqx" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 - }, -/area/station/command/gateway) "kqG" = ( /obj/structure/table/reinforced, /obj/machinery/light/small/directional/east, @@ -34522,24 +35814,16 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"kqN" = ( -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk/multiz/down, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "kqP" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 +/obj/machinery/door/airlock{ + name = "Unisex Showers" }, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/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/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "kqR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34612,22 +35896,6 @@ }, /turf/open/floor/plating, /area/mine/laborcamp/security) -"krE" = ( -/obj/structure/table, -/obj/item/flashlight/flare/candle{ - pixel_y = 1; - pixel_x = -16 - }, -/obj/item/paper/crumpled{ - pixel_y = 3; - pixel_x = 1; - name = "used napkin" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "krN" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/structure/window/reinforced/spawner/directional/west, @@ -34649,19 +35917,39 @@ /obj/machinery/telecomms/bus/preset_four, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"krV" = ( -/obj/machinery/vending/autodrobe/all_access, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) -"krW" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "krY" = ( /turf/closed/wall/r_wall, /area/station/science/breakroom) +"krZ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"ksb" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/disposal/bin, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk, +/obj/structure/sign/warning/fire/directional/north, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) +"ksc" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "kse" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -34669,19 +35957,27 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/security/prison/mess) -"ksf" = ( -/obj/structure/plasticflaps, -/obj/machinery/conveyor{ - dir = 8; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "ksi" = ( /obj/structure/displaycase, /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"ksl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "ksn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -34691,12 +35987,6 @@ dir = 1 }, /area/mine/eva) -"kso" = ( -/obj/structure/fence/corner{ - dir = 6 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "ksu" = ( /mob/living/basic/mining/gutlunch/warrior, /turf/open/misc/asteroid/snow/icemoon, @@ -34704,29 +35994,6 @@ "ksC" = ( /turf/open/floor/iron, /area/station/security/brig/upper) -"ksH" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"ksR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"ksU" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/modular_computer/preset/civilian, -/obj/effect/turf_decal/bot_white, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/command/gateway) "kta" = ( /turf/closed/wall, /area/station/commons/storage/mining) @@ -34752,27 +36019,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) -"ktq" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/warm/directional/south, -/obj/structure/sign/poster/contraband/lizard/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ktt" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -34793,12 +36039,6 @@ /obj/effect/mapping_helpers/airalarm/tlv_no_checks, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"ktx" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "ktz" = ( /obj/machinery/newscaster/directional/north, /turf/open/floor/wood, @@ -34807,35 +36047,6 @@ /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"ktD" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/structure/chair/sofa/corp/left{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Medbay East"; - dir = 6; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"ktJ" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) -"ktK" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "ktU" = ( /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -34848,35 +36059,53 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"ktY" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table, -/obj/machinery/fax/auto_name, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"ktX" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "kub" = ( /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/service/chapel) -"kuy" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ - pixel_x = 28 - }, -/obj/effect/turf_decal/stripes{ - dir = 1 +"kuq" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" }, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) +/turf/open/floor/wood, +/area/station/commons/lounge) +"kux" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "kuC" = ( /obj/structure/closet/cardboard, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"kuJ" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kuR" = ( /obj/structure/barricade/wooden, /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kuT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "kuV" = ( /obj/effect/turf_decal/arrows/red, /obj/effect/turf_decal/tile/purple/half{ @@ -34886,20 +36115,16 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"kva" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = -3; - pixel_y = 3 +"kuZ" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 1 }, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/dropper{ - pixel_x = -4; - pixel_y = 4 +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" }, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron, -/area/station/science/xenobiology) +/turf/open/floor/plating, +/area/station/service/hydroponics) "kvf" = ( /obj/effect/turf_decal/caution{ dir = 4 @@ -34907,10 +36132,6 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"kvh" = ( -/obj/structure/sign/warning, -/turf/closed/wall/r_wall, -/area/station/security/brig/upper) "kvj" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -34928,22 +36149,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) -"kvG" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"kvH" = ( -/obj/structure/ladder, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/engineering/lobby) "kvR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -34955,15 +36160,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"kvT" = ( -/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/plating, -/area/station/maintenance/starboard/lesser) "kvX" = ( /turf/open/floor/iron/dark/smooth_edge{ dir = 4 @@ -34986,6 +36182,16 @@ /obj/item/wrench, /turf/open/floor/iron, /area/station/engineering/atmos) +"kwn" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"kww" = ( +/obj/machinery/gibber, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "kwz" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -35002,14 +36208,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"kwT" = ( -/obj/machinery/mass_driver/trash{ - dir = 1 - }, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "kwU" = ( /obj/machinery/computer/records/security, /obj/structure/cable, @@ -35053,31 +36251,47 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"kxA" = ( +/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/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "kxY" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"kxZ" = ( -/obj/machinery/space_heater, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore/lesser) -"kyc" = ( -/obj/effect/turf_decal/tile/blue, -/obj/item/kirbyplants/random, +"kya" = ( +/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, -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/structure/cable, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"kyf" = ( +/obj/structure/bookcase{ + name = "Holy Bookcase" }, -/turf/open/floor/iron/white/corner{ - dir = 8 +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/area/station/hallway/secondary/entry) +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "kyg" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -35114,6 +36328,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kyM" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/stairs/medium, +/area/mine/eva/lower) "kyU" = ( /obj/machinery/modular_computer/preset/id, /obj/machinery/light/directional/north, @@ -35123,16 +36343,18 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"kyW" = ( -/obj/machinery/computer/records/medical, -/obj/structure/cable, -/obj/machinery/button/door/directional/north{ - id = "medsecprivacy"; - name = "Privacy Shutters Control" +"kyV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) +/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/trash/food_packaging, +/obj/effect/spawner/random/trash/cigbutt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kzv" = ( /obj/structure/bed, /obj/effect/spawner/random/bedsheet/any, @@ -35162,16 +36384,6 @@ }, /turf/open/floor/iron/large, /area/station/engineering/engine_smes) -"kzC" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Central Hallway South-West - HoP's Office" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "kzD" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -35181,6 +36393,12 @@ pixel_x = 9; pixel_y = 4 }, +/obj/machinery/button/door{ + pixel_y = -3; + pixel_x = -3; + id = "bridge blast"; + name = "Blast Door Control" + }, /turf/open/floor/iron, /area/station/command/bridge) "kzG" = ( @@ -35197,18 +36415,6 @@ /obj/item/multitool, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"kzU" = ( -/obj/structure/dresser, -/obj/structure/mirror/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Service - Backstage"; - dir = 9 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "kzZ" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -35218,10 +36424,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kAm" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/hallway/secondary/exit/departure_lounge) +"kAk" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "kAn" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -35247,6 +36455,21 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"kAQ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) +"kAT" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kAW" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -35254,10 +36477,22 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"kAZ" = ( -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +"kBc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "holodeck" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/commons/fitness) "kBi" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/atmos{ @@ -35293,14 +36528,6 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kBO" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "kBU" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -35322,30 +36549,18 @@ dir = 1 }, /area/mine/eva/lower) -"kCb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "kCg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, /obj/machinery/firealarm/directional/west, -/obj/item/radio/intercom/directional/north, /obj/machinery/light/small/directional/west, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/service/library) -"kCh" = ( -/obj/structure/closet, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "kCn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35369,11 +36584,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/dorms) -"kCv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "kCx" = ( /obj/structure/table/wood, /obj/item/book/granter/action/spell/smoke/lesser{ @@ -35397,6 +36607,14 @@ }, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"kCC" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "kCG" = ( /obj/effect/turf_decal/tile/brown/fourcorners, /obj/machinery/photocopier, @@ -35412,44 +36630,9 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) -"kCR" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "kCV" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"kCY" = ( -/obj/structure/rack, -/obj/item/clothing/shoes/winterboots/ice_boots/eva{ - pixel_y = 2 - }, -/obj/item/clothing/suit/hooded/wintercoat/eva{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/mining_weather_monitor/directional/north, -/obj/effect/turf_decal/delivery/red, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals Emergency EVA" - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) -"kDb" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped{ - dir = 4; - name = "Exfiltrate Filter" - }, -/obj/effect/turf_decal/trimline/dark_red/filled/warning{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/dark_red/filled/warning{ - dir = 5 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) "kDc" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input{ dir = 8 @@ -35460,14 +36643,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/sorting) -"kDm" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/commons/dorms/laundry) "kDs" = ( /turf/closed/mineral/snowmountain/cavern/icemoon, /area/icemoon/surface/outdoors/nospawn) @@ -35503,6 +36678,16 @@ dir = 4 }, /area/mine/eva) +"kDO" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kEj" = ( /obj/machinery/computer/libraryconsole/bookmanagement, /obj/structure/table, @@ -35523,26 +36708,11 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"kEr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"kEs" = ( -/obj/structure/tank_holder/extinguisher, +"kEC" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/closet/emcloset, /turf/open/floor/plating, -/area/station/maintenance/port/greater) -"kEB" = ( -/obj/effect/decal/cleanable/generic, -/obj/effect/decal/cleanable/robot_debris/down, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/iron/checker, -/area/station/maintenance/port/fore) +/area/station/maintenance/port/aft) "kEM" = ( /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) @@ -35559,6 +36729,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kFc" = ( +/obj/structure/table/wood, +/obj/item/circuitboard/machine/fax, +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kFu" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -35577,15 +36754,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"kFF" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cart Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kFH" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 10 @@ -35607,6 +36775,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/eva) +"kFW" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "kGc" = ( /obj/structure/table/wood, /obj/structure/cable, @@ -35619,6 +36797,27 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood/large, /area/station/command/heads_quarters/hos) +"kGe" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) +"kGm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/cmo/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "kGx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35629,12 +36828,9 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "kGD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/structure/secure_safe/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kGF" = ( /obj/structure/table, /obj/item/camera_film, @@ -35649,23 +36845,6 @@ dir = 1 }, /area/station/commons/storage/art) -"kGJ" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Security Checkpoint" - }, -/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/cyclelink_helper_multi{ - cycle_id = "brigoutpost" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/machinery/scanner_gate/preset_guns, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/security/brig/entrance) "kGP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ @@ -35709,22 +36888,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"kHq" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/status_display/shuttle{ - pixel_x = -32; - shuttle_id = "arrival" - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/entry) "kHr" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/project) @@ -35806,6 +36969,12 @@ /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/vault, /area/station/security/prison/rec) +"kIr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/library) "kIt" = ( /obj/effect/turf_decal/siding/yellow{ dir = 4 @@ -35826,11 +36995,11 @@ /obj/machinery/space_heater, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"kIK" = ( -/obj/effect/turf_decal/tile/blue, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"kIL" = ( +/obj/structure/flora/grass/green/style_random, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "kIU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -35842,12 +37011,6 @@ dir = 1 }, /area/mine/eva) -"kIX" = ( -/obj/structure/fence/corner{ - dir = 6 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "kJc" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -35872,6 +37035,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"kJr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "kJw" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 @@ -35880,26 +37053,18 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"kJx" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"kJG" = ( -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/obj/structure/railing{ +"kJF" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy{ dir = 4 }, -/turf/open/floor/wood, -/area/station/commons/lounge) -"kJI" = ( -/obj/structure/transit_tube/station/reverse, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "kJK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -35914,12 +37079,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"kJP" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/bridge) "kJU" = ( /obj/structure/girder, /turf/open/floor/iron/dark, @@ -35935,21 +37094,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"kKa" = ( -/obj/item/clothing/under/costume/skeleton, -/obj/item/clothing/head/helmet/skull, -/turf/open/floor/plating, -/area/station/medical/morgue) -"kKk" = ( -/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) -"kKn" = ( -/obj/machinery/light/cold/directional/east, -/obj/machinery/status_display/ai/directional/east, -/turf/open/openspace, -/area/station/service/kitchen/coldroom) "kKv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail{ @@ -35975,6 +37119,14 @@ "kKL" = ( /turf/closed/wall, /area/station/maintenance/starboard/fore) +"kKT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "kKU" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 8 @@ -36014,6 +37166,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage) +"kLd" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "kLo" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/textured, @@ -36023,11 +37181,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"kLs" = ( -/obj/structure/sign/warning/docking, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/hallway/secondary/exit/departure_lounge) "kLy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ @@ -36059,17 +37212,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"kMP" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/rack, -/obj/item/storage/backpack/satchel/leather/withwallet, -/obj/item/toy/figure/assistant, -/obj/structure/sign/calendar/directional/west, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms/laundry) "kMY" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -36082,13 +37224,22 @@ }, /turf/open/floor/iron/large, /area/station/engineering/storage) -"kNa" = ( -/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/dark, -/area/station/medical/cryo) +"kNf" = ( +/obj/structure/table, +/obj/item/flashlight/flare/candle{ + pixel_y = 1; + pixel_x = -16 + }, +/obj/item/paper/crumpled{ + pixel_y = 3; + pixel_x = 1; + name = "used napkin" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "kNi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36118,8 +37269,9 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "kNC" = ( -/obj/structure/fence, -/turf/open/misc/asteroid/snow/icemoon, +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "kNQ" = ( /obj/structure/cable, @@ -36138,6 +37290,11 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kOc" = ( +/obj/structure/chair, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "kOi" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 @@ -36155,6 +37312,45 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"kOq" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=EVA2"; + location = "Dorm" + }, +/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{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"kOt" = ( +/obj/structure/fence/corner{ + dir = 2; + pixel_y = 0 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"kOx" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) +"kOM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "kON" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, @@ -36172,22 +37368,11 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"kOO" = ( -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) -"kOS" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Public Mining Storage"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, -/turf/open/floor/iron/dark, -/area/mine/storage) +"kOR" = ( +/obj/structure/railing/wooden_fence, +/obj/item/flashlight/lantern/on, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "kOV" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -36215,11 +37400,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"kPh" = ( -/obj/structure/flora/bush/sunny/style_random, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "kPo" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36234,6 +37414,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"kPu" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/structure/sign/poster/random/directional/west, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "kPv" = ( /obj/machinery/vending/cigarette, /turf/open/floor/wood, @@ -36251,9 +37444,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"kPz" = ( -/turf/closed/mineral/random/snow, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kPL" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -36268,25 +37458,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"kPS" = ( -/obj/structure/railing, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"kPY" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "kQc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36317,14 +37488,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"kQx" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/item/radio/intercom/directional/north, -/obj/machinery/holopad, -/obj/machinery/light/warm/directional/north, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/service/bar) "kQz" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36343,14 +37506,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/fore) -"kQH" = ( -/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/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kQJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -36373,13 +37528,6 @@ /obj/item/pipe_dispenser, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"kQV" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/three, -/obj/structure/sign/departments/maint/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "kQY" = ( /obj/effect/turf_decal/arrows/red{ dir = 4; @@ -36401,12 +37549,15 @@ /obj/structure/bookcase, /turf/open/floor/iron, /area/mine/laborcamp) -"kRj" = ( -/obj/structure/table/wood, -/obj/item/c_tube, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"kRw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/atmos_control/nocontrol/incinerator{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) "kRy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36414,15 +37565,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kRD" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Garden" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "kRE" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 8 @@ -36430,13 +37572,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"kRF" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "kRH" = ( /obj/machinery/door/airlock/highsecurity{ name = "Chemistry Lab Exit" @@ -36447,21 +37582,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, /turf/open/floor/plating, /area/station/medical/chemistry) -"kRI" = ( -/obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -4 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "kRJ" = ( /obj/machinery/camera/directional/north{ c_tag = "Atmospherics Distribution Loop" @@ -36485,13 +37605,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/office) -"kSj" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +"kRV" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"kSc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kSn" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, @@ -36506,12 +37628,25 @@ /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, /area/icemoon/underground/explored) +"kSA" = ( +/obj/machinery/mining_weather_monitor/directional/east, +/turf/open/floor/iron/grimy, +/area/station/hallway/secondary/entry) "kSD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kSG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "kSM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -36557,25 +37692,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/mine/eva/lower) -"kTQ" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/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/lobby) -"kTX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/station/commons/dorms/laundry) "kUb" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -36594,6 +37710,21 @@ /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 + }, +/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, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/security/prison/safe) "kUu" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -36612,6 +37743,13 @@ "kUD" = ( /turf/open/openspace, /area/mine/eva) +"kUF" = ( +/obj/machinery/light/directional/north, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kUJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/built/directional/south, @@ -36620,14 +37758,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"kUP" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/railing/corner, -/turf/open/lava/plasma/ice_moon, -/area/icemoon/underground/explored) "kUU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36636,72 +37766,43 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) -"kUW" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"kVj" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, +"kVa" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/commons/fitness) +"kVe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kVl" = ( /obj/effect/landmark/event_spawn, /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) -"kVo" = ( -/obj/structure/table/wood, -/obj/machinery/reagentgrinder{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) -"kVq" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/light/warm/directional/north, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/station/service/bar) +"kVv" = ( +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/obj/structure/sign/poster/contraband/little_fruits/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kVx" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"kVE" = ( -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Art Exhibition"; - req_access = list("library") +"kVA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/spawner/random/structure/table_fancy, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/mining_weather_monitor/directional/north, +/turf/open/floor/iron/large, +/area/station/hallway/secondary/entry) "kVF" = ( /obj/structure/closet/secure_closet/courtroom, /obj/item/gavelhammer, @@ -36709,6 +37810,11 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) +"kVI" = ( +/obj/structure/closet/firecloset, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "kVM" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 @@ -36716,6 +37822,20 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/engineering/lobby) +"kVN" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Mining B-1 Hallway South"; + network = list("ss13", "mine") + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/mine/eva) "kVS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36736,6 +37856,16 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kWk" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "kWr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -36752,23 +37882,6 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) -"kWG" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/lesser) -"kWH" = ( -/obj/structure/rack, -/obj/item/hand_labeler, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron/textured, -/area/station/security/brig) "kWL" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/nitrogen{ @@ -36782,6 +37895,7 @@ /obj/item/reagent_containers/cup/bottle/oxygen{ pixel_x = 1 }, +/obj/structure/sign/warning/no_smoking/circle/directional/west, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -36794,6 +37908,21 @@ /obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kWO" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table/wood, +/obj/item/flashlight/lantern, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"kWV" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/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/fore) "kWW" = ( /obj/machinery/door/airlock/atmos, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36818,6 +37947,10 @@ dir = 1 }, /area/station/engineering/atmos/hfr_room) +"kXf" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kXq" = ( /obj/machinery/air_sensor/plasma_tank, /turf/open/floor/engine/plasma, @@ -36872,10 +38005,10 @@ /area/icemoon/surface/outdoors/nospawn) "kXM" = ( /obj/structure/closet/secure_closet/security/med, -/obj/machinery/firealarm/directional/south, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/turf_decal/tile/red/full, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) "kXO" = ( @@ -36884,27 +38017,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"kXR" = ( -/turf/open/floor/iron/stairs/right{ - dir = 4 - }, -/area/station/science/cytology) -"kXS" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 +"kXQ" = ( +/obj/machinery/power/solar_control{ + id = "auxsolareast"; + name = "Starboard Bow Solar Control" }, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) +"kXW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "kXY" = ( /turf/open/floor/iron/dark, /area/station/security/prison/rec) @@ -36921,9 +38048,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"kYo" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kYq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -36953,11 +38077,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/engineering/engine_smes) -"kYN" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "kZa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36977,6 +38096,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"kZe" = ( +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Cytology External Airlock" + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "kZh" = ( /obj/structure/cable, /obj/structure/sign/poster/contraband/random/directional/west, @@ -36986,16 +38115,6 @@ /obj/machinery/space_heater, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"kZm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "kZn" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -37023,13 +38142,14 @@ /turf/open/floor/vault, /area/station/security/prison/rec) "laa" = ( -/obj/machinery/atmospherics/components/tank, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/newscaster/directional/west, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/item/radio/intercom/directional/north, +/obj/structure/railing/corner, /turf/open/floor/iron/dark, -/area/station/science/ordnance) +/area/station/commons/lounge) "lab" = ( /obj/machinery/door/window/brigdoor/left/directional/north{ name = "Secure Weapons Storage"; @@ -37048,13 +38168,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"lal" = ( -/obj/structure/chair/sofa/right/brown, -/obj/item/toy/plush/moth{ - name = "Dr. Moff" +"lah" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) +/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{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Escape"; + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/exit/departure_lounge) "law" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Vestibule" @@ -37131,13 +38267,13 @@ /obj/structure/sign/warning/fire/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"lca" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"lby" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lch" = ( /obj/machinery/computer/monitor{ dir = 1; @@ -37150,27 +38286,21 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark/smooth_large, /area/station/command/gateway) -"lcm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/decal/cleanable/ash, -/obj/item/rack_parts, -/obj/effect/mapping_helpers/burnt_floor, +"lcs" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/starboard/fore) +"lct" = ( +/obj/structure/railing, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/science/cytology) "lcu" = ( /turf/open/floor/iron/white, /area/station/science/explab) -"lcz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/fire/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"lcA" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) "lcB" = ( /obj/machinery/light/small/directional/west, /obj/structure/table/wood, @@ -37228,6 +38358,12 @@ "ldH" = ( /turf/closed/wall, /area/station/security/prison/mess) +"ldJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ldQ" = ( /obj/structure/barricade/wooden, /obj/structure/girder, @@ -37237,17 +38373,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"ldT" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/turf/open/floor/iron, -/area/station/command/bridge) "ldV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/stripes/line{ @@ -37262,21 +38387,17 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) -"leg" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/duct, -/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, -/area/station/service/hydroponics) "lei" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"lej" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lek" = ( /obj/machinery/conveyor_switch/oneway{ id = "packageSort2" @@ -37291,14 +38412,15 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"leE" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"leo" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "leM" = ( /obj/structure/railing{ dir = 8 @@ -37308,17 +38430,36 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) -"leP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"leU" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "leW" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"lfo" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + dir = 4 + }, +/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, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron, +/area/station/command/bridge) "lfp" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -37334,11 +38475,26 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"lfF" = ( -/obj/structure/sign/warning/cold_temp/directional/west, -/obj/structure/sign/warning/gas_mask/directional/east, -/turf/open/floor/plating, -/area/station/engineering/atmos) +"lfA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/light/directional/north, +/obj/machinery/door_buttons/airlock_controller{ + pixel_y = 32; + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + interior_airlock = "virology_airlock_control"; + name = "Virology Access Controller"; + req_access = list("virology") + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "lfG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37363,11 +38519,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/medical/storage) -"lgb" = ( -/obj/effect/landmark/start/botanist, -/obj/structure/chair/office/light, -/turf/open/floor/glass, -/area/station/service/hydroponics) +"lfU" = ( +/obj/effect/spawner/random/structure/grille, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lgg" = ( /obj/machinery/air_sensor/engine_chamber, /turf/open/floor/engine, @@ -37378,6 +38534,20 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"lgw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"lgx" = ( +/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/wood/parquet, +/area/station/service/bar/backroom) "lgz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -37393,12 +38563,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"lgH" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "lgK" = ( /turf/closed/wall, /area/station/security/prison/visit) @@ -37409,15 +38573,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) -"lgP" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "lgW" = ( /obj/machinery/meter/monitored/distro_loop, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, @@ -37471,6 +38626,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"lia" = ( +/turf/open/openspace, +/area/station/service/kitchen/coldroom) +"lik" = ( +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "lil" = ( /obj/structure/cable, /obj/structure/sign/poster/random/directional/west, @@ -37478,6 +38643,9 @@ /area/station/maintenance/port/fore) "lis" = ( /obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, /turf/open/floor/iron, /area/station/cargo/miningdock) "lit" = ( @@ -37489,19 +38657,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"liv" = ( -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "lix" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -37539,12 +38694,11 @@ /obj/item/toy/figure/chaplain, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ljj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/hallway/secondary/exit/departure_lounge) +"liV" = ( +/obj/structure/chair/sofa/bench/left, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ljl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37567,6 +38721,16 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ljq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ljx" = ( /obj/effect/turf_decal/plaque{ icon_state = "L1" @@ -37583,6 +38747,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"ljB" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/aft) "ljD" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -37630,14 +38804,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/textured, /area/station/commons/storage/primary) -"lka" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/medical/treatment_center) "lkb" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -37661,6 +38827,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) +"lko" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "lkr" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron, @@ -37694,42 +38869,18 @@ /obj/effect/decal/cleanable/food/pie_smudge, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"lkY" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/brown{ - dir = 4 - }, -/obj/machinery/button/door/directional/north{ - id = "miningdorm_A"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -24; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/donk, -/area/mine/production) "lli" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"llm" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/structure/rack, -/obj/structure/disposalpipe/segment{ +"lln" = ( +/obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) +/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/medical/morgue) "llw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37742,8 +38893,28 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white, /area/station/medical/psychology) +"llR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/pen/red, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/yellow, +/obj/machinery/button/door/directional/west{ + id = "qmprivacy"; + name = "Privacy Shutters Control"; + req_access = list("qm") + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "llT" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -37792,6 +38963,14 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/office) +"lmx" = ( +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "lmy" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 @@ -37822,26 +39001,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"lmY" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/camera{ - c_tag = "Research Division Lobby"; - dir = 10; - network = list("ss13","rd") - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/stripes/corner{ +"lmQ" = ( +/obj/effect/turf_decal/tile/bar{ dir = 4 }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, +/obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lmT" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Chapel North" + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "lnc" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/storage/tools) +"lne" = ( +/obj/structure/table/glass, +/obj/item/seeds/glowshroom, +/obj/item/seeds/bamboo{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/machinery/newscaster/directional/east, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lnk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -37869,12 +39059,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"lnw" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/chapel) "lnx" = ( /obj/structure/closet/crate/preopen, /turf/open/floor/plating/snowed/icemoon, @@ -37884,23 +39068,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lnE" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/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/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "lnL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/large, @@ -37931,15 +39098,11 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) -"lop" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage) +"lom" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "loq" = ( /obj/structure/light_construct/directional/east, /turf/open/floor/iron, @@ -37955,11 +39118,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig/upper) -"loG" = ( -/obj/structure/closet/secure_closet/chief_medical, -/obj/item/screwdriver, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) +"loF" = ( +/obj/structure/table/wood, +/obj/item/toy/mecha/honk{ + pixel_y = 12 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/theater) +"loO" = ( +/obj/structure/statue/snow/snowman, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "loV" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -37992,6 +39162,10 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"lpy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "lpC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38046,6 +39220,13 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"lqi" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/rcl/pre_loaded, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "lqj" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -38081,6 +39262,36 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"lqL" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"lqM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"lqN" = ( +/obj/structure/rack, +/obj/item/controller{ + pixel_x = -7 + }, +/obj/item/compact_remote{ + pixel_x = -7 + }, +/obj/item/compact_remote{ + pixel_x = -7 + }, +/obj/item/integrated_circuit/loaded/speech_relay{ + pixel_x = 7 + }, +/obj/item/integrated_circuit/loaded/hello_world{ + pixel_x = 7 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/sign/warning/firing_range/directional/north, +/turf/open/floor/iron/white/corner, +/area/station/science/explab) "lqU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -38090,6 +39301,17 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) +"lqZ" = ( +/obj/machinery/vending/wardrobe/coroner_wardrobe, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "lrc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38100,17 +39322,13 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lry" = ( -/obj/structure/table, -/obj/item/storage/box/bodybags{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Chapel Coffin Storage" - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"lrl" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "lrz" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/trash/janitor_supplies, @@ -38123,14 +39341,13 @@ /obj/structure/curtain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) -"lrE" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/item/bikehorn/rubberducky, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"lrM" = ( +/obj/effect/turf_decal/siding/wideplating_new/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) "lsa" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; @@ -38140,11 +39357,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) -"lsh" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "lsi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38154,26 +39366,34 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"lsn" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/stairs/south, +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/security/prison) "lso" = ( /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lsH" = ( -/obj/machinery/door/firedoor, -/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 = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ +"lsA" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/effect/turf_decal/stripes/white/line{ +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"lsF" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "lsN" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -38206,6 +39426,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ltH" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"ltP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "ltV" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -38219,10 +39451,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"ltY" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway North-East" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "lub" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"luk" = ( +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Captain's Office"; + name = "Captain's Fax Machine" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "lup" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 @@ -38235,63 +39486,117 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"luJ" = ( -/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/heavy, -/obj/machinery/door/airlock/research{ - name = "Ordnance Lab" +"luD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/effect/turf_decal/tile/dark/half/contrasted{ - dir = 1 +/obj/structure/table/glass, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = 3; + pixel_y = 3 }, -/turf/open/floor/iron/white/side, -/area/station/science/ordnance/office) -"luR" = ( +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = -3; + pixel_y = 9 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) +"luG" = ( /obj/item/toy/snowball{ - pixel_x = 9; - pixel_y = 1 + pixel_x = 5; + pixel_y = -1 }, /turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"luI" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"luP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"luR" = ( +/obj/structure/chair/office/tactical{ + dir = 1 + }, +/obj/effect/landmark/start/coroner, +/obj/effect/turf_decal/siding/dark_blue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "lva" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology) -"lvh" = ( -/obj/structure/window/reinforced/spawner/directional/south, +"lvb" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/storage/box/syringes{ + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/storage/box/beakers{ + pixel_y = 5; + pixel_x = -9 + }, /turf/open/floor/iron, -/area/station/science/xenobiology) +/area/station/service/hydroponics) "lvk" = ( /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/fitness) -"lvm" = ( -/obj/machinery/camera/motion/directional/north{ - c_tag = "EVA Storage North" +"lvl" = ( +/obj/structure/chair{ + dir = 1; + name = "Command Station" }, -/obj/structure/sign/warning/secure_area/directional/north, -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/dark/smooth_half{ - dir = 1 +/obj/machinery/keycard_auth{ + pixel_x = 29; + pixel_y = 8 }, -/area/station/ai_monitored/command/storage/eva) +/turf/open/floor/iron, +/area/station/command/bridge) "lvt" = ( /turf/open/openspace/icemoon, /area/icemoon/underground/explored) -"lvv" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) -"lvy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"lvA" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "lvB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38318,9 +39623,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/eva) +"lvR" = ( +/obj/machinery/vatgrower{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "lvS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/machinery/flasher/directional/east{ + id = "brigentry" + }, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -38332,6 +39646,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva) +"lvU" = ( +/obj/structure/closet/crate, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/security/prison/work) "lvW" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, @@ -38370,6 +39695,15 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"lwI" = ( +/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/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lwO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38411,14 +39745,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/storage/tools) -"lxn" = ( -/obj/machinery/biogenerator, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/green/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) +"lxi" = ( +/obj/structure/closet/toolcloset, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/construction) "lxu" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ dir = 4 @@ -38426,6 +39758,10 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"lxR" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "lxT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/decal/cleanable/dirt, @@ -38443,6 +39779,11 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"lxY" = ( +/obj/structure/closet/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "lye" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -38452,40 +39793,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"lyf" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "lyg" = ( /turf/closed/wall/r_wall, /area/station/security/brig) -"lyh" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EVA2"; - location = "Dorm" - }, -/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{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"lyl" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/dark, -/area/station/medical/treatment_center) "lyq" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -38499,13 +39809,16 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) -"lyv" = ( -/obj/structure/table/wood/poker, -/obj/item/trash/candle{ - pixel_y = 3 +"lyy" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/computer/gateway_control, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/dark, +/area/station/command/gateway) "lyG" = ( /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) @@ -38514,26 +39827,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"lyP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera{ - c_tag = "Service - Botany Lower Entrance"; - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"lyU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "lyX" = ( /obj/structure/chair{ dir = 4 @@ -38541,10 +39834,18 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"lzc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"lzb" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters" + }, +/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/command/captain, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "lzq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38590,6 +39891,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"lzJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lzM" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -38606,6 +39914,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"lzU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/sign/warning/pods/directional/north, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "lzX" = ( /obj/machinery/light/floor, /turf/open/floor/iron/white, @@ -38655,6 +39983,22 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"lAW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "lBo" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, @@ -38666,10 +40010,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"lBB" = ( +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "lBD" = ( /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"lBN" = ( +/obj/machinery/door/morgue{ + name = "Coffin Storage"; + req_access = list("chapel_office"); + dir = 2 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "lBR" = ( /turf/closed/wall, /area/station/security/prison/toilet) @@ -38696,6 +40052,14 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"lCc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "lCg" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -38706,26 +40070,24 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lCv" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/closet/crate/wooden/toy, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +"lCn" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "lCz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/bot, /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"lCA" = ( -/obj/machinery/computer/order_console/mining, -/obj/machinery/light/small/directional/south, -/obj/machinery/light_switch/directional/south, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/mine/production) "lCC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38745,16 +40107,6 @@ dir = 1 }, /area/station/engineering/lobby) -"lCM" = ( -/obj/structure/closet/crate, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"lCO" = ( -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lCV" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38827,13 +40179,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"lDE" = ( -/obj/structure/sign/poster/official/safety_report/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/prison/visit) "lDF" = ( /obj/structure/table, /obj/item/wrench, @@ -38867,25 +40212,6 @@ /obj/structure/cable, /turf/open/floor/carpet/blue, /area/station/security/prison/work) -"lEb" = ( -/obj/machinery/door/airlock/multi_tile/public/glass{ - dir = 4; - name = "Service Hall" - }, -/obj/effect/turf_decal/siding/dark/corner, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "lEg" = ( /obj/machinery/door/window/left/directional/north{ name = "AI Core Door"; @@ -38897,17 +40223,6 @@ "lEj" = ( /turf/open/floor/iron/dark/textured, /area/station/security/processing) -"lEn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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) "lEo" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment{ @@ -38915,13 +40230,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lEt" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) "lEv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38954,15 +40262,43 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"lEK" = ( -/obj/machinery/door/firedoor, -/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/effect/landmark/start/hangover, +"lEJ" = ( +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron, -/area/station/hallway/primary/aft) +/area/station/commons/storage/mining) +"lEM" = ( +/obj/structure/rack, +/obj/item/hand_labeler, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/machinery/button/door/directional/east{ + id = "Trial Transfer"; + name = "Trial Transfer Lockdown"; + req_access = list("brig") + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "lEO" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -38982,6 +40318,20 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/station/command/bridge) +"lFb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "lFe" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/iron/dark/textured, @@ -39033,13 +40383,31 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"lGb" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/flashlight{ + pixel_y = 2 + }, +/obj/structure/lattice/catwalk, +/obj/machinery/camera/directional/south{ + c_tag = "Ordnance Lower Mix Lab"; + network = list("ss13","rd") + }, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "lGd" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"lGf" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/genturf/blue, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "lGh" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -39051,11 +40419,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"lGo" = ( -/obj/machinery/hydroponics/soil, -/obj/structure/sign/poster/contraband/kudzu/directional/east, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "lGp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -39083,6 +40446,12 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/iron, /area/station/hallway/primary/port) +"lGH" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "lGK" = ( /obj/machinery/vending/cigarette, /obj/machinery/button/door{ @@ -39105,29 +40474,11 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"lHi" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"lHm" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron, -/area/station/science/explab) -"lHr" = ( -/obj/structure/stairs/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"lGN" = ( +/obj/effect/landmark/start/botanist, +/obj/structure/chair/office/light, +/turf/open/floor/glass, +/area/station/service/hydroponics) "lHu" = ( /obj/structure/closet/secure_closet/brig, /obj/structure/cable, @@ -39138,16 +40489,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/fore) -"lHB" = ( -/obj/machinery/camera{ - c_tag = "Chapel North"; - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "lHC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39167,17 +40508,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) -"lHI" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lHL" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/corner{ @@ -39191,6 +40521,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"lHV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/smartfridge/organ, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "lIk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -39205,13 +40540,6 @@ }, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) -"lIs" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "lIt" = ( /obj/machinery/modular_computer/preset/cargochat/security{ dir = 4 @@ -39246,16 +40574,10 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron, /area/station/tcommsat/computer) -"lIK" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/turretid{ - name = "AI Chamber turret control"; - pixel_x = 5; - pixel_y = -24 - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) +"lIP" = ( +/obj/effect/mapping_helpers/trapdoor_placer, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/medical/medbay/central) "lIQ" = ( /obj/item/restraints/legcuffs/beartrap, /obj/item/restraints/legcuffs/beartrap, @@ -39268,60 +40590,28 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) -"lIT" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/hallway/secondary/entry) -"lIU" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/table, -/obj/structure/bedsheetbin, -/obj/structure/sign/clock/directional/west, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +"lIW" = ( +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat_interior) +"lJg" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/iron, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"lIW" = ( +"lJn" = ( +/obj/effect/decal/cleanable/confetti, +/obj/structure/closet/crate/cardboard, +/obj/item/storage/cans/sixbeer, +/obj/effect/spawner/random/food_or_drink/cups, /turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) -"lJc" = ( -/obj/item/food/chococoin, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +/area/station/maintenance/starboard/fore) "lJO" = ( /turf/closed/wall, /area/station/maintenance/port/fore) -"lJS" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Security - Permabrig Lower Hallway Stairwell"; - network = list("ss13","prison") - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) -"lJW" = ( -/obj/machinery/smartfridge, -/obj/machinery/door/window/right/directional/south{ - name = "Produce Access"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lKc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -39364,15 +40654,13 @@ /obj/structure/closet/radiation, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"lKZ" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +"lKN" = ( +/obj/machinery/door/window/left/directional/west{ + req_access = list("hydroponics"); + name = "Hydroponics Equipment" }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "lLf" = ( /obj/structure/table/wood, /obj/item/storage/dice, @@ -39394,6 +40682,17 @@ "lLm" = ( /turf/open/floor/iron/cafeteria, /area/station/maintenance/port/aft) +"lLA" = ( +/obj/structure/sign/warning/fire{ + pixel_y = 32 + }, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"lLD" = ( +/obj/structure/closet/firecloset, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/main) "lLE" = ( /obj/machinery/netpod, /obj/machinery/camera/autoname/directional/south, @@ -39404,20 +40703,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"lLR" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lLY" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/recharge_floor, /area/mine/mechbay) +"lMa" = ( +/obj/item/trash/pistachios, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "lMd" = ( /obj/structure/table, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -39426,12 +40728,9 @@ pixel_y = 6 }, /obj/item/food/cheesiehonkers, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/cargo/office) -"lMe" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/kitchen) "lMg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39444,19 +40743,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"lMu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "xenobio5"; - name = "Xenobio Pen 5 Blast Door" - }, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/science/xenobiology) "lMC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -39484,15 +40770,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"lNk" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/library) "lNy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39512,12 +40789,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"lNE" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "lNG" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Office" @@ -39555,22 +40826,39 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"lOq" = ( -/obj/effect/turf_decal/stripes/line{ +"lNV" = ( +/obj/structure/closet/wardrobe/grey, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/commons/locker) +"lOa" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing{ dir = 1 }, -/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) +"lOr" = ( +/obj/structure/railing, +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/security/brig) +"lOt" = ( +/obj/structure/falsewall, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"lOz" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm2"; - name = "Dorm 2" +/area/station/medical/morgue) +"lOA" = ( +/obj/structure/minecart_rail{ + dir = 1 }, -/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/dorms) +/obj/item/radio/intercom/directional/west{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "lOI" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 5 @@ -39578,6 +40866,13 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"lOJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lOP" = ( /obj/structure/table, /obj/item/paper, @@ -39597,6 +40892,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/electrical) +"lOV" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "lPb" = ( /obj/structure/railing/corner, /obj/structure/railing/corner{ @@ -39619,6 +40923,17 @@ }, /turf/open/floor/iron/sepia, /area/station/service/library) +"lPl" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"lPq" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "lPr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39626,14 +40941,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lPz" = ( -/mob/living/basic/pet/penguin/baby/permanent, -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = -3 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) +"lPs" = ( +/obj/structure/girder, +/obj/structure/grille, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "lPC" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -39676,17 +40988,16 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"lPQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "lQc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/office) +"lQe" = ( +/obj/machinery/vending/wardrobe/engi_wardrobe, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/storage_shared) "lQf" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -39712,6 +41023,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/carpet, /area/station/commons/dorms) +"lQv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external/glass{ + name = "Garden Access" + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "lQw" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ color = "#ff0000"; @@ -39742,7 +41062,7 @@ /obj/structure/table/glass, /obj/item/flashlight/lamp, /obj/effect/turf_decal/tile/blue/full, -/obj/machinery/firealarm/directional/west, +/obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "lQN" = ( @@ -39777,6 +41097,21 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"lRj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/item/kirbyplants/organic/plant10, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"lRn" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/commons/dorms/laundry) "lRs" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -39830,6 +41165,21 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"lRK" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"lRO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lRR" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 6 @@ -39869,39 +41219,25 @@ "lSu" = ( /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"lSw" = ( -/obj/structure/tank_dispenser{ - pixel_x = -1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Monitoring" - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) -"lSF" = ( -/obj/machinery/door/firedoor, -/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/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) "lSP" = ( /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/commons/storage/mining) +"lSX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "lTa" = ( /obj/effect/turf_decal/trimline/red/warning{ dir = 10 @@ -39909,6 +41245,12 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"lTl" = ( +/obj/structure/closet/crate/grave, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "lTs" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -39922,12 +41264,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"lUa" = ( -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "lUb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass{ @@ -40005,6 +41341,12 @@ dir = 4 }, /area/station/engineering/storage_shared) +"lVr" = ( +/obj/structure/fence/cut/medium{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lVt" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/light/floor, @@ -40037,15 +41379,15 @@ }, /turf/open/floor/wood, /area/station/service/library) -"lVN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 1 - }, +"lVS" = ( +/obj/structure/sign/departments/xenobio/directional/east, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/aft/greater) +"lVU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "lVY" = ( /obj/effect/turf_decal/siding/thinplating_new/corner{ dir = 4 @@ -40065,6 +41407,25 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) +"lWd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "lWf" = ( /obj/structure/mop_bucket/janitorialcart, /turf/open/floor/plating, @@ -40077,29 +41438,9 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"lWj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/closet/secure_closet/medical3, -/obj/item/defibrillator/loaded{ - pixel_y = 3 - }, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/clothing/gloves/latex/nitrile, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/storage) -"lWy" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/mine/laborcamp) +"lWG" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) "lWI" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -40122,12 +41463,13 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) -"lXC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) +"lXA" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/white, +/obj/machinery/mining_weather_monitor/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "lXJ" = ( /obj/structure/railing{ dir = 1 @@ -40138,6 +41480,13 @@ dir = 9 }, /area/station/security/prison/workout) +"lYd" = ( +/obj/machinery/computer/order_console/mining, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/mine/production) "lYg" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/east, @@ -40152,12 +41501,10 @@ }, /turf/open/floor/grass, /area/station/medical/virology) -"lYS" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +"lYT" = ( +/obj/structure/table, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "lZe" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -40169,11 +41516,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lZP" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "lZQ" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/computer/cargo{ @@ -40206,26 +41548,23 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"maw" = ( -/obj/structure/cable, -/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/fore) "maB" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) "maM" = ( -/obj/item/paper/fluff/jobs/security/beepsky_mom, -/obj/machinery/light/small/dim/directional/east, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/hydroponics/constructable, +/obj/item/seeds/soya, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/green{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/mine/laborcamp) "maO" = ( /obj/machinery/disposal/bin, /obj/structure/window/reinforced/spawner/directional/south, @@ -40254,18 +41593,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/storage) -"maX" = ( -/obj/machinery/door/firedoor, -/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/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "maY" = ( /obj/item/wrench, /obj/item/weldingtool, @@ -40276,16 +41603,15 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"mbb" = ( -/obj/structure/cable, -/obj/machinery/button/door/directional/west{ - id = "xenobio1"; - name = "Xenobio Pen 1 Blast Door"; - req_access = list("xenobiology") +"mbe" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 }, -/obj/machinery/light/floor, -/turf/open/floor/iron, -/area/station/science/xenobiology) +/obj/effect/spawner/random/entertainment/cigar, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "mbk" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue{ @@ -40294,6 +41620,14 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"mbm" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/holopad, +/obj/machinery/light/warm/directional/north, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/service/bar) "mbn" = ( /obj/machinery/light/directional/north, /obj/structure/chair, @@ -40313,6 +41647,10 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/wood, /area/station/security/prison/rec) +"mbq" = ( +/obj/structure/closet/crate, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "mbt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40320,6 +41658,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/tcommsat/computer) +"mbw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/navigate_destination/kitchen, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "mbB" = ( /obj/machinery/newscaster/directional/west, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -40345,16 +41696,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"mbJ" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "mbK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white/side{ dir = 5 }, /area/station/science/research) -"mbT" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) +"mbM" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "mbZ" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/door/airlock/security{ @@ -40373,6 +41728,17 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) +"mch" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/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/starboard/fore) "mco" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -40391,6 +41757,15 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) +"mct" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/mine/eva/lower) "mcF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40406,26 +41781,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) -"mcQ" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) -"mcT" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "mcW" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"mde" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/item/kirbyplants/random/dead/research_director, +/obj/machinery/computer/security/telescreen/rd/directional/west, +/turf/open/floor/iron/smooth_half, +/area/station/command/heads_quarters/rd) "mdl" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -40439,6 +41806,12 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/work) +"mdy" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Morgue Hallway" + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mdE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40448,6 +41821,14 @@ dir = 1 }, /area/station/science/explab) +"mdI" = ( +/obj/machinery/door/airlock/atmos{ + name = "Turbine"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "mdM" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/eva{ @@ -40463,13 +41844,6 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/textured, /area/station/ai_monitored/command/storage/eva) -"mdQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "mdS" = ( /obj/item/paper_bin{ pixel_x = 1; @@ -40482,10 +41856,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"mdV" = ( -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "mdX" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -40500,6 +41870,15 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"met" = ( +/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/trimline/red/filled/warning{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "meG" = ( /obj/item/kirbyplants/random, /obj/structure/cable, @@ -40537,12 +41916,20 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"meW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"meX" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"meZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/structure/sign/poster/official/random/directional/north, +/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) "mfc" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -40557,6 +41944,16 @@ "mfH" = ( /turf/closed/wall/r_wall, /area/station/security/brig/upper) +"mfP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/decal/cleanable/vomit/old, +/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) "mfV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -40568,6 +41965,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"mfX" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "mga" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens - Port Mid"; @@ -40591,25 +42000,48 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mgy" = ( -/obj/effect/turf_decal/stripes/line, +"mgo" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"mgs" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "riot"; + name = "Security Shutters" + }, +/obj/structure/sign/departments/court/directional/west, +/turf/open/floor/glass/reinforced, +/area/station/hallway/primary/fore) +"mgv" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "mgD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"mgS" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "mgU" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) -"mgV" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Central Hallway West" - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "mgZ" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/closet/secure_closet/contraband/armory, @@ -40628,17 +42060,6 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"mhj" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) -"mhq" = ( -/obj/structure/closet, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/starboard/upper) "mhx" = ( /obj/effect/turf_decal/bot, /obj/effect/landmark/secequipment, @@ -40661,6 +42082,24 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"miK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/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, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "miS" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -40676,22 +42115,17 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mjf" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "mjg" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) -"mjs" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"mjt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) "mjH" = ( /obj/structure/table/optable, /obj/machinery/newscaster/directional/east, @@ -40731,6 +42165,13 @@ /obj/item/flashlight, /turf/open/floor/iron, /area/station/service/chapel) +"mjY" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "mka" = ( /obj/machinery/computer/turbine_computer{ dir = 1; @@ -40740,16 +42181,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) -"mkr" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/newscaster/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"mkb" = ( +/obj/structure/rack, +/obj/item/clothing/head/costume/fancy, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "mku" = ( /obj/effect/spawner/random/structure/grille, /obj/effect/decal/cleanable/glass, @@ -40768,37 +42204,12 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mkM" = ( -/obj/structure/disposalpipe/segment, -/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/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"mkN" = ( -/obj/machinery/computer/records/medical/laptop{ - pixel_y = 1 - }, -/obj/structure/table/reinforced, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "mld" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"mle" = ( -/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/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "mlo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40816,18 +42227,10 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"mlN" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) +"mly" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/recharge_floor, +/area/station/maintenance/department/electrical) "mlO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/east, @@ -40856,15 +42259,16 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mmf" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"mlT" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 }, -/obj/structure/railing{ - dir = 10 +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mmh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -40897,6 +42301,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"mmw" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "mmA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -40918,15 +42328,14 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay/aft) -"mmC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"mmG" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio7"; + name = "Xenobio Pen 7 Blast DOors"; + req_access = list("xenobiology") }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "mmR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40936,12 +42345,20 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"mnn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"mnm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/mine/eva/lower) +"mns" = ( +/obj/structure/lattice/catwalk, +/obj/structure/reagent_dispensers/watertank, +/turf/open/openspace, +/area/station/science/xenobiology) "mnu" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -40955,13 +42372,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mnB" = ( -/obj/structure/railing{ - dir = 5 +"mnA" = ( +/obj/item/clothing/accessory/pocketprotector, +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/camera{ + pixel_y = 4; + pixel_x = -3 }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/backpack, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mnC" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -40977,27 +42400,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"moc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +"mnW" = ( +/obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, -/turf/open/floor/iron/smooth, -/area/mine/eva/lower) -"mod" = ( -/obj/structure/closet/crate/internals, -/obj/machinery/camera{ - c_tag = "Cargo Bay B-1"; - dir = 6 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/cargo/storage) +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"moy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "moB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -41005,16 +42418,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"moE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/medical/treatment_center) "moF" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -41037,6 +42440,15 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) +"moX" = ( +/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/plating, +/area/station/maintenance/starboard/lesser) "mpe" = ( /obj/structure/cable, /obj/machinery/computer/quantum_console, @@ -41081,41 +42493,27 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"mpy" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "mpH" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"mpP" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "bridge blast"; - name = "Bridge Blast Door" - }, -/obj/effect/turf_decal/delivery, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/bridge) -"mpR" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/disposal/bin{ - desc = "A pneumatic waste disposal unit. This one leads to the morgue."; - name = "corpse disposal" - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "mpU" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics) +"mqa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/port/greater) +"mqd" = ( +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "mqe" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -41131,18 +42529,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"mqs" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, -/turf/open/floor/iron/smooth, -/area/mine/eva) -"mqy" = ( -/obj/machinery/shower/directional/west, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "mqD" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, @@ -41159,10 +42545,19 @@ dir = 4 }, /area/station/security/brig/entrance) -"mqO" = ( -/obj/machinery/power/port_gen/pacman, +"mqI" = ( +/obj/machinery/vending/boozeomat, /turf/open/floor/plating, -/area/station/maintenance/department/electrical) +/area/station/maintenance/port/aft) +"mqL" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio9"; + name = "Xenobio Pen 9 Blast DOors"; + req_access = list("xenobiology") + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "mqR" = ( /obj/structure/chair{ dir = 8; @@ -41176,25 +42571,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side, /area/station/science/research) -"mri" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/obj/structure/sign/warning/gas_mask/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore/lesser) +"mrk" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "mro" = ( /obj/structure/curtain/cloth, /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"mrw" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "mry" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, @@ -41251,10 +42636,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"msd" = ( -/obj/machinery/door/poddoor/incinerator_atmos_main, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "msf" = ( /obj/item/kirbyplants/random, /obj/machinery/computer/security/telescreen/entertainment/directional/north, @@ -41263,13 +42644,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"msg" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) "msi" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -41304,6 +42678,27 @@ /obj/item/stack/ducts/fifty, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"msu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/spawner/random/trash/caution_sign, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) +"msE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"msG" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet2"; + name = "Unit 2" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "msN" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, @@ -41322,6 +42717,29 @@ /obj/machinery/requests_console/auto_name/directional/south, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"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_y = 3; + pixel_x = 4 + }, +/obj/item/computer_disk/engineering{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/item/computer_disk/engineering{ + pixel_y = 3; + pixel_x = 4 + }, +/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, @@ -41332,6 +42750,11 @@ dir = 1 }, /area/mine/eva/lower) +"mtq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/security/courtroom) "mts" = ( /obj/effect/turf_decal/loading_area{ dir = 4 @@ -41339,26 +42762,63 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"mtt" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored/graveyard) +"mty" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/seeds/tower, +/obj/item/seeds/chanter{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/seeds/watermelon{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/item/seeds/apple{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/seeds/banana, +/obj/item/seeds/rose{ + pixel_y = -3; + pixel_x = -4 + }, +/obj/structure/noticeboard/directional/west, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_y = 3; + pixel_x = -27 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "mtI" = ( /turf/closed/wall, /area/station/science/robotics/lab) -"mtN" = ( -/obj/effect/spawner/random/entertainment/arcade{ - dir = 4 +"mtS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 +/obj/machinery/status_display/door_timer{ + pixel_x = -32; + id = "Cell 2"; + name = "Cell 2" }, -/turf/open/floor/iron/cafeteria, -/area/station/hallway/secondary/exit/departure_lounge) -"mtT" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/iron/textured, +/area/station/security/brig) +"mtV" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/dark/side, +/area/mine/eva) "mua" = ( /obj/structure/railing{ dir = 4 @@ -41399,6 +42859,20 @@ /obj/item/stack/cable_coil, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"muP" = ( +/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 = 4 + }, +/obj/structure/sign/departments/rndserver/directional/south, +/turf/open/floor/iron/white, +/area/station/science/research) +"muX" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "mvc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41443,6 +42917,9 @@ /obj/machinery/atmospherics/components/unary/passive_vent/layer2{ dir = 8 }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, /turf/open/floor/plating/snowed/icemoon, /area/station/ai_monitored/turret_protected/aisat_interior) "mwp" = ( @@ -41466,31 +42943,16 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"mwK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "mwQ" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mxc" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/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, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/ordnance) -"mxh" = ( +"mxg" = ( /obj/structure/cable, -/turf/open/floor/stone, -/area/station/commons/lounge) +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "mxj" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port Mix to East Ports" @@ -41506,6 +42968,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"mxF" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) +"mxK" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "mxM" = ( /obj/machinery/camera/directional/north{ c_tag = "Central Hallway North" @@ -41530,13 +43007,34 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"mxY" = ( -/obj/structure/minecart_rail{ - dir = 9 +"mxR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +/turf/open/floor/wood, +/area/station/commons/lounge) +"mxX" = ( +/obj/machinery/door/firedoor, +/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/effect/landmark/start/hangover, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/aft) +"mxZ" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mye" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -41593,22 +43091,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"myS" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Botany Garden Access" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"myW" = ( +/obj/structure/ore_box, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "myX" = ( /obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41630,15 +43116,32 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) -"mza" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "mzb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/science/ordnance) +"mzf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light_switch/directional/north{ + pixel_y = 37 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/bar) +"mzg" = ( +/obj/machinery/light/directional/west, +/obj/structure/closet/firecloset, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) +"mzl" = ( +/obj/structure/railing, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "mzr" = ( /obj/structure/table, /obj/item/exodrone{ @@ -41654,15 +43157,6 @@ dir = 8 }, /area/mine/eva) -"mzy" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/iron/smooth, -/area/station/maintenance/port/fore) "mzz" = ( /turf/open/floor/plating, /area/station/engineering/storage_shared) @@ -41693,6 +43187,28 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/textured_large, /area/station/security/brig/entrance) +"mzX" = ( +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"mzZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable/layer3, +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat/hallway"; + name = "Chamber Hallway Turret Control"; + pixel_x = 32; + pixel_y = -24; + req_access = list("minisat") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "mAc" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Maintenance" @@ -41706,6 +43222,12 @@ "mAe" = ( /turf/open/floor/glass/reinforced, /area/station/security/lockers) +"mAn" = ( +/obj/effect/spawner/random/trash, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mAM" = ( /obj/structure/ladder, /obj/machinery/light/small/red/directional/west, @@ -41746,6 +43268,34 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mBk" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine, +/area/station/science/explab) +"mBm" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) +"mBr" = ( +/obj/item/toy/plush/lizard_plushie{ + name = "Wines-And-Dines"; + pixel_x = 4 + }, +/obj/item/reagent_containers/cup/glass/bottle{ + pixel_x = -9 + }, +/obj/structure/sign/flag/tizira/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"mBs" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) "mBB" = ( /obj/machinery/door/poddoor/preopen{ id = "ceprivacy"; @@ -41755,6 +43305,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/ce) +"mBL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/requests_console/auto_name/directional/east, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "mBO" = ( /obj/structure/sign/poster/contraband/random/directional/east, /obj/machinery/light/small/dim/directional/west, @@ -41792,6 +43354,9 @@ }, /turf/open/floor/plating, /area/station/hallway/primary/starboard) +"mBV" = ( +/turf/open/misc/asteroid/snow/ice/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "mBX" = ( /obj/structure/table/wood, /obj/machinery/airalarm/directional/east, @@ -41800,6 +43365,27 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"mBY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/science/ordnance) +"mCd" = ( +/obj/machinery/computer/operating{ + dir = 2 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mCw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -41813,12 +43399,38 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"mCx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/dead_body_placer, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) +"mCz" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/obj/machinery/light/small/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "mCK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/construction) +"mCP" = ( +/obj/machinery/light/small/red/directional/south, +/obj/structure/chair{ + dir = 1 + }, +/obj/item/radio/intercom/chapel/directional/east, +/turf/open/floor/wood/large, +/area/station/service/chapel) "mCT" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -41827,10 +43439,6 @@ /obj/machinery/telecomms/server/presets/common, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"mDg" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/lesser) "mDo" = ( /obj/structure/bed/double, /obj/item/bedsheet/black/double, @@ -41847,15 +43455,6 @@ dir = 4 }, /area/mine/eva) -"mDv" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Bridge East Access" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "mDw" = ( /obj/structure/table/reinforced, /obj/effect/landmark/event_spawn, @@ -41865,9 +43464,23 @@ /obj/item/stamp/head/ce, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"mDy" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "mDX" = ( /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"mEb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/flasher{ + pixel_y = -30; + id = "GulagCell 3" + }, +/turf/open/floor/iron, +/area/mine/laborcamp) "mEg" = ( /obj/structure/cable, /obj/machinery/holopad/secure, @@ -41904,11 +43517,22 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"mEz" = ( +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mEB" = ( /obj/machinery/light/directional/south, /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"mEI" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "mEJ" = ( /turf/closed/wall/r_wall, /area/station/science/genetics) @@ -41924,18 +43548,49 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"mES" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron/smooth, -/area/station/maintenance/fore/lesser) "mEU" = ( /obj/structure/chair/office/light{ dir = 4 }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"mEW" = ( +/obj/structure/cable, +/obj/machinery/button/door/directional/west{ + id = "xenobio1"; + name = "Xenobio Pen 1 Blast Door"; + req_access = list("xenobiology") + }, +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/station/science/xenobiology) +"mFb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/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/door/firedoor/border_only{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "mFj" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -41976,14 +43631,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) -"mFR" = ( -/obj/structure/sign/plaques/kiddie/badger{ - pixel_y = 32 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored) "mFU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42031,13 +43678,13 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) -"mGF" = ( -/obj/effect/decal/cleanable/confetti, -/obj/structure/closet/crate/cardboard, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/random/food_or_drink/cups, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"mGH" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/stairs/north, +/turf/open/floor/iron/stairs/medium, +/area/station/cargo/storage) "mGJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42050,10 +43697,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"mGV" = ( -/obj/machinery/keycard_auth/wall_mounted/directional/south, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "mHd" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -42072,6 +43715,17 @@ /obj/machinery/brm, /turf/open/floor/iron, /area/mine/production) +"mHq" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/railing, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "mHu" = ( /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, @@ -42097,11 +43751,29 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mIe" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "mIk" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, /turf/open/floor/plating, /area/station/engineering/atmos) +"mIs" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/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/eighties, +/area/station/commons/lounge) "mIt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -42129,17 +43801,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mIT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/cigarette{ - pixel_x = 6; - pixel_y = 12 - }, -/turf/open/floor/iron, -/area/mine/eva) "mJa" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow, @@ -42187,13 +43848,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/security/prison/rec) -"mJZ" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/sign/nanotrasen, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "mKa" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42201,15 +43855,63 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"mKh" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "mKq" = ( /obj/structure/closet/secure_closet/evidence, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) +"mKA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/tank_holder/oxygen, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"mKC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/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/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/aft) +"mKJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/large, +/area/station/hallway/secondary/entry) +"mKO" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "mLa" = ( /obj/item/kirbyplants/random, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"mLd" = ( +/obj/effect/turf_decal/siding/green{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "mLm" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -42217,12 +43919,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) -"mLo" = ( -/obj/structure/rack, -/obj/item/crowbar, -/obj/item/picket_sign, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "mLt" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -42260,16 +43956,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"mLX" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/work) "mMb" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"mMi" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "mMk" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -42289,10 +43990,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet, /area/station/service/library) -"mMI" = ( -/obj/structure/secure_safe/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "mMM" = ( /turf/closed/wall/r_wall, /area/station/security/prison) @@ -42321,19 +44018,42 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"mMZ" = ( +"mNi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"mNt" = ( /obj/structure/cable, -/obj/effect/turf_decal/box/red/corners{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/stripes/white/line{ dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "mNy" = ( /obj/effect/turf_decal/tile/green{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"mNB" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -42352,6 +44072,10 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"mNP" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "mNY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/aft) @@ -42388,16 +44112,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"mOH" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/fitness) "mOL" = ( /obj/machinery/airalarm/directional/south, /obj/structure/disposalpipe/segment{ @@ -42423,10 +44137,41 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"mPl" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/hydroponics) +"mPp" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/report_crimes/directional/north, +/turf/open/floor/iron, +/area/mine/laborcamp) "mPq" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"mPr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "mPv" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay Storage" @@ -42436,13 +44181,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) -"mPG" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "mPH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42461,22 +44199,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"mPO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/sign/warning/radiation/rad_area/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) -"mPQ" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/decoration/ornament, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "mQb" = ( /obj/structure/flora/grass/both/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -42506,17 +44228,6 @@ }, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"mQr" = ( -/obj/machinery/modular_computer/preset/id, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera{ - c_tag = "Chief Medical Office North"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/cmo) "mQG" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/iron/dark, @@ -42529,27 +44240,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"mRp" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) "mRr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"mRv" = ( -/obj/structure/chair/stool/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) +"mRy" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "mRG" = ( /obj/structure/table, /obj/item/book/manual/wiki/atmospherics, @@ -42571,15 +44271,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"mRN" = ( -/obj/structure/railing, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/four, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mRU" = ( /obj/effect/decal/cleanable/insectguts, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -42587,31 +44278,10 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mSv" = ( -/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/cyclelink_helper_multi{ - cycle_id = "sci-med-passthrough" - }, -/obj/machinery/door/airlock/research{ - name = "Research Access" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/white, -/area/station/maintenance/aft/greater) -"mSH" = ( -/obj/structure/fence{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +"mRY" = ( +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "mSL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42628,10 +44298,35 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"mSP" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plating, +/area/station/cargo/storage) "mSQ" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/ice, /area/icemoon/surface/outdoors/nospawn) +"mSX" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"mSY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/command/gateway) "mTc" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -42647,15 +44342,6 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"mTA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "mTI" = ( /obj/structure/sink/kitchen/directional/south{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -42664,69 +44350,22 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"mTL" = ( -/obj/structure/closet/secure_closet/bar, -/obj/machinery/firealarm/directional/north{ - pixel_x = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5; - pixel_y = 28 - }, -/obj/item/vending_refill/cigarette, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "mTS" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"mTW" = ( -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) -"mTX" = ( -/obj/structure/barricade/wooden, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) -"mUf" = ( -/obj/structure/railing{ - dir = 9 - }, -/obj/machinery/button/door/directional/east{ - id = "drone_bay"; - name = "Shutter Control"; - pixel_y = -8 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "mUs" = ( /obj/machinery/light/directional/south, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"mUz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/decal/cleanable/insectguts, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/cold_temp/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +"mUt" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored/graveyard) "mUE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -42734,20 +44373,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mUW" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/trash/botanical_waste, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"mVe" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) -"mVm" = ( -/obj/structure/grille/broken, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "mVp" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, @@ -42771,15 +44396,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"mVI" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/work) "mVN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/broken/directional/north, @@ -42787,20 +44403,20 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mVW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" +"mVS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mWf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42909,6 +44525,9 @@ /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/border_only{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "mXi" = ( @@ -42937,19 +44556,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"mXD" = ( -/obj/structure/rack, -/obj/item/mecha_parts/mecha_equipment/drill, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/smooth, -/area/mine/mechbay) -"mXH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/large, -/area/station/hallway/secondary/entry) "mXK" = ( /obj/structure/table, /obj/structure/reagent_dispensers/servingdish, @@ -42968,11 +44574,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"mXW" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "mYh" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) @@ -42987,10 +44588,22 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) -"mYn" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +"mYp" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" + }, +/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 = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "mYq" = ( /obj/machinery/requests_console/directional/north{ department = "Research Director's Desk"; @@ -43019,12 +44632,38 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"mYA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/kirbyplants/random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"mYG" = ( +/obj/effect/turf_decal/bot, +/obj/structure/noticeboard/hop{ + pixel_y = 36 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "mYJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"mYR" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/item/hand_labeler{ + pixel_y = -3 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "mZf" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -43083,6 +44722,17 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/aft/greater) +"mZI" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Xenobiology Maintenance" + }, +/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/science/xenobio, +/obj/structure/sign/warning/biohazard/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "mZJ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/north, @@ -43094,11 +44744,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness) -"mZS" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"mZT" = ( +/obj/structure/table/wood, +/obj/item/cigarette/cigar{ + pixel_x = 7; + pixel_y = 10 + }, +/obj/item/storage/box/matches, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "mZV" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical{ @@ -43117,12 +44771,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nah" = ( -/obj/machinery/chem_heater/withbuffer, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/yellow/full, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/pharmacy) "naq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -43143,6 +44791,16 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/storage) +"naF" = ( +/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/aft/greater) "naP" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -43178,13 +44836,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nbl" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "nbm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -43206,23 +44857,16 @@ dir = 1 }, /area/station/command/heads_quarters/rd) -"nbt" = ( -/obj/machinery/computer/security/hos, -/obj/machinery/requests_console/directional/north{ - department = "Head of Security's Desk"; - name = "Head of Security Requests Console" +"nbs" = ( +/obj/structure/fireplace{ + pixel_x = -32 }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/button/door/directional/north{ - id = "hosspace"; - name = "Icemoon Shutters Control"; - pixel_x = -24 +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light_switch/directional/north{ + pixel_x = 9 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hos) +/turf/open/floor/stone, +/area/mine/eva/lower) "nbw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43233,18 +44877,27 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"nbz" = ( +/obj/structure/chair/wood, +/obj/effect/mapping_helpers/no_atoms_ontop, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"nbB" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nbC" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/station/medical/treatment_center) -"nbI" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"nbG" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark/side, +/area/station/service/chapel) "nbJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43259,57 +44912,31 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/eva/lower) -"nbL" = ( -/obj/structure/table/wood, -/obj/item/camera, -/obj/item/taperecorder, -/obj/item/radio/intercom/directional/east, -/obj/structure/sign/painting/library_private{ - pixel_y = 32 +"nbK" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, -/obj/item/storage/photo_album/library, -/turf/open/floor/engine/cult, -/area/station/service/library) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Departure Lounge Holding Area" + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "nbM" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 5 }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"nbO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"nbP" = ( -/obj/structure/bonfire/prelit, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nbT" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/primary) -"nbU" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = 3 - }, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = -3 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/camera{ - c_tag = "Cargo Bay Drone Bay"; - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/drone_bay) "nbW" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -43332,33 +44959,30 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ncc" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 +"nce" = ( +/obj/structure/sign/warning/fire/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"nch" = ( +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/paper{ - pixel_y = 4 +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 6 }, -/obj/item/pen{ - pixel_x = -5 +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"ncd" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"nce" = ( -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) +/obj/structure/sign/poster/official/safety_internals/directional/north, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/ai_monitored/command/storage/eva) "nci" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43378,17 +45002,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/locker) -"ncx" = ( -/obj/structure/table/wood, -/obj/item/soap/deluxe{ - pixel_y = 11 - }, -/obj/item/soap/deluxe{ - pixel_y = 6 - }, -/obj/item/soap/deluxe, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "ncB" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Walkway" @@ -43402,14 +45015,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) -"ncO" = ( -/obj/machinery/shower/directional/east, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = -29 - }, -/turf/open/floor/iron/smooth, -/area/mine/living_quarters) "ncR" = ( /turf/closed/wall/r_wall, /area/station/security/courtroom) @@ -43476,32 +45081,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ndK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/conveyor{ - dir = 8; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "ndO" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/west, +/obj/machinery/status_display/ai/directional/west, /turf/open/floor/wood, /area/station/service/library) "nea" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ id = "hosspace"; - name = "Space Shutters" + name = "Privacy Shutters" }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) @@ -43517,16 +45106,13 @@ dir = 5 }, /area/station/security/prison) -"nek" = ( -/obj/machinery/flasher/directional/north{ - id = "Cell 1" - }, -/obj/structure/bed{ - dir = 1; - pixel_x = -2 - }, -/turf/open/floor/iron/smooth, -/area/station/security/brig) +"nej" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "neq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted, @@ -43545,13 +45131,11 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"neC" = ( -/obj/structure/chair{ - dir = 1; - name = "Prosecution" - }, -/turf/open/floor/wood, -/area/station/security/courtroom) +"neE" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "neF" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -43573,51 +45157,11 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"neM" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"neQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/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) "neR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"neV" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/structure/cable, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/mod/module/signlang_radio, -/obj/item/mod/module/thermal_regulator, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "nfd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -43662,21 +45206,29 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"nfG" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" +"nfE" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"nfK" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) +"nfF" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"nfS" = ( +/obj/machinery/door/morgue{ + name = "Confession Booth (Chaplain)"; + req_access = list("chapel_office"); dir = 4 }, -/obj/structure/cable, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/chapel) "nfU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43686,25 +45238,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"nfW" = ( -/obj/machinery/computer/mecha{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/keycard_auth/wall_mounted/directional/south, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Research Director's Office"; - network = list("ss13","rd") - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) -"ngh" = ( -/obj/structure/fence{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"ngb" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/atmospherics, +/obj/item/holosign_creator/atmos, +/obj/item/holosign_creator/atmos, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "ngj" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -43723,6 +45263,17 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/production) +"ngo" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8; + name = "Exfiltrate Port" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "ngM" = ( /obj/structure/lattice/catwalk, /obj/structure/fence/door{ @@ -43733,23 +45284,11 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"ngY" = ( -/obj/structure/sign/warning/cold_temp, -/turf/closed/wall, -/area/station/service/chapel) "ngZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"nhb" = ( -/obj/machinery/power/solar_control{ - id = "auxsolareast"; - name = "Port Bow Solar Control" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "nhf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43760,16 +45299,6 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"nhv" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nhw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -43789,13 +45318,11 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/engine, /area/station/science/genetics) -"nhS" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/item/radio/intercom/directional/west, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) +"nhO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron/grimy, +/area/station/maintenance/aft/greater) "nhT" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -43849,13 +45376,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"niC" = ( -/obj/structure/cable, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/research) +"niE" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "niG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -43865,6 +45390,28 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/mine/eva/lower) +"niO" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"niU" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/aft) "niY" = ( /obj/effect/spawner/random/trash/bin, /turf/open/floor/plating, @@ -43880,39 +45427,47 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) -"njf" = ( -/obj/machinery/plate_press, -/turf/open/floor/iron/dark/smooth_half, -/area/station/security/prison/work) "nji" = ( /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"njj" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/service/kitchen) "njm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/transit_tube) -"njz" = ( -/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/freezer, -/area/station/service/kitchen/coldroom) "njA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"njD" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Gateway" + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/item/emergency_bed{ + pixel_x = -1 + }, +/obj/item/emergency_bed{ + pixel_x = 4 + }, +/obj/item/storage/medkit/regular{ + pixel_y = 1 + }, +/turf/open/floor/iron, +/area/station/command/gateway) "njJ" = ( /turf/closed/wall, /area/mine/laborcamp) -"njM" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "njO" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -43952,14 +45507,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) -"nkI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/structure/tank_holder/oxygen, +"nkE" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, -/area/station/maintenance/port/aft) +/area/station/maintenance/starboard/fore) +"nkH" = ( +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "nkO" = ( /obj/structure/table, /obj/item/storage/box/matches, @@ -43972,22 +45531,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/vault, /area/station/security/prison/rec) -"nla" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"nll" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stack/sheet/plasteel/twenty{ - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage) "nlp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44003,17 +45546,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction) -"nlA" = ( -/obj/item/clothing/head/beanie/orange{ - pixel_y = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/wheelys/skishoes{ - pixel_y = -8 - }, -/obj/effect/decal/remains/human, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nlJ" = ( /obj/structure/railing{ dir = 5 @@ -44026,14 +45558,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) -"nlN" = ( -/obj/structure/cable/multilayer/multiz, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/medical/chemistry) "nlO" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -44071,16 +45595,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nmi" = ( -/obj/structure/closet/chefcloset, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/obj/structure/sign/poster/official/cleanliness/directional/west, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "nmj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44128,12 +45642,6 @@ /obj/effect/spawner/random/contraband/cannabis, /turf/open/floor/grass, /area/station/security/prison/garden) -"nmu" = ( -/obj/structure/sign/warning/xeno_mining/directional/east, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/cargo/warehouse) "nmx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44141,18 +45649,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nmy" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/structure/railing/corner/end{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nmz" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -44160,23 +45656,6 @@ }, /turf/open/openspace, /area/station/science/ordnance/office) -"nmA" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) "nmC" = ( /obj/machinery/iv_drip, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -44184,6 +45663,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"nmD" = ( +/obj/structure/sign/departments/holy/directional/west, +/turf/open/openspace, +/area/station/service/chapel) +"nmH" = ( +/obj/structure/disposalpipe/segment, +/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/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "nmI" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured, @@ -44202,15 +45696,13 @@ /obj/effect/landmark/navigate_destination/library, /turf/open/floor/wood, /area/station/service/library) -"nmO" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/structure/railing/wooden_fence{ - dir = 8 +"nnj" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/wood, +/area/station/security/courtroom) "nnl" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window/reinforced/plasma, @@ -44226,6 +45718,20 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"nnp" = ( +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/engineering/lobby) "nnw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/closed/wall/r_wall, @@ -44242,20 +45748,14 @@ /obj/machinery/vending/assist, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"nnM" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "nnR" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"nof" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/stone, +/area/station/commons/lounge) "noi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/airalarm/directional/east, @@ -44272,11 +45772,6 @@ /obj/effect/turf_decal/tile/purple/anticorner/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos) -"non" = ( -/obj/structure/stairs/south, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/virology) "nor" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -44288,15 +45783,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"noF" = ( +"noJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, -/obj/machinery/light/directional/east, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/help_others/directional/north, /turf/open/floor/iron, -/area/station/command/heads_quarters/qm) +/area/station/commons/dorms) "noM" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -44309,11 +45806,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"noQ" = ( -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "noR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44356,11 +45848,11 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/warden) "npo" = ( -/obj/structure/extinguisher_cabinet/directional/north, /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/white, /area/station/medical/psychology) "npq" = ( @@ -44440,16 +45932,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"npP" = ( +/obj/machinery/door/airlock{ + id_tag = "commissarydoor"; + name = "Commissary" + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/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/commons/vacant_room/commissary) "npT" = ( /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/iron/white, /area/station/science/explab) -"npZ" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "nqb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating/snowed/icemoon, @@ -44467,13 +45971,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nqv" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/sign/nanotrasen, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "nqw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44481,12 +45978,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/commons/storage/mining) -"nqy" = ( -/obj/structure/stairs/east, -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "nqD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44495,13 +45986,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"nqI" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/requests_console/auto_name/directional/south, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "nqP" = ( /obj/machinery/camera/directional/north{ c_tag = "Research Division West"; @@ -44512,39 +45996,12 @@ dir = 10 }, /area/station/science/research) -"nqU" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "hopqueue"; - name = "HoP Queue Shutters" - }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"nqX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) -"nrh" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "nrm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"nrq" = ( -/obj/effect/turf_decal/tile/red, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/textured, -/area/station/security/brig) "nrA" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -44594,19 +46051,24 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"nrJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/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/hydroponics) +"nsj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "nsp" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"nsq" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/filingcabinet/filingcabinet, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nsr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44617,29 +46079,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"nsu" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "nsv" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nsH" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/deepfryer, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"nsK" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/button/door/directional/south{ - id = "engsm"; - name = "Radiation Shutters Control"; - req_access = list("engineering") - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nsL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44656,6 +46106,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) +"nsQ" = ( +/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/plating, +/area/station/maintenance/starboard/lesser) "nsZ" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/office) @@ -44671,10 +46128,18 @@ "ntl" = ( /turf/closed/wall/r_wall, /area/station/service/lawoffice) -"nto" = ( +"ntm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/cobweb, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "ntq" = ( /obj/machinery/door/window/brigdoor/left/directional/north{ req_access = list("brig") @@ -44687,20 +46152,26 @@ }, /turf/open/floor/iron, /area/station/security/processing) -"ntx" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"ntE" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/item/aquarium_kit, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "ntK" = ( /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ntO" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/sign/warning/deathsposal/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "ntT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -44735,23 +46206,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) -"nuM" = ( -/obj/machinery/door/firedoor, -/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/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ +"nuD" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/obj/machinery/door/airlock/multi_tile/public/glass{ - dir = 4; - name = "Arrivals Dock" +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) +/turf/open/floor/stone, +/area/station/service/bar/atrium) "nuN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44772,20 +46235,13 @@ /obj/structure/flora/bush/snow/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"nvc" = ( -/obj/machinery/smartfridge, -/turf/open/floor/iron/dark, -/area/station/service/kitchen) "nvh" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics" }, -/obj/machinery/light/directional/north, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage) "nvr" = ( /obj/effect/turf_decal/weather/snow/corner, /obj/machinery/light/small/directional/north, @@ -44797,17 +46253,31 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"nvw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "nvx" = ( /obj/machinery/airalarm/directional/east, /obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, /turf/open/floor/iron, /area/station/cargo/miningdock) +"nvy" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/cargo/warehouse) +"nvB" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "nvE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mop_bucket/janitorialcart{ @@ -44857,6 +46327,16 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"nwn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "nwr" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -44866,17 +46346,21 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"nwC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 +"nwA" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/light/warm/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/machinery/hydroponics/constructable, -/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"nwD" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nwF" = ( /obj/structure/chair/sofa/bench{ dir = 4 @@ -44894,37 +46378,15 @@ dir = 9 }, /area/station/science/research) -"nxc" = ( -/turf/open/floor/glass, -/area/station/service/hydroponics) "nxe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nxj" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/loading_area/white, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) "nxm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"nxw" = ( -/obj/machinery/door/morgue{ - req_access = list("bar") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "nxD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44943,6 +46405,10 @@ "nxM" = ( /turf/closed/wall, /area/station/maintenance/department/medical/morgue) +"nxP" = ( +/obj/structure/gulag_vent/ice, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "nxU" = ( /obj/machinery/status_display/evac/directional/east, /obj/structure/reagent_dispensers/fueltank, @@ -44960,25 +46426,34 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"nxY" = ( +/obj/machinery/button/door/directional/west{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels") + }, +/obj/structure/chair/stool/directional/south{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/computer/pod/old/mass_driver_controller/trash{ + pixel_x = -36 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal) "nyg" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/construction) -"nyj" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/hydroponics) +"nyh" = ( +/obj/structure/sign/departments/maint/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nyl" = ( /obj/machinery/door/morgue{ name = "Private Study"; @@ -45006,13 +46481,6 @@ "nyC" = ( /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) -"nyE" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "nyH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45046,6 +46514,20 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"nyR" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark/side, +/area/mine/eva) +"nyT" = ( +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/grimy, +/area/station/hallway/secondary/entry) "nyX" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -45057,6 +46539,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"nyZ" = ( +/obj/structure/fence/corner{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nza" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45070,17 +46558,17 @@ /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) "nzl" = ( -/obj/machinery/button/flasher{ - id = "transferflash"; - pixel_x = 23; - pixel_y = 9 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/item/radio/intercom/directional/east{ pixel_y = -6 }, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) +"nzn" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "nzp" = ( /obj/effect/landmark/blobstart, /obj/effect/decal/cleanable/dirt, @@ -45103,12 +46591,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"nzt" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "nzy" = ( /obj/machinery/computer/atmos_control/mix_tank{ dir = 8 @@ -45118,6 +46600,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"nzA" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) "nzB" = ( /obj/effect/turf_decal/trimline/blue/warning{ dir = 4 @@ -45148,37 +46636,28 @@ dir = 1 }, /area/station/medical/chemistry) -"nzT" = ( -/obj/effect/turf_decal/trimline/white/end{ - dir = 8 +"nzN" = ( +/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 = 5 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) +/obj/effect/spawner/random/structure/tank_holder, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"nzU" = ( +/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/lesser) "nzV" = ( /obj/effect/turf_decal/tile/red{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"nAa" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/cold_temp{ - pixel_x = 3; - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/mine/eva/lower) -"nAf" = ( -/obj/structure/cable, -/obj/item/wrench, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "nAg" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -45196,6 +46675,22 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark/side, /area/station/security/prison) +"nAw" = ( +/obj/structure/closet/radiation, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/structure/noticeboard/ce{ + pixel_y = 36 + }, +/turf/open/floor/iron, +/area/station/engineering/main) +"nAx" = ( +/obj/structure/flora/grass/both/style_random, +/obj/item/stack/cable_coil/five, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nAD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -45239,6 +46734,7 @@ /obj/item/clothing/shoes/winterboots, /obj/item/clothing/suit/hooded/wintercoat, /obj/item/crowbar, +/obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/iron, /area/station/service/chapel) "nBj" = ( @@ -45269,11 +46765,20 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"nBB" = ( -/obj/machinery/power/smes, +"nBt" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/book/manual/chef_recipes, +/obj/item/holosign_creator/robot_seat/restaurant, +/obj/structure/rack, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nBE" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/weather/snow/corner{ @@ -45293,40 +46798,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"nBO" = ( -/obj/structure/disposalpipe/sorting/mail, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"nBQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/tank/air{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"nBZ" = ( -/obj/structure/stairs/south, -/turf/open/floor/stone, -/area/station/commons/lounge) -"nCa" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/shovel, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/machinery/camera{ - c_tag = "Departure Lounge Emergency EVA"; - dir = 9 +"nBS" = ( +/obj/structure/table/wood, +/obj/item/storage/crayons, +/obj/item/storage/fancy/candle_box{ + pixel_y = 5 }, -/obj/item/radio/off, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/white, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/dark, +/area/station/service/chapel/office) "nCb" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/lithium{ @@ -45345,6 +46824,19 @@ dir = 8 }, /area/station/medical/chem_storage) +"nCd" = ( +/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, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "nCh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/directional/east, @@ -45366,14 +46858,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) -"nCz" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "nCD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45406,12 +46890,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"nCW" = ( -/obj/structure/table, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "nDd" = ( /obj/machinery/status_display/evac/directional/west, /obj/effect/turf_decal/stripes/corner, @@ -45420,24 +46898,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"nDi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/structure/cable, -/obj/structure/closet/radiation, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) -"nDl" = ( -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/dark/half/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"nDm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nDp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45463,20 +46923,6 @@ dir = 5 }, /area/station/maintenance/port/aft) -"nDz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable/layer3, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat/hallway"; - name = "Chamber Hallway Turret Control"; - pixel_x = 32; - pixel_y = -24; - req_access = list("minisat") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "nDA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45484,15 +46930,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"nDB" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/command/heads_quarters/rd) "nDE" = ( /turf/closed/wall/r_wall, /area/station/security/prison/garden) @@ -45522,6 +46959,10 @@ }, /turf/open/floor/iron/white/corner, /area/station/commons/storage/art) +"nEa" = ( +/obj/item/stack/cable_coil/five, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nEc" = ( /obj/structure/table/glass, /obj/effect/decal/cleanable/dirt, @@ -45561,10 +47002,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"nEI" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +"nEC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/security/brig) "nEV" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/structure/cable, @@ -45605,6 +47054,27 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"nFt" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Bar and Kitchen" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/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/textured, +/area/station/maintenance/starboard/fore) +"nFz" = ( +/obj/structure/window/reinforced/spawner/directional/north{ + pixel_y = 2 + }, +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/engine, +/area/station/science/xenobiology) "nFF" = ( /obj/structure/table, /obj/item/assembly/signaler{ @@ -45626,6 +47096,14 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"nFG" = ( +/obj/structure/table, +/obj/item/relic, +/obj/effect/spawner/random/maintenance, +/obj/item/screwdriver, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron/checker, +/area/station/maintenance/port/fore) "nFL" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -45638,16 +47116,12 @@ "nFO" = ( /obj/structure/transit_tube/horizontal, /obj/structure/cable, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"nFQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nFU" = ( /obj/structure/chair/stool/directional/west, /obj/item/trash/energybar, @@ -45655,10 +47129,29 @@ /obj/structure/sign/poster/official/work_for_a_future/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) -"nGk" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, +"nGd" = ( +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/security/prison/safe) +"nGo" = ( +/obj/machinery/vending/games, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) +"nGv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin/construction, +/obj/item/storage/crayons{ + pixel_y = -2; + pixel_x = -3 + }, +/obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "nGA" = ( @@ -45691,16 +47184,6 @@ /obj/effect/spawner/random/armory/barrier_grenades, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) -"nGQ" = ( -/obj/machinery/flasher/directional/north{ - id = "Cell 3" - }, -/obj/structure/bed{ - dir = 1; - pixel_x = -2 - }, -/turf/open/floor/iron/smooth, -/area/station/security/brig) "nGU" = ( /obj/structure/closet/secure_closet/security/sec, /obj/machinery/airalarm/directional/north, @@ -45708,10 +47191,23 @@ dir = 1 }, /area/station/security/lockers) -"nHc" = ( -/obj/structure/bodycontainer/morgue, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"nGY" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Mining B-2 Hallway"; + network = list("ss13", "mine") + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/mine/eva/lower) "nHe" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/tile/yellow{ @@ -45719,12 +47215,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"nHf" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/light/small/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) "nHj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45749,18 +47239,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"nHX" = ( -/obj/structure/sign/departments/psychology/directional/south, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/machinery/camera{ - c_tag = "Medbay South"; - dir = 5; - network = list("ss13","medbay") +"nIb" = ( +/obj/structure/chair{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "nId" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45768,13 +47252,6 @@ /obj/structure/barricade/wooden, /turf/open/floor/eighties/red, /area/station/security/prison/safe) -"nIe" = ( -/obj/item/stack/cable_coil, -/obj/structure/fence/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "nIl" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -45782,26 +47259,13 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nIt" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "nIx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/aft) -"nIY" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "nJd" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"nJm" = ( -/obj/structure/fluff/fokoff_sign, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nJo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -45827,15 +47291,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/storage) -"nJq" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) "nJy" = ( /obj/structure/chair/pew{ dir = 1 @@ -45844,6 +47299,18 @@ dir = 8 }, /area/station/service/chapel) +"nJH" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm2"; + name = "Dorm 2" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) "nJI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /obj/effect/turf_decal/siding/wideplating/corner{ @@ -45852,6 +47319,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"nJK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"nJL" = ( +/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/border_only, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/mine/eva) "nJT" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -45864,28 +47345,20 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/science) -"nJZ" = ( -/obj/machinery/light/small/red/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/obj/item/radio/intercom/chapel/directional/east, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "nKa" = ( /turf/closed/wall, /area/station/security/checkpoint/medical) -"nKj" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/rnd/production/circuit_imprinter, -/obj/machinery/requests_console/directional/east{ - department = "Engineering"; - name = "Engineering Requests Console" +"nKb" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Secure Art Exhibition"; + req_access = list("library") }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +/obj/effect/spawner/random/structure/table_fancy, +/obj/structure/sign/painting/library_secure{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/station/service/library) "nKk" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 8 @@ -45905,6 +47378,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/cargo/lobby) +"nKw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/lobby) "nKK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -45962,41 +47441,31 @@ /obj/structure/mirror/broken/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"nLa" = ( -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/structure/flora/bush/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"nKY" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "nLb" = ( /obj/machinery/blackbox_recorder, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"nLd" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "nLe" = ( /obj/effect/turf_decal/tile/dark/half/contrasted, /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) -"nLs" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 +"nLB" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 }, -/obj/structure/sign/poster/official/random/directional/north, -/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) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"nLE" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/floor/iron/white/side{ + dir = 8 + }, +/area/station/maintenance/port/fore) "nLH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -46038,6 +47507,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"nMv" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ + name = "Burn Chamber Interior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "nMw" = ( /obj/structure/chair{ dir = 1 @@ -46056,30 +47533,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/research) -"nMC" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/toy/figure/chef, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Coldroom" - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) -"nMD" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "nME" = ( /obj/item/clothing/head/utility/hardhat, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "nMH" = ( @@ -46107,6 +47565,13 @@ /obj/effect/gibspawner/human/bodypartless, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nMT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/station/service/library) "nNe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -46116,6 +47581,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"nNg" = ( +/mob/living/basic/goat/pete{ + desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; + habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); + minimum_survivable_temperature = 150; + name = "Snowy Pete" + }, +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) +"nNi" = ( +/obj/machinery/airalarm/directional/north, +/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) "nNn" = ( /turf/closed/wall, /area/station/security/prison/rec) @@ -46141,17 +47621,13 @@ /obj/item/clothing/glasses/meson/engine, /turf/open/floor/iron/dark, /area/station/engineering/storage) -"nNy" = ( -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 +"nNu" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 }, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/mine/mechbay) +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/station/cargo/storage) "nNB" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -46159,15 +47635,6 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/dark, /area/station/medical/virology) -"nNI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/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) "nNM" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -46176,21 +47643,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nNU" = ( -/obj/machinery/chem_dispenser, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/yellow/full, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/pharmacy) -"nNV" = ( -/obj/structure/railing{ - dir = 9 +"nNZ" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/door/poddoor{ + id = "QMLoaddoor2"; + name = "Supply Dock Loading Door"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) +"nOa" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "nOb" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -46200,11 +47672,25 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"nOk" = ( -/obj/item/chair/wood, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/wood, -/area/station/maintenance/port/aft) +"nOh" = ( +/obj/machinery/door/firedoor, +/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/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) +"nOj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/noticeboard/staff{ + pixel_y = 36 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nOl" = ( /obj/structure/bed, /obj/machinery/airalarm/directional/north, @@ -46219,11 +47705,6 @@ /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) -"nOo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "nOx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -46244,17 +47725,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) -"nOI" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness) "nOQ" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/camera/directional/north{ @@ -46269,6 +47739,54 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"nPc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"nPo" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat/science{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/clothing/shoes/winterboots{ + pixel_x = -7; + pixel_y = -1 + }, +/obj/item/biopsy_tool{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/gps/mining{ + pixel_x = -7; + pixel_y = -3 + }, +/obj/item/knife/combat/survival{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/machinery/light/directional/east, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"nPs" = ( +/obj/structure/bodycontainer/morgue, +/obj/machinery/camera/directional/south{ + c_tag = "Morgue South"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "nPt" = ( /obj/structure/chair/stool/directional/east, /obj/effect/mapping_helpers/burnt_floor, @@ -46280,12 +47798,17 @@ /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "nPS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/work) "nQd" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46305,30 +47828,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"nQm" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Hall" - }, -/obj/machinery/disposal/bin/tagger, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"nQq" = ( -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 6 - }, -/obj/structure/table/glass, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/lab) +"nQj" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) +"nQr" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nQu" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -46351,6 +47859,13 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"nQL" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "nQO" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=AIW"; @@ -46415,6 +47930,17 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/security/brig/upper) +"nRn" = ( +/obj/machinery/door/window/left/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "nRq" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/bureaucracy/birthday_wrap, @@ -46441,37 +47967,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) -"nRx" = ( -/obj/machinery/washing_machine, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 +"nRE" = ( +/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/sign/poster/official/nanotrasen_logo/directional/east, -/turf/open/floor/iron, -/area/station/commons/dorms/laundry) -"nRy" = ( -/mob/living/basic/goat/pete{ - desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; - habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); - minimum_survivable_temperature = 150; - name = "Snowy Pete" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/misc/ice/coldroom, -/area/station/service/kitchen/coldroom) -"nRO" = ( -/obj/structure/cable/multilayer/multiz, -/obj/structure/sign/poster/contraband/random/directional/north, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/security/prison/safe) +/area/station/service/kitchen/coldroom) "nRV" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood, +/area/station/service/library) +"nRW" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nRX" = ( /turf/open/floor/iron/white/side{ dir = 10 @@ -46554,14 +48076,11 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"nSX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/broken/directional/north, +"nSU" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/starboard/aft) "nTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46569,18 +48088,6 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/textured_large, /area/station/security/brig/entrance) -"nTA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "nTK" = ( /obj/structure/table/glass, /obj/machinery/barsign{ @@ -46616,14 +48123,6 @@ "nTO" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp/security) -"nTP" = ( -/obj/item/food/grown/potato{ - pixel_y = 4 - }, -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nTV" = ( /obj/structure/table/reinforced, /obj/item/screwdriver{ @@ -46635,6 +48134,13 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) +"nTX" = ( +/obj/structure/flora/grass/both/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nUg" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -46659,16 +48165,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_half, /area/station/ai_monitored/command/storage/eva) -"nUI" = ( -/obj/machinery/computer/records/security, -/obj/machinery/light_switch/directional/north{ - pixel_x = -16 - }, -/obj/machinery/computer/security/telescreen/normal/directional/north, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "nUJ" = ( /obj/machinery/flasher/directional/east{ id = "brigentry" @@ -46708,6 +48204,10 @@ }, /turf/open/floor/carpet, /area/station/service/library) +"nVx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "nVB" = ( /obj/effect/turf_decal/trimline/dark/warning{ dir = 4 @@ -46718,30 +48218,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nVO" = ( -/obj/structure/table, +"nVJ" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "nVR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria{ dir = 5 }, /area/station/maintenance/port/aft) -"nVZ" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Office" - }, -/obj/structure/disposalpipe/segment, -/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/access/all/command/captain, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +"nWe" = ( +/obj/machinery/light/small/directional/north, +/turf/open/openspace, +/area/station/science/research) "nWf" = ( /obj/structure/chair{ dir = 1 @@ -46759,6 +48252,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"nWG" = ( +/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/fore) "nWH" = ( /turf/closed/wall, /area/station/maintenance/department/cargo) @@ -46767,6 +48268,14 @@ /obj/machinery/holopad, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"nWM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/mining_weather_monitor/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "nXb" = ( /turf/closed/wall, /area/icemoon/surface/outdoors/nospawn) @@ -46789,20 +48298,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"nXp" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table/glass, -/obj/item/storage/box/monkeycubes, -/turf/open/floor/iron, -/area/station/science/xenobiology) -"nXs" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) "nXH" = ( /obj/structure/bodycontainer/crematorium{ id = "crematoriumChapel" @@ -46830,6 +48325,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/security/prison/visit) +"nYm" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nYn" = ( /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/carpet, @@ -46840,25 +48342,10 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"nYN" = ( -/turf/open/floor/wood, -/area/station/commons/lounge) -"nYR" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"nYY" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"nYz" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "nYZ" = ( /obj/item/storage/bag/trash, /turf/open/floor/plating, @@ -46893,14 +48380,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/supply) -"nZi" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/work) "nZA" = ( /obj/structure/table, /obj/item/stock_parts/subspace/amplifier, @@ -46908,10 +48387,30 @@ /obj/item/stock_parts/subspace/amplifier, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"nZC" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/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/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron, +/area/mine/laborcamp) "nZH" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/engineering/atmos/storage) +"nZN" = ( +/obj/structure/rack, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat/maint) "nZU" = ( /obj/machinery/door/airlock/maintenance{ name = "Firefighting Equipment" @@ -46931,38 +48430,14 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"oac" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - id = "botany_apiary"; - name = "Bee Protection Shutters" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"oas" = ( -/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, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ +"oad" = ( +/obj/structure/railing{ dir = 4 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +/turf/open/floor/iron/stairs/medium{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/area/station/security/prison) "oaG" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -46981,18 +48456,6 @@ }, /turf/open/floor/iron/white/corner, /area/mine/living_quarters) -"oaJ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/requests_console/auto_name/directional/east, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "oaP" = ( /obj/machinery/door/airlock/research{ name = "Crater Observation Room" @@ -47002,6 +48465,12 @@ "oaQ" = ( /obj/structure/transit_tube, /obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "oaR" = ( @@ -47018,6 +48487,25 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"obb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"obe" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "obj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -47025,15 +48513,35 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"obr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "surgery"; - name = "Surgery Shutter" +"obl" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Upper" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) +"obo" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = -7 + }, +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) +"obt" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/sign/warning/no_smoking/circle/directional/east, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/medical/surgery/aft) +/area/station/maintenance/starboard/fore) "obu" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -47048,6 +48556,18 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) +"obF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio1"; + name = "Xenobio Pen 1 Blast Door" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "obG" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 8 @@ -47069,14 +48589,29 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) -"obT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, +"obQ" = ( +/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, +/obj/machinery/modular_computer/preset/civilian{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) +"obU" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = 6 + }, +/obj/machinery/button/door/directional/north{ + id = "botany_chasm_and_wolf_shutters"; + name = "Exterior Shutters"; + pixel_x = -4 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/service/hydroponics) "obZ" = ( /obj/machinery/camera/directional/east{ @@ -47085,16 +48620,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ocd" = ( -/obj/machinery/igniter/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) -"ocp" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "ocu" = ( /obj/effect/turf_decal/bot_white, /obj/structure/cable, @@ -47107,6 +48632,31 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ocJ" = ( +/obj/structure/table/glass, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/item/storage/box/syringes{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) +"ocS" = ( +/obj/structure/fluff/tram_rail{ + pixel_y = 17 + }, +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "ocY" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -47123,33 +48673,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/xenobiology) -"odf" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box/red, -/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, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"odi" = ( -/obj/item/toy/snowball{ - pixel_x = 5; - pixel_y = -1 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"odm" = ( -/obj/structure/stairs/east, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "odw" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, @@ -47169,21 +48692,25 @@ /obj/item/radio/intercom/prison/directional/east, /turf/open/floor/carpet/red, /area/station/security/prison/work) +"odF" = ( +/obj/structure/railing, +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "odN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"odR" = ( +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/station/science/research) "odW" = ( /obj/structure/railing{ dir = 8 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"odZ" = ( -/obj/machinery/door/airlock/hatch, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oed" = ( /obj/machinery/door/window/right/directional/east{ name = "Robotics Surgery"; @@ -47205,25 +48732,10 @@ "oex" = ( /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/department/medical/morgue) -"oeB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/station/commons/dorms/laundry) "oeM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"oeP" = ( -/obj/structure/table, -/obj/item/food/chococoin, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = 30 - }, -/turf/open/floor/iron/smooth, -/area/mine/eva) "oeT" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -47241,26 +48753,28 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"ofm" = ( -/obj/structure/bodycontainer/morgue, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"ofr" = ( -/obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/paper_bin{ - pixel_y = 4 +"ofc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"ofi" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 }, -/obj/item/folder/white{ - pixel_x = -4; - pixel_y = 4 +/obj/machinery/bluespace_vendor/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"ofl" = ( +/obj/structure/chair{ + desc = "Aw geez, I wonder what the chef's cooking up in there!"; + dir = 1; + name = "The Peanut's Gallery" }, -/obj/item/pen{ - pixel_x = -4 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, /turf/open/floor/iron, -/area/station/science/xenobiology) +/area/station/hallway/primary/starboard) "ofz" = ( /obj/structure/ore_box, /obj/effect/turf_decal/bot, @@ -47290,6 +48804,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"ofR" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/hydroponics) "ogd" = ( /obj/structure/chair/office{ dir = 8 @@ -47304,8 +48837,17 @@ /turf/open/floor/iron, /area/station/science/xenobiology) "ogu" = ( -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "ogy" = ( /obj/machinery/door/airlock/maintenance{ name = "EVA Maintenance" @@ -47341,11 +48883,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"ohk" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"ohb" = ( +/obj/machinery/medical_kiosk, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/sign/departments/medbay/alt/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ohp" = ( /turf/open/floor/glass, /area/station/maintenance/department/medical/central) @@ -47365,15 +48910,23 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"ohP" = ( -/obj/structure/table/wood, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 4 +"ohI" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"ohO" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/fluff/tram_rail{ + pixel_y = 17 + }, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "ohS" = ( /obj/structure/railing{ dir = 8 @@ -47387,6 +48940,14 @@ }, /turf/open/openspace, /area/station/security/prison) +"ohU" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "oic" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47423,19 +48984,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"oir" = ( -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "xenobio10"; - name = "Xenobio Pen 10 Blast Door" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/science/xenobiology) "oiy" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/service) @@ -47443,16 +48991,10 @@ /obj/structure/urinal/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"oiB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Chemistry Lab Utilities" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/medical/central) +"oiC" = ( +/obj/effect/spawner/random/engineering/canister, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "oiD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47468,20 +49010,31 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"oiK" = ( -/obj/machinery/door/airlock{ - id_tag = "commissarydoor"; - name = "Commissary" +"oiI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/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, -/obj/structure/disposalpipe/junction/flip{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/south, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) +"oiM" = ( +/obj/structure/dresser, +/obj/structure/mirror/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Backstage" + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "oiO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47497,22 +49050,27 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"oiW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"oiU" = ( +/obj/structure/closet/crate, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 }, -/obj/machinery/camera{ - c_tag = "Medbay Psychology"; - dir = 6; - network = list("ss13","medbay"); - pixel_y = -22 +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 }, -/obj/machinery/newscaster/directional/east, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 }, -/turf/open/floor/iron/white, -/area/station/medical/psychology) +/mob/living/basic/mouse/white, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "oiX" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -47522,6 +49080,16 @@ /obj/machinery/pdapainter/medbay, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"oiZ" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/vending/wardrobe/science_wardrobe, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) +"oje" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "ojf" = ( /obj/structure/lattice/catwalk, /turf/open/lava/plasma/ice_moon, @@ -47548,17 +49116,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"ojy" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ojF" = ( /obj/machinery/rnd/production/protolathe/department/science, /turf/open/floor/iron/checker, /area/station/science/lab) -"ojP" = ( -/obj/machinery/door/firedoor/heavy, -/obj/structure/sign/warning/firing_range/directional/west, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/science/research) "ojW" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -47571,23 +49141,22 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"okf" = ( -/obj/structure/bodycontainer/morgue, -/obj/machinery/camera{ - c_tag = "Morgue South"; - dir = 5; - network = list("ss13","medbay") +"okc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "mining-aux-mechbay-external" }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"okk" = ( -/obj/structure/cable, -/obj/structure/sign/departments/aisat/directional/east, -/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/dark/corner, -/area/station/engineering/storage_shared) +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining Mech Bay External Airlock"; + opacity = 0 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/mining, +/turf/open/floor/iron/large, +/area/mine/mechbay) "okl" = ( /obj/structure/chair{ dir = 8 @@ -47616,6 +49185,11 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"okz" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/hallway/primary/central/fore) "okG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -47640,22 +49214,6 @@ "olf" = ( /turf/open/floor/carpet, /area/station/commons/dorms) -"olt" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"olH" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Quarters" - }, -/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/command/captain, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "olI" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/medicine{ @@ -47669,10 +49227,14 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"olO" = ( -/obj/structure/fence, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored/graveyard) +"olM" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/lamp{ + start_on = 0 + }, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "olQ" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -47680,6 +49242,16 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) +"olR" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "olV" = ( /obj/machinery/light/small/directional/west, /obj/structure/cable, @@ -47719,6 +49291,11 @@ "omk" = ( /turf/open/floor/glass/reinforced, /area/station/security/office) +"omo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "omG" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -47748,15 +49325,12 @@ }, /turf/open/floor/plating, /area/station/security/prison/safe) -"omS" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"omT" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high/empty, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "ond" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47803,21 +49377,38 @@ }, /turf/open/floor/plating, /area/station/security/courtroom) +"onP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "onQ" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"onV" = ( -/obj/machinery/door/airlock/research{ - name = "Cytology Lab" +"onT" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/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, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/science/ordnance) +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ooa" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, @@ -47840,23 +49431,9 @@ "ooo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/processor/slime, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) -"oor" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/machinery/door/airlock/multi_tile/public/glass{ - dir = 4; - name = "Arrivals Dock" - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) "oot" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 4 @@ -47866,6 +49443,26 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ooy" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"ooG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "ooL" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 4 @@ -47889,6 +49486,19 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"ooV" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "ooW" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle{ @@ -47916,6 +49526,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) +"opt" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "opu" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -47923,14 +49542,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"opw" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ - pixel_x = 24 +"opy" = ( +/obj/effect/turf_decal/siding/wood, +/obj/item/kirbyplants/random/fullysynthetic{ + pixel_x = 10; + pixel_y = 19 }, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Mining Break Room"; + network = list("ss13", "mine") }, -/area/station/service/chapel) +/turf/open/floor/stone, +/area/mine/eva/lower) "opB" = ( /obj/structure/table, /obj/item/raw_anomaly_core/random{ @@ -47945,24 +49570,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"opD" = ( -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/iron/white, -/area/station/science/ordnance) -"opH" = ( -/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/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"opE" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "opI" = ( /obj/machinery/microwave{ pixel_y = 7 @@ -47976,6 +49590,9 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"opP" = ( +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "opS" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -47984,6 +49601,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"opU" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oqb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/power/apc/auto_name/directional/west, @@ -47997,22 +49620,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"oqd" = ( -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/structure/table, -/obj/machinery/door_buttons/access_button, -/obj/item/clothing/mask/gas{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "oqg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -48020,15 +49627,6 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) -"oqj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plastic, -/area/station/commons/dorms/laundry) "oqz" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -48036,13 +49634,6 @@ /obj/effect/turf_decal/tile/dark_green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"oqB" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/box/red/corners{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "oqC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48053,6 +49644,16 @@ /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/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/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, @@ -48070,6 +49671,9 @@ }, /turf/open/openspace, /area/station/science/xenobiology) +"oqN" = ( +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "oqT" = ( /obj/machinery/airalarm/directional/south, /obj/effect/decal/cleanable/dirt, @@ -48080,23 +49684,10 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/break_room) -"ork" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"oro" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/ordnance/office) +"oqY" = ( +/obj/effect/spawner/random/structure/closet_private, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "orq" = ( /obj/machinery/light/small/directional/west, /obj/machinery/button/door/directional/south{ @@ -48112,12 +49703,19 @@ /obj/machinery/recharge_station, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"oru" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"ort" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "orv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48154,28 +49752,12 @@ dir = 4 }, /area/mine/living_quarters) -"orU" = ( -/obj/machinery/vending/coffee, -/obj/structure/sign/poster/random/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "orV" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line, /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"orZ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Atrium" - }, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) "osd" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -48220,10 +49802,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"osN" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/fore) "osO" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -48238,8 +49816,17 @@ /obj/structure/closet/emcloset{ anchored = 1 }, +/obj/structure/sign/warning/cold_temp/directional/south, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"otf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/stairs/medium, +/area/station/commons/dorms/laundry) "ots" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle, @@ -48278,6 +49865,25 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"otM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/contraband/cc64k_ad/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/port/fore) +"otW" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sink/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oua" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48304,6 +49910,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/treatment_center) +"ouq" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Mining B-1 Crater Observatory Access"; + network = list("ss13", "mine") + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/mine/living_quarters) "ous" = ( /obj/machinery/door/airlock/security/glass{ name = "N2O Storage" @@ -48316,12 +49934,34 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) +"ouK" = ( +/obj/machinery/space_heater, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore/lesser) "ouP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ouU" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) +"ouW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "ouX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48346,11 +49986,35 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"ovx" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/requests_console/directional/west{ + department = "Head of Personnel's Desk"; + name = "Head of Personnel's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "ovy" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ovz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) +"ovB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/hobo_squat, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "ovP" = ( /turf/open/genturf/orange, /area/icemoon/underground/unexplored/no_rivers) @@ -48365,11 +50029,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/lockers) -"ovZ" = ( -/obj/structure/table/wood, -/obj/item/paper/crumpled, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "owf" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -48406,12 +50065,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"oxe" = ( -/obj/machinery/computer/cargo/request, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/incident_display/bridge/directional/north, -/turf/open/floor/iron, -/area/station/command/bridge) +"owK" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/lesser) "oxh" = ( /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, @@ -48437,22 +50100,16 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"oxN" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = -7 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "oxO" = ( /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "oxR" = ( /obj/structure/transit_tube/crossing/horizontal, /obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "oxU" = ( @@ -48480,6 +50137,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/meeting_room) +"oyd" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "oyj" = ( /obj/structure/table, /obj/item/storage/box, @@ -48552,6 +50218,13 @@ }, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"oyM" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "oyW" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) @@ -48562,12 +50235,30 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"oyY" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "ozb" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"ozk" = ( +/obj/machinery/door/airlock{ + name = "Unisex Showers" + }, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "ozo" = ( /obj/effect/landmark/carpspawn, /turf/open/misc/asteroid/snow/icemoon, @@ -48578,23 +50269,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ozx" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south{ - frequency = 1453; - name = "Kitchen Intercom" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ozA" = ( /obj/structure/closet/secure_closet/research_director, /obj/effect/turf_decal/stripes/line{ @@ -48614,23 +50288,13 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "ozH" = ( -/obj/machinery/button/door/directional/east{ - id = "commissarydoor"; - name = "Commissary Door Lock"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"ozM" = ( -/obj/structure/railing/corner, -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ozN" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 @@ -48638,6 +50302,23 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"ozU" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/desk_bell{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ozV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -48646,12 +50327,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ozW" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ozX" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -48695,16 +50370,25 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"oAz" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = 32 +"oAm" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) +"oAs" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/item/analyzer, +/obj/item/pipe_dispenser, +/obj/item/flashlight, +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oAA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -48756,6 +50440,13 @@ }, /turf/open/floor/iron/dark, /area/mine/eva/lower) +"oBq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 9 + }, +/obj/machinery/meter, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "oBs" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Security"; @@ -48779,25 +50470,50 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"oBD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oBI" = ( /obj/machinery/light/floor, /turf/open/floor/carpet, /area/station/service/library) -"oBJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oBQ" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"oBV" = ( +/obj/item/paper/fluff/jobs/security/beepsky_mom, +/obj/machinery/light/small/dim/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"oBZ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"oCo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/mine/laborcamp) "oCs" = ( /obj/structure/table, /obj/item/radio/headset/headset_med{ @@ -48826,10 +50542,6 @@ /obj/item/stack/cable_coil/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"oCw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "oCA" = ( /obj/structure/closet/secure_closet/cytology, /obj/machinery/button/door/directional/north{ @@ -48846,6 +50558,11 @@ }, /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) +"oCE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "oCF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48867,6 +50584,17 @@ dir = 1 }, /area/station/security/prison) +"oDb" = ( +/obj/item/popsicle_stick{ + pixel_y = 1; + pixel_x = -9 + }, +/obj/item/popsicle_stick{ + pixel_y = 3; + pixel_x = -2 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "oDd" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -48896,14 +50624,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"oDk" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "oDn" = ( /obj/machinery/door/airlock/atmos/glass, /obj/structure/cable, @@ -48930,10 +50650,36 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"oDw" = ( +/obj/structure/table, +/obj/item/petri_dish{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/item/petri_dish{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/petri_dish{ + pixel_y = -6; + pixel_x = -1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "oDB" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/mine/laborcamp) +"oDD" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "oDH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/side{ @@ -48957,12 +50703,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"oEe" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oEj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -48987,20 +50727,71 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/engineering/main) -"oEC" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) +"oEy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = 3; + pixel_y = -8 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = -3; + pixel_y = -8 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = -6 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = -7 + }, +/obj/structure/sign/warning/no_smoking/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Chemistry Lab - East"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/medical/chemistry) +"oEB" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"oED" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Test Chamber"; + network = list("ss13","test","rd","xeno") + }, +/obj/machinery/light/directional/west, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) +"oEE" = ( +/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, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "oEF" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) -"oEH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "oEX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49008,6 +50799,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"oFc" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon, +/area/icemoon/surface/outdoors/nospawn) "oFd" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 1 @@ -49017,29 +50812,14 @@ /area/station/science/ordnance) "oFl" = ( /obj/machinery/light/small/dim/directional/west, +/obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"oFp" = ( -/obj/structure/sign/warning/docking/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/mine/laborcamp) "oFx" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"oFB" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "oFI" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -49085,6 +50865,14 @@ }, /turf/open/floor/plating, /area/station/cargo/drone_bay) +"oGj" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/smartfridge/petri/preloaded, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "oGm" = ( /obj/machinery/power/solar_control{ dir = 1; @@ -49094,6 +50882,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"oGr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Can In" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oGs" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -49136,6 +50934,18 @@ dir = 8 }, /area/station/security/prison) +"oGC" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oGF" = ( /obj/structure/closet/crate/bin, /obj/effect/decal/cleanable/dirt, @@ -49147,6 +50957,33 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"oGJ" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Labor Camp External West"; + network = list("labor") + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) +"oGN" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"oGO" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/structure/bed/medical/anchored{ + dir = 8 + }, +/obj/item/bedsheet/medical{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/virology) "oGQ" = ( /obj/machinery/light_switch/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -49154,6 +50991,18 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"oHf" = ( +/obj/machinery/vending/autodrobe, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/theater) +"oHg" = ( +/obj/structure/fence/cut/large{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "oHh" = ( /obj/machinery/shower/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -49182,28 +51031,40 @@ "oHK" = ( /turf/closed/wall/r_wall, /area/station/science/lab) +"oHR" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "oHV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/service/chapel) -"oHY" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/status_display/shuttle{ - pixel_x = -32; - shuttle_id = "arrival" - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/stripes/corner{ +"oIj" = ( +/obj/effect/turf_decal/siding/wood/end{ dir = 1 }, -/turf/open/floor/iron/white/corner{ - dir = 1 +/mob/living/carbon/human/species/monkey/punpun, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"oIt" = ( +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"oIv" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Labor Camp External North"; + network = list("labor") }, -/area/station/hallway/secondary/entry) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "oIB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49246,17 +51107,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"oIQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/machinery/newscaster/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, -/area/station/service/hydroponics) "oIR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance/four, @@ -49272,16 +51122,16 @@ /obj/structure/flora/bush/snow/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"oJD" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) -"oJH" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"oJo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood, +/area/station/commons/lounge) +"oJv" = ( +/obj/item/clothing/under/costume/skeleton, +/obj/item/clothing/head/helmet/skull, +/turf/open/floor/plating, +/area/station/medical/morgue) "oJP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_green, @@ -49297,14 +51147,6 @@ dir = 1 }, /area/station/command/gateway) -"oKu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/docking/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "oKv" = ( /obj/item/trash/popcorn, /turf/open/floor/plating, @@ -49333,6 +51175,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) +"oKX" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "oKY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/plating, @@ -49348,6 +51197,15 @@ "oLg" = ( /turf/open/floor/iron/white/corner, /area/station/science/research) +"oLi" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oLj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49355,6 +51213,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) +"oLm" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Garden" + }, +/obj/machinery/status_display/ai/directional/east, +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "oLn" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -49428,11 +51294,6 @@ /obj/machinery/air_sensor/mix_tank, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"oLO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "oMa" = ( /obj/structure/marker_beacon/burgundy, /obj/effect/turf_decal/weather/snow/corner{ @@ -49440,16 +51301,11 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"oMd" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/cargo/storage) +"oMj" = ( +/obj/structure/flora/bush/sunny/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "oMk" = ( /obj/machinery/camera/directional/south{ c_tag = "Cargo Bay South" @@ -49500,14 +51356,6 @@ "oMT" = ( /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"oNy" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Chapel Electrical Maintenace Upper" - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "oNA" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -49527,19 +51375,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/science/explab) -"oNN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Atrium" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/navigate_destination/kitchen, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "oNO" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -49552,10 +51387,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/aft/lesser) -"oNW" = ( -/obj/structure/water_source/puddle, -/turf/open/floor/grass, -/area/station/security/prison/garden) "oNX" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, @@ -49564,6 +51395,30 @@ /obj/structure/sign/warning/fire/directional/north, /turf/open/floor/glass/reinforced, /area/station/science/ordnance/office) +"oOc" = ( +/obj/machinery/vending/wardrobe/gene_wardrobe, +/obj/structure/sign/departments/genetics/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/genetics) +"oOg" = ( +/obj/effect/spawner/random/medical/patient_stretcher, +/obj/effect/decal/cleanable/blood/gibs/torso, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/window/reinforced/tinted/spawner/directional/north, +/turf/open/floor/plating, +/area/station/security/prison/safe) +"oOh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio6"; + name = "Xenobio Pen 6 Blast Door" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/science/xenobiology) "oOo" = ( /obj/structure/closet/firecloset, /obj/machinery/light/directional/west, @@ -49573,36 +51428,26 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"oOt" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 +"oOw" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) -"oOx" = ( -/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = -24 +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"oOB" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "oOD" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"oOO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "oOP" = ( /obj/effect/turf_decal/siding/thinplating_new/corner, /obj/effect/turf_decal/stripes/line{ @@ -49620,63 +51465,56 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) -"oPa" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/security/prison/work) -"oPd" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "oPl" = ( /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/security/courtroom) +"oPm" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oPn" = ( /obj/structure/closet/secure_closet/injection, /obj/machinery/airalarm/directional/north, /obj/item/soap/nanotrasen, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"oPr" = ( -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) -"oPv" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat/service"; - name = "Service Bay Turret Control"; - pixel_x = 27; - req_access = list("minisat") +"oPt" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/area/station/science/ordnance) +"oPu" = ( +/obj/machinery/igniter/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) +"oPC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) -"oPw" = ( -/obj/structure/disposalpipe/segment, /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/fore) +/area/station/maintenance/starboard/lesser) "oPI" = ( /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) +"oPO" = ( +/obj/structure/disposalpipe/segment, +/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/fore) "oPP" = ( /obj/machinery/computer/scan_consolenew{ dir = 4 @@ -49687,6 +51525,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/lobby) +"oQc" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored/graveyard) "oQn" = ( /obj/structure/chair/sofa/corp/left{ dir = 8 @@ -49727,38 +51568,9 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"oQE" = ( -/obj/effect/turf_decal/trimline/neutral/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/neutral/mid_joiner, -/obj/machinery/space_heater, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/ai_monitored/command/storage/eva) -"oQN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/security/courtroom) -"oQV" = ( -/mob/living/basic/pet/penguin/baby/permanent, -/obj/structure/flora/grass/brown/style_random, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "oQY" = ( /turf/open/floor/iron/white, /area/station/medical/virology) -"oRf" = ( -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "oRk" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -49774,6 +51586,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/structure/table/glass, /obj/machinery/light/cold/directional/east, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/cryo) "oRy" = ( @@ -49795,12 +51608,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"oRH" = ( +/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, +/area/station/science/ordnance) "oRM" = ( /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/port) +"oRZ" = ( +/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/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) "oSa" = ( /obj/machinery/door/airlock/public/glass{ id_tag = "gulag3"; @@ -49818,10 +51644,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/textured, /area/station/security/office) -"oSw" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "oSy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -49833,20 +51655,17 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/lockers) -"oSD" = ( -/obj/structure/stairs/south, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) -"oSQ" = ( -/obj/machinery/camera{ - c_tag = "Medbay Stasis Center North"; - network = list("ss13","medbay") +"oSK" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +/obj/machinery/door/airlock/external/glass{ + name = "Supply Door Airlock"; + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "oSR" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -49904,33 +51723,22 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"oTe" = ( -/obj/structure/table/wood, -/obj/item/trapdoor_remote/preloaded{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/gavelblock{ - pixel_x = 5 +"oTi" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/stripes/line, +/obj/structure/sign/warning/cold_temp/directional/east, +/turf/open/floor/plating, +/area/mine/mechbay) +"oTu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/security/courtroom) -"oTg" = ( -/obj/machinery/door/firedoor, -/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/hallway/primary/central) -"oTh" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm1"; - name = "Dorm 1" - }, -/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/dorms) "oTx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49960,6 +51768,39 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"oUb" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"oUh" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"oUp" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"oUw" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering Lobby" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "oUL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49988,20 +51829,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"oVn" = ( -/obj/effect/turf_decal/box/red/corners{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) -"oVr" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/coin{ - pixel_x = -7 - }, -/obj/effect/spawner/random/clothing/bowler_or_that, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "oVt" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -50024,6 +51851,15 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"oVD" = ( +/obj/structure/rack, +/obj/item/storage/box/evidence, +/obj/item/storage/box/evidence, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/textured, +/area/station/security/brig) "oVG" = ( /obj/machinery/door/airlock/public/glass{ name = "Art Storage" @@ -50078,12 +51914,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"oWu" = ( -/obj/structure/closet/wardrobe/grey, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/calendar/directional/west, -/turf/open/floor/iron, -/area/station/commons/locker) "oWN" = ( /obj/machinery/requests_console/auto_name/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -50095,17 +51925,19 @@ /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"oWV" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"oXc" = ( +"oXb" = ( /obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "oXd" = ( /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, @@ -50157,19 +51989,14 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"oXs" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/machinery/camera{ - c_tag = "Virology Hallway"; - dir = 10; - network = list("ss13","medbay") +"oXx" = ( +/obj/machinery/mass_driver/trash{ + dir = 1 }, -/obj/effect/landmark/start/hangover, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/obj/effect/turf_decal/stripes/line, +/obj/structure/sign/warning/cold_temp/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "oXB" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -50179,6 +52006,18 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"oXE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"oXF" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/mine/mechbay) "oXJ" = ( /obj/machinery/newscaster/directional/north, /obj/item/kirbyplants/random, @@ -50190,19 +52029,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"oXT" = ( -/obj/structure/table/glass, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/item/storage/box/syringes{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron, -/area/station/science/xenobiology) "oXX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50227,13 +52053,13 @@ /obj/machinery/microwave, /turf/open/floor/iron, /area/station/security/courtroom) -"oYm" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 4 +"oYn" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/table/glass, +/turf/open/floor/iron/cafeteria{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/science/research) "oYu" = ( /obj/machinery/status_display/evac/directional/south, /obj/effect/turf_decal/tile/green, @@ -50242,44 +52068,35 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"oYw" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"oYD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/machinery/button/door/directional/east{ + id = "xenobio11"; + name = "Xenobio Pen 11 Blast DOors"; + req_access = list("xenobiology") }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"oYC" = ( /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/lesser) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "oYI" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, /area/station/command/meeting_room) +"oYN" = ( +/obj/structure/table, +/obj/item/hand_tele{ + pixel_x = 3; + pixel_y = 13 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/command/teleporter) "oZd" = ( /obj/structure/fence/corner{ dir = 9 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"oZk" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "oZn" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -50298,12 +52115,9 @@ dir = 4 }, /area/station/security/prison) -"oZD" = ( -/obj/machinery/door/window/left/directional/west{ - req_access = list("hydroponics"); - name = "Hydroponics Equipment" - }, -/turf/open/floor/iron/half, +"oZG" = ( +/obj/machinery/duct, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "oZL" = ( /obj/machinery/atmospherics/components/binary/pump{ @@ -50339,6 +52153,15 @@ dir = 1 }, /area/station/security/prison/safe) +"pau" = ( +/obj/structure/table/wood, +/obj/item/pai_card, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"paw" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "paF" = ( /obj/structure/table, /obj/item/clothing/suit/hooded/wintercoat/science, @@ -50368,9 +52191,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"pba" = ( -/turf/open/floor/stone, -/area/station/service/bar/atrium) "pbk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50406,18 +52226,12 @@ /turf/open/floor/iron, /area/station/construction) "pbF" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ +/obj/structure/chair/sofa/right/brown, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/item/seeds/berry, -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) -"pbH" = ( -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "pbI" = ( /obj/machinery/computer/records/security{ dir = 8 @@ -50431,8 +52245,19 @@ /area/station/security/office) "pbQ" = ( /obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "rd_office_shutters"; + name = "Privacy Shutters" + }, /turf/open/floor/plating, /area/station/command/heads_quarters/rd) +"pbS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pbW" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50440,6 +52265,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"pcb" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "pcc" = ( /obj/item/stack/spacecash/c10{ pixel_x = 4; @@ -50460,27 +52292,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"pcj" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Drone Bay" - }, -/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/siding/brown/corner{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"pco" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/fence/cut/large{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "pcr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ dir = 8 @@ -50492,6 +52303,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage/gas) +"pcx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "pcB" = ( /obj/structure/chair/pew{ dir = 1 @@ -50519,6 +52344,22 @@ /obj/item/coin/silver, /turf/open/floor/iron, /area/station/commons/dorms) +"pcM" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) +"pcT" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "pdc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -50533,6 +52374,21 @@ "pdf" = ( /turf/open/floor/plating, /area/station/maintenance/port/greater) +"pdg" = ( +/obj/structure/table, +/obj/item/electronics/apc, +/obj/item/electronics/airlock, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) +"pdm" = ( +/obj/machinery/chem_dispenser, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/yellow/full, +/obj/item/radio/intercom/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/pharmacy) "pdx" = ( /obj/item/kirbyplants/organic/plant10, /turf/open/floor/sepia, @@ -50548,15 +52404,23 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"pdC" = ( -/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/bar{ +"pdB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"pdD" = ( +/obj/effect/spawner/random/entertainment/arcade{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/iron/cafeteria, +/area/station/hallway/secondary/exit/departure_lounge) "pdK" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark/textured, @@ -50565,30 +52429,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, /area/station/science/explab) -"pdR" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Cargo Bay Receiving Dock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor"; - name = "Loading Doors"; - pixel_y = -8; - req_access = list("cargo") - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor2"; - name = "Loading Doors"; - pixel_y = 8; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pdT" = ( /obj/structure/chair/sofa/corp/right{ dir = 8 @@ -50619,6 +52459,7 @@ /area/station/commons/dorms) "pec" = ( /obj/machinery/vending/cart, +/obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "pee" = ( @@ -50633,6 +52474,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/iron/dark, /area/station/science/explab) +"peq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/departments/security/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "pez" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_edge{ @@ -50651,10 +52498,18 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"peP" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "peV" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"peX" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "pfe" = ( /turf/closed/wall, /area/station/hallway/primary/fore) @@ -50663,43 +52518,30 @@ /obj/structure/grille/broken, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) -"pfn" = ( -/obj/structure/sign/poster/official/work_for_a_future/directional/north, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/prison/visit) "pfw" = ( /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"pfy" = ( -/obj/effect/turf_decal/stripes/line{ +"pfz" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/stairs/medium{ dir = 1 }, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 8; - name = "Air Out" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/medical/virology) "pfD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"pfJ" = ( -/obj/structure/sink/directional/east, -/obj/machinery/button/door/directional/west{ - id = "xenobio2"; - name = "Xenobio Pen 2 Blast Door"; - req_access = list("xenobiology") +"pfE" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/light/floor, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/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/lesser) "pfO" = ( /obj/structure/chair/stool/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50711,6 +52553,15 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/maintenance/department/electrical) +"pgc" = ( +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) +"pgg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/iv_drip, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "pgo" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 10 @@ -50727,11 +52578,19 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/bitrunning/den) -"pgv" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) +"pgt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/hallway/secondary/entry) "pgw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/requests_console/directional/south{ @@ -50793,27 +52652,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) -"phl" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "phr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, /obj/machinery/door/airlock/hydroponics/glass{ - name = "Apiary" + name = "Hydroponics" }, -/turf/open/floor/iron/dark/textured_half{ +/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, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, /area/station/service/hydroponics) "phu" = ( /obj/structure/chair/sofa/bench/left{ @@ -50829,11 +52680,27 @@ dir = 5 }, /area/station/hallway/secondary/entry) -"phB" = ( -/obj/machinery/vending/coffee, -/obj/structure/sign/poster/official/science/directional/south, +"phw" = ( +/obj/machinery/modular_computer/preset/civilian{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/science/breakroom) +/area/station/engineering/lobby) +"phz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"phA" = ( +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "phK" = ( /obj/effect/spawner/random/contraband/prison, /turf/open/floor/plating, @@ -50863,13 +52730,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"pie" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering Access" - }, -/obj/structure/closet/radiation, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "pig" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50925,17 +52785,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/mine/laborcamp/security) -"piI" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera{ - c_tag = "Medbay Stasis Center South"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "piL" = ( /obj/machinery/door/window/brigdoor/security/cell/left/directional/west{ id = "Cell 2"; @@ -50946,35 +52795,18 @@ dir = 1 }, /area/station/security/brig) -"piM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/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, -/obj/structure/cable, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) "piP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"piT" = ( +/obj/machinery/status_display/ai/directional/east, +/obj/structure/chair/sofa/left/brown, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "piV" = ( -/obj/machinery/button/door/directional/south{ - id = "Cargo_Store_In"; - name = "Shutter Control"; - pixel_x = -23 - }, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) "pja" = ( @@ -51007,16 +52839,6 @@ /obj/structure/chair, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"pjk" = ( -/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, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pjl" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/engineering_all, @@ -51042,16 +52864,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"pjz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/fore/lesser) "pjF" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ color = "#ff0000"; @@ -51065,17 +52877,42 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"pjM" = ( -/obj/structure/closet, -/obj/effect/spawner/random/clothing/costume, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/effect/spawner/random/clothing/gloves, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"pjZ" = ( -/obj/structure/closet/crate/freezer/blood, +"pkf" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/bed/medical/emergency, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/west, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/white, -/area/station/medical/cryo) +/area/station/medical/medbay/central) +"pkg" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/sign/departments/science/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"pkq" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"pkz" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/structure/sink/directional/south, +/obj/machinery/camera/directional/north{ + c_tag = "Virology Break Room"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/station/medical/virology) "pkN" = ( /obj/structure/railing, /obj/effect/mapping_helpers/burnt_floor, @@ -51118,11 +52955,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/maintenance/port/greater) -"ply" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/caution_sign, +"plI" = ( +/obj/structure/chair/stool, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/starboard/fore) "plN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/neutral/opposingcorners, @@ -51143,16 +52979,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"plX" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"pme" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/dark, -/area/station/science/ordnance) +/area/station/service/hydroponics) +"pmi" = ( +/obj/structure/cable, +/obj/structure/sign/warning/engine_safety/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) "pmn" = ( /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, @@ -51165,6 +53004,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"pmA" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "pna" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -51193,21 +53044,23 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/computer) -"pnq" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/science/alt/directional/north, -/turf/open/openspace, -/area/station/science/research) "pns" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/duct, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/item/flashlight{ - pixel_y = 3; - pixel_x = -4 - }, /turf/open/floor/iron, -/area/station/maintenance/starboard/fore) +/area/station/service/kitchen/coldroom) +"pnw" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "pnz" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -51238,6 +53091,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp) +"pnK" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/science/explab) "pnR" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat_interior) @@ -51263,22 +53122,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"pog" = ( -/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/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = 6 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms/laundry) "pou" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, @@ -51293,6 +53136,15 @@ "poy" = ( /turf/open/floor/carpet/green, /area/station/service/library) +"poC" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "poK" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -51302,17 +53154,22 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/commons/locker) -"poV" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, +"poL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /turf/open/floor/iron, -/area/station/service/bar) -"poY" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/hallway/primary/central) +"poO" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "ppc" = ( /obj/item/trash/syndi_cakes, /obj/effect/turf_decal/stripes/red/line{ @@ -51357,9 +53214,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"pps" = ( -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"ppz" = ( +/obj/machinery/computer/rdconsole{ + dir = 1 + }, +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/command/heads_quarters/rd) "ppD" = ( /obj/structure/chair/office{ dir = 8 @@ -51367,6 +53229,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"ppH" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/chair/sofa/right/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ppK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/yellow{ @@ -51393,6 +53263,13 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"ppY" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "pqc" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 @@ -51425,17 +53302,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"pqK" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"pqZ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/item/storage/box/matches, -/obj/effect/spawner/random/entertainment/cigar, -/turf/open/floor/iron, -/area/station/service/bar) "pra" = ( /turf/open/floor/iron/dark, /area/station/science/robotics/lab) @@ -51460,10 +53326,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"prF" = ( -/obj/machinery/telecomms/server/presets/security, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "prH" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -51473,6 +53335,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"prX" = ( +/obj/machinery/light/cold/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "psb" = ( /turf/closed/wall/ice, /area/icemoon/underground/explored) @@ -51497,6 +53363,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"psu" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering Access" + }, +/obj/structure/closet/radiation, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/main) "psv" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51552,30 +53426,40 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"ptk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/departments/vault/directional/north{ - pixel_x = 32 +"ptp" = ( +/obj/structure/bookcase/random, +/turf/open/floor/iron/grimy, +/area/station/maintenance/aft/greater) +"ptr" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ + pixel_x = 7; + pixel_y = 20 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) -"ptv" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/item/taperecorder{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 6 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/secure_safe/hos{ + pixel_x = 28; + pixel_y = 6 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/hos) "ptB" = ( /obj/machinery/modular_computer/preset/id{ dir = 8 }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"ptO" = ( -/obj/machinery/barsign, -/turf/closed/wall, -/area/station/service/bar/atrium) "ptQ" = ( /obj/structure/disposalpipe/trunk/multiz/down, /obj/effect/turf_decal/stripes/line, @@ -51585,6 +53469,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"ptS" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/station/service/library) "ptY" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/maint) @@ -51627,17 +53517,39 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"puB" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" +"puw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio3"; + name = "Xenobio Pen 3 Blast Door" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"puz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"puF" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"puL" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/aft/greater) +/area/station/maintenance/starboard/aft) "puN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51668,6 +53580,18 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) +"puY" = ( +/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) +"puZ" = ( +/obj/structure/railing/wooden_fence{ + dir = 1 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "pve" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -51679,6 +53603,17 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"pvi" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51725,13 +53660,16 @@ }, /turf/open/floor/eighties/red, /area/station/security/prison/safe) -"pvU" = ( -/obj/machinery/light/small/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria{ - dir = 8 +"pvP" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/science/research) +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "pvY" = ( /obj/machinery/computer/order_console/mining, /obj/machinery/light_switch/directional/north, @@ -51771,6 +53709,12 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"pwr" = ( +/obj/structure/sign/warning{ + pixel_y = 48 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "pwv" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ color = "#0000ff"; @@ -51780,16 +53724,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"pwz" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"pwC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/service/chapel) "pwF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -51819,14 +53753,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"pxg" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/closet, -/obj/item/bodybag, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "pxi" = ( /obj/machinery/door/window/left/directional/west{ name = "Mass Driver"; @@ -51846,10 +53772,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pxu" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/engine, -/area/station/science/explab) +"pxp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "pxL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -51891,6 +53820,24 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"pyl" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/structure/sign/flag/terragov/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) +"pyn" = ( +/obj/item/storage/photo_album/chapel, +/obj/structure/noticeboard/directional/west, +/obj/machinery/light/small/directional/west, +/obj/structure/rack/skeletal, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "pyr" = ( /obj/machinery/griddle, /turf/open/floor/iron/cafeteria, @@ -51901,6 +53848,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"pyA" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/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/dark, +/area/station/service/hydroponics) "pyD" = ( /obj/machinery/shower/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -51909,14 +53867,14 @@ }, /turf/open/floor/iron/freezer, /area/station/maintenance/starboard/fore) +"pyE" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/west, +/obj/machinery/fax/auto_name, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "pyG" = ( -/obj/machinery/button/door/directional/east{ - id = "armory"; - name = "Armory Shutters"; - pixel_x = -9; - pixel_y = 30; - req_access = list("armory") - }, /obj/structure/rack, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -52006,6 +53964,19 @@ /obj/item/book/manual/wiki/detective, /turf/open/floor/carpet/blue, /area/station/security/prison/work) +"pzx" = ( +/obj/machinery/hydroponics/constructable, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/item/seeds/carrot, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/green{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/mine/laborcamp) "pzC" = ( /obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/siding/yellow{ @@ -52013,18 +53984,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"pzD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/mine/laborcamp) "pzV" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -52052,16 +54011,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/science/ordnance) -"pAn" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/status_display/ai/directional/south, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/chem_master/condimaster, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "pAN" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -52076,15 +54025,12 @@ dir = 4 }, /area/mine/production) -"pAW" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner/end{ - dir = 4 +"pAX" = ( +/obj/structure/chair/plastic{ + dir = 8 }, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, /area/station/maintenance/starboard/fore) "pAZ" = ( /obj/effect/spawner/structure/window/reinforced, @@ -52099,17 +54045,27 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) +"pBs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/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, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pBA" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/treatment_center) -"pBB" = ( -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "pBE" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) @@ -52128,6 +54084,16 @@ /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/security/warden) +"pBR" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pBV" = ( /obj/structure/chair/office/light, /turf/open/floor/iron/dark, @@ -52150,11 +54116,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"pCp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/flasher{ + pixel_y = -26; + id = "visitorflash" + }, +/turf/open/floor/iron, +/area/station/security/prison/visit) "pCE" = ( /obj/machinery/firealarm/directional/east, /obj/structure/filingcabinet, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"pCG" = ( +/obj/structure/fence/corner{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "pCI" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -52191,14 +54171,6 @@ dir = 1 }, /area/station/science/lab) -"pDl" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/security/glass{ - name = "Permabrig Visitation" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/brig, -/turf/open/floor/iron, -/area/station/security/prison/visit) "pDt" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -52215,6 +54187,17 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"pDA" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "pDB" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -52235,6 +54218,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"pDL" = ( +/obj/structure/sign/departments/psychology/directional/south, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "pDQ" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -52251,6 +54241,14 @@ "pDW" = ( /turf/open/floor/plating, /area/mine/laborcamp/security) +"pEc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pEg" = ( /obj/machinery/light/small/directional/east, /obj/structure/table, @@ -52332,12 +54330,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"pEY" = ( -/obj/structure/table, -/obj/item/plant_analyzer, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "pFg" = ( /obj/structure/chair{ dir = 8 @@ -52348,18 +54340,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pFl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) +"pFv" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "pFV" = ( /obj/structure/railing/corner, /turf/open/floor/iron/smooth, @@ -52389,12 +54374,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"pGg" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pGo" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -52404,19 +54383,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) -"pGp" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Research Break Room" - }, -/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, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) "pGt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -52424,14 +54390,20 @@ /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "pGy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, -/area/station/service/hydroponics/garden) +/area/station/hallway/secondary/entry) +"pGG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/random/directional/south, +/obj/structure/closet/toolcloset, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "pGJ" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/effect/mapping_helpers/burnt_floor, @@ -52446,6 +54418,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/virology) +"pGT" = ( +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/station/service/library) "pGW" = ( /obj/machinery/camera/directional/west{ c_tag = "MiniSat External SouthEast"; @@ -52500,30 +54476,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"pHS" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/fluorine{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/epinephrine{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/iodine{ - pixel_x = 1 - }, -/obj/structure/sign/warning/chem_diamond/directional/west, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 +"pHW" = ( +/obj/machinery/atmospherics/components/tank, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/area/station/medical/chem_storage) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "pHX" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"pIh" = ( +/obj/structure/bookcase, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pIj" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -52542,26 +54512,25 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"pIt" = ( -/obj/structure/sign/warning/no_smoking/directional/east, -/turf/open/floor/iron/white/side{ - dir = 10 - }, -/area/station/science/research) +"pIu" = ( +/obj/structure/table, +/obj/item/binoculars, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "pIw" = ( /obj/machinery/vending/wardrobe/curator_wardrobe, -/turf/open/floor/engine/cult, -/area/station/service/library) -"pJb" = ( -/obj/structure/sign/nanotrasen{ +/obj/structure/sign/painting/library_private{ pixel_x = -32 }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/turf/open/floor/engine/cult, +/area/station/service/library) +"pIy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/starboard/upper) "pJc" = ( /obj/machinery/component_printer, /obj/machinery/camera/directional/west{ @@ -52572,11 +54541,21 @@ dir = 4 }, /area/station/science/explab) -"pJq" = ( -/obj/structure/statue/snow/snowman{ - name = "Steve" +"pJi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/misc/asteroid/snow/coldroom, +/obj/item/flashlight{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) +"pJm" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "pJu" = ( /obj/effect/spawner/structure/window/reinforced, @@ -52646,16 +54625,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"pKo" = ( -/obj/structure/disposalpipe/segment{ +"pKl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/plating, +/area/station/medical/morgue) "pKu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -52696,21 +54673,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pKX" = ( +/obj/structure/railing, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/four, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pKY" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"pLa" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"pLe" = ( -/obj/structure/sign/warning/xeno_mining, -/turf/closed/wall/ice, +"pLg" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/openspace/icemoon/keep_below, /area/icemoon/surface/outdoors/nospawn) +"pLh" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth, +/area/mine/eva) "pLn" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52723,17 +54706,6 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"pLo" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "pLr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -52751,18 +54723,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"pLu" = ( -/obj/structure/sink/kitchen/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "pLv" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, @@ -52784,14 +54744,16 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"pLx" = ( -/obj/machinery/computer/security{ - dir = 4 +"pLS" = ( +/obj/machinery/mineral/stacking_machine{ + output_dir = 2; + stack_amt = 10 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal) "pLZ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -52812,11 +54774,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"pMh" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/wallet/random, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "pMq" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Storage Room - South" @@ -52857,16 +54814,21 @@ "pMF" = ( /turf/open/floor/iron/white, /area/station/science/xenobiology) +"pMM" = ( +/obj/structure/fence/door, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"pMN" = ( +/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "pMY" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/xenobiology) -"pNi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "pNm" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) @@ -52880,22 +54842,6 @@ }, /turf/open/floor/carpet, /area/station/command/meeting_room) -"pNy" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/machinery/camera{ - c_tag = "Virology Module South"; - dir = 4; - network = list("ss13","medbay") - }, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/iron/white, -/area/station/medical/virology) "pNz" = ( /obj/structure/closet/secure_closet/warden, /obj/machinery/light/small/directional/east, @@ -52923,27 +54869,6 @@ dir = 1 }, /area/station/engineering/lobby) -"pNY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table/glass, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = -3; - pixel_y = 9 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "pNZ" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -52959,12 +54884,6 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/prison/safe) -"pOl" = ( -/obj/structure/flora/tree/pine/style_random{ - pixel_x = -15 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "pOo" = ( /obj/machinery/airalarm/directional/north, /obj/structure/closet/secure_closet/personal/cabinet, @@ -52981,26 +54900,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"pOC" = ( -/obj/machinery/computer/order_console/cook{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/bar{ - dir = 1 +"pOH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Teleport Access" }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"pOK" = ( -/obj/structure/disposalpipe/segment{ +/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/command/teleporter, +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) +/turf/open/floor/iron, +/area/station/command/teleporter) "pOL" = ( /turf/open/floor/iron/white, /area/station/science/ordnance) @@ -53011,6 +54925,12 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"pPg" = ( +/obj/structure/stairs/west, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/service/hydroponics) "pPl" = ( /obj/item/stack/ore/silver, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53033,30 +54953,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"pPD" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/firealarm/directional/east, -/obj/structure/closet/l3closet/virology, -/obj/machinery/camera{ - c_tag = "Virology Airlock"; - dir = 9; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"pPE" = ( -/obj/machinery/modular_computer/preset/id, -/obj/machinery/computer/security/telescreen/vault/directional/north, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "pPK" = ( /obj/structure/stairs/east, /turf/open/floor/iron/dark/textured, @@ -53108,6 +55004,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"pQl" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cytology Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "pQo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -53147,11 +55050,13 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"pQG" = ( -/obj/structure/cable/multilayer/multiz, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +"pQD" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "pQK" = ( /obj/structure/closet/secure_closet/evidence, /turf/open/floor/iron/dark/textured_edge{ @@ -53176,25 +55081,18 @@ "pRj" = ( /turf/closed/wall, /area/station/maintenance/port/aft) -"pRB" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Security - Lower Brig Hallway" - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) -"pRG" = ( -/obj/effect/spawner/random/entertainment/arcade{ - dir = 4 +"pRs" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/tile/red/opposingcorners{ +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 1 }, -/turf/open/floor/iron/cafeteria, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "pRL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53202,7 +55100,6 @@ /turf/open/floor/iron/cafeteria, /area/station/commons/storage/art) "pRX" = ( -/obj/structure/secure_safe/directional/south, /obj/machinery/light/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 @@ -53214,10 +55111,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"pSd" = ( -/obj/machinery/digital_clock/directional/east, -/turf/open/floor/iron/grimy, -/area/station/hallway/secondary/entry) "pSk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53230,16 +55123,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"pSn" = ( -/obj/machinery/seed_extractor, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/green/anticorner/contrasted{ - dir = 1 +"pSq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "pSu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -53258,48 +55147,35 @@ "pSz" = ( /turf/open/openspace, /area/station/maintenance/starboard/upper) -"pSP" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 +"pSA" = ( +/obj/machinery/seed_extractor, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Permabrig Forestry"; + network = list("ss13","prison") }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron, -/area/station/service/chapel) -"pSX" = ( -/obj/structure/closet/crate{ - name = "Le Caisee D'abeille" - }, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/queen_bee/bought, -/obj/item/clothing/suit/hooded/bee_costume, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 +/area/station/security/prison/garden) +"pSF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/stool/directional/east, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"pSK" = ( +/obj/effect/turf_decal/weather/snow/corner{ dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/warm/directional/north, -/obj/item/seeds/sunflower, -/obj/effect/spawner/random/food_or_drink/seed, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/effect/turf_decal/weather/snow/corner, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "pTd" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -53321,6 +55197,37 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) +"pTi" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + id = "botany_apiary"; + name = "Bee Protection Shutters" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"pTy" = ( +/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/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "pTB" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -53341,6 +55248,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"pTT" = ( +/obj/machinery/smartfridge/extract/preloaded, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "pTU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner{ @@ -53360,6 +55272,24 @@ "pTY" = ( /turf/open/floor/iron/white/side, /area/station/science/explab) +"pUa" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/genturf, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) +"pUi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "pUn" = ( /obj/structure/sink/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -53377,6 +55307,21 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"pUX" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) +"pVg" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/stairs/north, +/turf/open/floor/iron, +/area/mine/eva/lower) +"pVj" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "pVl" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -53400,6 +55345,11 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"pVD" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/generic/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "pVH" = ( /turf/closed/wall/mineral/wood, /area/station/maintenance/aft/lesser) @@ -53446,36 +55396,41 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"pWi" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet{ - desc = "An outlet for the pneumatic disposal system. This one seems designed for rapid corpse disposal."; - dir = 1; - name = "rapid corpse mover 9000" - }, -/obj/effect/turf_decal/stripes/line{ +"pWp" = ( +/obj/structure/railing/corner{ dir = 8 }, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "pWu" = ( /obj/docking_port/stationary/syndicate/northeast{ dir = 8 }, /turf/open/genturf, /area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"pWG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"pWE" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"pWJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + 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/medical/morgue) +/area/station/service/hydroponics) "pWY" = ( /obj/structure/table/glass, /obj/structure/extinguisher_cabinet/directional/east, @@ -53518,16 +55473,27 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"pXq" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio6"; + name = "Xenobio Pen 6 Blast DOors"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"pXt" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division Server Room"; + network = list("ss13","rd") + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/openspace/icemoon, +/area/station/science/server) "pXv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"pXy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "pXB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -53575,6 +55541,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"pYn" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "pYz" = ( /obj/structure/railing/corner, /obj/machinery/door/firedoor/border_only, @@ -53592,13 +55568,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"pYD" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "pYF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53610,6 +55579,9 @@ /area/station/cargo/storage) "pZh" = ( /obj/effect/spawner/random/vending/snackvend, +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, /turf/open/floor/wood, /area/station/command/meeting_room) "pZm" = ( @@ -53625,15 +55597,22 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"pZA" = ( +"pZB" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Chemistry Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 1 }, -/obj/machinery/light/directional/west, -/obj/item/kirbyplants/random/dead/research_director, -/obj/machinery/computer/security/telescreen/rd/directional/west, -/turf/open/floor/iron/smooth_half, -/area/station/command/heads_quarters/rd) +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/turf_decal/tile/yellow/full, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "pZD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53648,15 +55627,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/engineering/storage) -"pZO" = ( -/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/effect/spawner/random/structure/steam_vent, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pZY" = ( /mob/living/simple_animal/hostile/asteroid/polarbear{ move_force = 999; @@ -53664,6 +55634,11 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"pZZ" = ( +/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/greater) "qab" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{ dir = 8 @@ -53671,25 +55646,17 @@ /turf/open/floor/engine/plasma, /area/station/engineering/atmos) "qad" = ( -/obj/machinery/requests_console/auto_name/directional/south, -/obj/structure/bodycontainer/morgue/beeper_off{ - dir = 1 +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/machinery/light/directional/east, +/obj/structure/sign/departments/science/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "qai" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/port/aft) -"qal" = ( -/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/landmark/event_spawn, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/stone, -/area/station/commons/lounge) "qam" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -53701,11 +55668,22 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"qaD" = ( -/obj/machinery/light_switch/directional/north, -/obj/structure/sign/poster/official/help_others/directional/west, -/turf/open/floor/iron/checker, -/area/station/commons/storage/emergency/port) +"qaz" = ( +/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/heavy{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + name = "Ordnance Launch Room" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "qaE" = ( /obj/effect/turf_decal/arrows/red{ dir = 8 @@ -53743,6 +55721,26 @@ /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"qaS" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/commons/lounge) "qaU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/firealarm/directional/west, @@ -53761,19 +55759,11 @@ /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, -/area/station/science/ordnance/office) -"qbd" = ( -/obj/structure/railing/corner{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/science/ordnance/office) "qbh" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/camera/directional/west{ @@ -53781,6 +55771,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"qbk" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Security Checkpoint" + }, +/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/cyclelink_helper_multi{ + cycle_id = "brigoutpost" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/security/brig/entrance) +"qbp" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "qbq" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -53793,14 +55806,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"qbz" = ( -/obj/structure/ladder, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) "qbA" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/east, @@ -53817,71 +55822,36 @@ /turf/open/floor/wood, /area/station/commons/dorms) "qbG" = ( -/obj/machinery/door/airlock/external, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/medical/morgue) -"qbM" = ( -/obj/structure/ore_container/food_trough/raptor_trough, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "qbO" = ( /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/aft) -"qbU" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qbW" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"qbY" = ( -/obj/item/clothing/accessory/pocketprotector, -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/camera{ - pixel_y = 4; - pixel_x = -3 - }, -/obj/effect/spawner/random/clothing/mafia_outfit, -/obj/effect/spawner/random/clothing/mafia_outfit, -/obj/effect/spawner/random/clothing/backpack, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "qca" = ( /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/iron, /area/station/tcommsat/computer) -"qci" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, +"qch" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end/flip, /turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) +/area/station/maintenance/starboard/fore) "qck" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qcl" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/science/cytology) "qcu" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, @@ -53891,6 +55861,25 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron, /area/station/cargo/miningdock) +"qcI" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced, +/obj/item/stack/wrapping_paper{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/stack/package_wrap{ + pixel_x = -1; + pixel_y = -1 + }, +/obj/item/dest_tagger, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qcL" = ( /obj/effect/turf_decal/siding/yellow/end{ dir = 8 @@ -53909,16 +55898,14 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"qdx" = ( -/obj/structure/stairs/north{ - dir = 4 - }, -/turf/open/floor/iron/stairs/old{ +"qdq" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/area/station/engineering/atmos/mix) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qdC" = ( -/obj/structure/table, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, @@ -53950,6 +55937,22 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/red, /area/station/security/prison/work) +"qdI" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Central Hallway South-West" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "qdK" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -53986,6 +55989,11 @@ /obj/machinery/microwave, /turf/open/floor/stone, /area/mine/eva/lower) +"qes" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "qeF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54032,17 +56040,6 @@ dir = 8 }, /area/station/service/chapel) -"qeW" = ( -/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/wood, -/obj/structure/chair/stool/bar/directional/north, -/obj/structure/cable, -/turf/open/floor/eighties, -/area/station/commons/lounge) "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) @@ -54057,23 +56054,56 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"qfj" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"qfr" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/cigarette_pack, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "qfs" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) +"qfy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/obj/machinery/door/window/right/directional/west{ + name = "Corpse Arrivals" + }, +/obj/structure/window/spawner/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/trimline/neutral/filled/end{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"qfz" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) +"qfA" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Research Division Access"; + network = list("ss13","rd") + }, +/obj/structure/sink/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/white, +/area/station/science/research) "qfE" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 @@ -54083,30 +56113,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"qfI" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ +"qfG" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"qfJ" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment, -/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/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, /area/station/commons/fitness) "qgm" = ( /obj/machinery/meter/monitored/waste_loop, @@ -54116,41 +56128,32 @@ /obj/effect/turf_decal/siding/wideplating/corner, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"qgn" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Departure Lounge Holding Area"; - dir = 9 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "qgu" = ( /obj/structure/cable, /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"qgv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/service/chapel) +"qgH" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qgO" = ( /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, /area/station/security/processing) -"qgQ" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"qgT" = ( -/obj/effect/spawner/random/structure/closet_private, +"qhb" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "qhd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -54161,25 +56164,20 @@ /mob/living/basic/bot/cleanbot, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"qhp" = ( -/obj/structure/sign/warning/gas_mask/directional/south, -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"qhi" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/trash/mopbucket, /turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) -"qhF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" - }, -/obj/effect/landmark/navigate_destination, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 +/area/station/maintenance/starboard/lesser) +"qhI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - South West" }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms) +/turf/open/floor/iron, +/area/station/engineering/atmos) "qhL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -54202,11 +56200,12 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/side, /area/station/security/processing) -"qhQ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +"qhR" = ( +/obj/structure/fence/corner{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "qhS" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -54214,12 +56213,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/prison) -"qhV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "qig" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54228,39 +56221,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qit" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"qiA" = ( -/obj/machinery/chem_master/condimaster{ - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - name = "HoochMaster Deluxe" +"qiv" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "qiF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) -"qiG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "qiJ" = ( /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /obj/effect/spawner/random/contraband/prison, @@ -54275,10 +56247,19 @@ /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "qiL" = ( -/obj/machinery/door/airlock/hatch, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/shovel, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/radio/off, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Departure Lounge Emergency EVA" + }, +/turf/open/floor/iron/white, +/area/station/hallway/secondary/exit/departure_lounge) "qiN" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, @@ -54288,15 +56269,9 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, +/obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"qiT" = ( -/obj/effect/turf_decal/tile/green/anticorner/contrasted{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics/garden) "qjb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 10 @@ -54308,9 +56283,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"qjd" = ( -/turf/open/misc/ice/coldroom, -/area/station/service/kitchen/coldroom) "qjg" = ( /obj/effect/landmark/observer_start, /obj/effect/turf_decal/plaque{ @@ -54333,18 +56305,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/station/maintenance/starboard/fore) -"qjm" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Bridge West Access" - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"qjn" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/fore) "qjp" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/thinplating_new, @@ -54358,24 +56318,11 @@ /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qjs" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Ordnance Lower Mix Lab"; - network = list("ss13","rd") - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qjx" = ( /obj/structure/cable, /obj/machinery/holopad/secure, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"qjC" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "qjF" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -54383,6 +56330,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"qjJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "qjO" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -54399,15 +56353,21 @@ }, /turf/open/floor/plating, /area/mine/eva) -"qkc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"qjW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/trunk/multiz/down, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/aft) +/obj/effect/landmark/event_spawn, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"qkg" = ( +/mob/living/basic/pet/penguin/baby/permanent, +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = -3 + }, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "qku" = ( /obj/structure/chair/comfy/beige{ dir = 4 @@ -54450,6 +56410,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/lockers) +"qkR" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/chem_master, +/obj/machinery/light/small/directional/west, +/turf/open/floor/glass/reinforced, +/area/station/medical/treatment_center) "qkT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54457,6 +56423,11 @@ /obj/effect/landmark/start/station_engineer, /turf/open/floor/iron, /area/station/engineering/engine_smes) +"qlf" = ( +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "qlk" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -54487,6 +56458,33 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"qlD" = ( +/obj/structure/cable, +/obj/structure/table, +/obj/item/storage/medkit/regular, +/obj/item/storage/medkit/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"qlE" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qlG" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty{ @@ -54515,18 +56513,17 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) -"qlS" = ( -/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/wood/parquet, -/area/station/service/bar/atrium) "qlU" = ( /obj/structure/closet/crate, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"qmh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "qmi" = ( /turf/open/floor/iron, /area/station/cargo/lobby) @@ -54536,6 +56533,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig/entrance) +"qmq" = ( +/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/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qmt" = ( /turf/closed/wall, /area/mine/eva/lower) @@ -54548,36 +56553,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qmT" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/brown{ - dir = 4 - }, -/obj/machinery/button/door/directional/north{ - id = "miningdorm_B"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_y = 23; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/stellar, -/area/mine/production) "qmU" = ( /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/plating, /area/station/medical/virology) -"qmV" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/exit/departure_lounge) "qna" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Permabrig Chapel"; @@ -54617,12 +56598,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) -"qnv" = ( -/obj/structure/closet/crate/grave, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "qnC" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) @@ -54658,20 +56633,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qod" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = -4; - pixel_y = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "qoi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54683,26 +56644,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/wood/parquet, /area/station/service/library) -"qon" = ( -/obj/machinery/door/airlock/wood{ - name = "Backstage" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/commons/lounge) "qoK" = ( /obj/structure/flora/rock/style_random, /obj/structure/window/reinforced/spawner/directional/south, @@ -54717,14 +56658,6 @@ /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/station/security/prison/safe) -"qoZ" = ( -/obj/effect/turf_decal/trimline/white/arrow_ccw, -/obj/effect/turf_decal/trimline/white/arrow_cw{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) "qpb" = ( /obj/machinery/disposal/bin{ desc = "A pneumatic waste disposal unit. This one leads to the morgue."; @@ -54749,24 +56682,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) -"qpp" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Quartermaster's Office" - }, -/obj/machinery/status_display/supply{ - pixel_x = -32 +"qpm" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/desk_bell{ + pixel_x = -3 }, -/obj/structure/table, -/obj/item/coin/silver, -/obj/item/computer_disk/quartermaster, -/obj/item/computer_disk/quartermaster, -/obj/item/computer_disk/quartermaster, -/obj/item/clipboard, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +/turf/open/floor/iron, +/area/station/service/bar) +"qpo" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ dir = 8 }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) +/area/station/medical/chemistry) "qpr" = ( /obj/effect/turf_decal/trimline/dark_blue/line, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -54790,7 +56719,7 @@ }, /obj/machinery/light_switch/directional/west{ pixel_x = -34; - pixel_y = 7 + pixel_y = 6 }, /obj/machinery/button/door/directional/west{ id = "gene_desk_shutters"; @@ -54834,15 +56763,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/station/service/library) -"qpQ" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Upper" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "qpR" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -54852,19 +56772,6 @@ /obj/machinery/recharge_station, /turf/open/floor/wood, /area/station/command/meeting_room) -"qpU" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/reagent_dispensers/plumbed{ - name = "dormitory reservoir" - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/fore) "qpZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -54885,18 +56792,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"qqh" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8; - name = "Exfiltrate Port" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/mix) -"qqn" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/iron/smooth, -/area/mine/eva/lower) "qqv" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, @@ -54927,15 +56822,6 @@ dir = 1 }, /area/station/security/office) -"qre" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/vending/wardrobe/hydro_wardrobe, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qrg" = ( /obj/item/bodypart/head, /obj/effect/decal/cleanable/blood, @@ -54964,42 +56850,29 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"qrm" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall/r_wall, -/area/station/engineering/storage_shared) -"qrq" = ( -/obj/structure/toilet/greyscale{ - cistern_open = 1; - dir = 1 - }, -/obj/effect/spawner/random/entertainment/cigar, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) -"qrF" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ +"qrr" = ( +/obj/structure/light_construct/directional/south, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/maintenance/port/aft) +"qrB" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "qrJ" = ( /obj/machinery/ticket_machine/directional/east, /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qrM" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) +"qrP" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "qrQ" = ( /obj/structure/railing{ dir = 8 @@ -55021,16 +56894,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) -"qsh" = ( -/obj/structure/plaque/static_plaque/golden/commission/icebox, -/obj/effect/landmark/navigate_destination/dockarrival, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/large, -/area/station/hallway/secondary/entry) -"qsq" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) +"qsa" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "qsy" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -55038,35 +56907,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qsG" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/closet/emcloset, -/turf/open/floor/iron/white, -/area/station/medical/virology) "qsQ" = ( /obj/machinery/stasis, /obj/machinery/defibrillator_mount/directional/north, /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"qsR" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/rack, -/obj/item/clothing/gloves/latex, -/turf/open/floor/plating, -/area/station/security/prison/safe) -"qsY" = ( -/obj/effect/turf_decal/tile/neutral{ +"qtd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "qtj" = ( /turf/closed/wall, /area/station/engineering/storage) @@ -55090,22 +56943,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"qtG" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Fitness Room South" - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -7 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/fitness) +"qtD" = ( +/obj/structure/sign/warning/directional/south, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "qtH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -55122,10 +56963,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"qtS" = ( -/obj/machinery/light/directional/north, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qud" = ( /obj/machinery/conveyor_switch/oneway{ id = "mining_internal"; @@ -55146,33 +56983,10 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"quw" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/closet/crate/hydroponics, -/obj/item/wrench, -/obj/item/wrench, -/obj/item/grenade/chem_grenade/antiweed{ - pixel_x = 3; - pixel_y = 1 - }, -/obj/item/grenade/chem_grenade/antiweed, -/obj/item/shovel/spade, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_y = 3 - }, -/obj/item/cultivator, -/obj/item/shovel/spade, -/obj/item/reagent_containers/cup/watering_can, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"quy" = ( +/obj/structure/flora/grass/both/style_random, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "quB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -55183,9 +56997,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"quJ" = ( -/turf/open/floor/stone, -/area/station/commons/lounge) "quK" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -55195,6 +57006,23 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"quS" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"quW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "quY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -55216,6 +57044,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qvx" = ( +/obj/item/food/grown/carrot, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "qvE" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/light/small/directional/east, @@ -55234,9 +57066,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qvN" = ( -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "qvQ" = ( /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/dark, @@ -55305,11 +57134,13 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"qwn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/vending/cigarette, +"qwo" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, -/area/station/commons/locker) +/area/station/engineering/atmos/storage) "qwB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, @@ -55318,40 +57149,6 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"qwJ" = ( -/obj/machinery/computer/rdconsole{ - dir = 1 - }, -/obj/machinery/button/door/directional/south{ - id = "Biohazard"; - name = "Biohazard Shutter Control"; - pixel_x = -6; - req_access = list("research") - }, -/obj/machinery/button/door/directional/south{ - id = "rnd2"; - name = "Research Lab Shutter Control"; - pixel_x = 6; - req_access = list("research") - }, -/obj/machinery/button/door/directional/south{ - id = "xenobiomain"; - name = "Xenobiology Containment Blast Door"; - pixel_x = -6; - pixel_y = -34; - req_access = list("xenobiology") - }, -/obj/machinery/button/door/directional/south{ - id = "misclab"; - name = "Test Chamber Blast Doors"; - pixel_x = 6; - pixel_y = -34; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/command/heads_quarters/rd) "qwN" = ( /obj/machinery/camera/directional/east{ c_tag = "Research Division North"; @@ -55361,10 +57158,6 @@ dir = 9 }, /area/station/science/research) -"qwO" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "qwX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/decal/cleanable/dirt, @@ -55427,31 +57220,28 @@ /obj/machinery/holopad, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"qxv" = ( -/obj/machinery/disposal/bin{ - desc = "A pneumatic waste disposal unit. This one leads to the frozen exterior of the moon."; - name = "deathsposal unit" +"qxG" = ( +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 1 }, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/structure/sign/warning/deathsposal/directional/north, -/obj/structure/sign/warning/fire/directional/west, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/virology) -"qxy" = ( -/obj/effect/turf_decal/siding/yellow/corner{ +/obj/structure/disposalpipe/trunk/multiz/down, +/obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 }, -/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, -/area/station/engineering/lobby) +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "qxI" = ( /turf/open/floor/plastic, /area/station/commons/dorms/laundry) +"qxN" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "qxQ" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -55461,6 +57251,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qya" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/emproof, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 10 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "qyn" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -55468,6 +57278,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"qyH" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "qyI" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -55501,23 +57318,11 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"qyZ" = ( -/obj/structure/table, -/obj/machinery/light/small/dim/directional/west, -/obj/item/camera{ - pixel_y = 9; - pixel_x = -2 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/empty{ - pixel_y = 5; - pixel_x = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) -"qzq" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/r_wall, -/area/mine/mechbay) +"qzn" = ( +/obj/structure/chair/sofa/bench/right, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "qzs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55532,6 +57337,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"qzy" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "qzF" = ( /obj/item/poster/random_contraband, /obj/effect/spawner/random/maintenance/two, @@ -55554,18 +57373,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qzU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "qzV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -55581,13 +57388,12 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"qAq" = ( -/obj/structure/closet/toolcloset, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/sign/poster/official/random/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) +"qAh" = ( +/obj/structure/railing/wooden_fence{ + dir = 5 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "qAB" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -55598,26 +57404,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qAP" = ( +/obj/machinery/shower/directional/east, +/turf/open/floor/iron/smooth, +/area/mine/living_quarters) "qAQ" = ( /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"qAS" = ( -/obj/item/stack/rods/fifty, -/obj/structure/rack, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil{ - amount = 5 - }, -/obj/item/stack/sheet/mineral/plasma{ - amount = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) "qAT" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ @@ -55633,15 +57426,13 @@ /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"qBd" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm3"; - name = "Dorm 3" +"qBi" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/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/dorms) +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qBj" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -55661,6 +57452,9 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine/air, /area/station/engineering/atmos) +"qCu" = ( +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "qCA" = ( /obj/structure/table/wood, /turf/open/floor/wood, @@ -55689,11 +57483,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"qCJ" = ( -/obj/structure/sign/warning/directional/north, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/service/chapel) "qCP" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/porta_turret/ai{ @@ -55708,37 +57497,27 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"qCY" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "mining-aux-mechbay-external" +"qDm" = ( +/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/machinery/meter/layer4, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"qDA" = ( +/obj/structure/bed{ + dir = 4 }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining Mech Bay External Airlock"; - opacity = 0 +/obj/item/bedsheet/brown{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/turf/open/floor/iron/large, -/area/mine/mechbay) -"qDj" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Gas to Filter" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"qDk" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/carpet/donk, +/area/mine/production) "qDD" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, @@ -55760,15 +57539,19 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"qDS" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "qEa" = ( /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"qEh" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "qEj" = ( /obj/structure/table/glass, /obj/item/assembly/igniter, @@ -55799,6 +57582,11 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"qEn" = ( +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "qEu" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -55811,14 +57599,6 @@ /obj/structure/tank_holder/oxygen/yellow, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"qEv" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/computer/camera_advanced/xenobio{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "qEz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -55901,13 +57681,26 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"qFD" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"qFA" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/fore) +"qFC" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/structure/sign/warning/no_smoking/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"qFE" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "qFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, @@ -55916,6 +57709,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/customs/auxiliary) +"qFO" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "qFW" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -55946,17 +57744,6 @@ /obj/item/gps/mining, /turf/open/floor/iron/smooth, /area/mine/eva) -"qGh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "qGJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55987,8 +57774,6 @@ "qGW" = ( /obj/machinery/light/small/directional/south, /obj/structure/reagent_dispensers/watertank, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/checker, /area/station/commons/storage/emergency/port) @@ -55997,6 +57782,9 @@ dir = 1 }, /obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "qHj" = ( @@ -56029,11 +57817,17 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"qHs" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"qHt" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "qHz" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/disposal/bin{ @@ -56047,15 +57841,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) -"qHD" = ( -/obj/machinery/computer/prisoner/management, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 +"qHA" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/command/bridge) +/area/station/medical/virology) "qHO" = ( -/obj/machinery/bluespace_vendor/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -56091,6 +57882,20 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"qIx" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel" + }, +/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/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/command/hop, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "qIB" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/machinery/door/poddoor/shutters/window{ @@ -56110,15 +57915,14 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"qII" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"qIP" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 }, -/obj/machinery/duct, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) +/area/station/cargo/miningdock) "qIU" = ( /turf/open/floor/iron, /area/station/commons/dorms) @@ -56132,20 +57936,58 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"qJi" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "qJv" = ( /obj/effect/turf_decal/siding/wood, /obj/item/cigbutt, /turf/open/floor/wood/large, /area/mine/eva/lower) -"qJy" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ +"qJB" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/crate/hydroponics, +/obj/item/wrench, +/obj/item/wrench, +/obj/item/grenade/chem_grenade/antiweed{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/item/grenade/chem_grenade/antiweed, +/obj/item/shovel/spade, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 3 + }, +/obj/item/cultivator, +/obj/item/shovel/spade, +/obj/item/reagent_containers/cup/watering_can, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron, -/area/station/service/bar) +/area/station/service/hydroponics) +"qJC" = ( +/obj/machinery/seed_extractor, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/siding/green{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/mine/laborcamp) "qJT" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/icemoon, @@ -56182,18 +58024,24 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/plating, /area/station/security/prison/safe) -"qKk" = ( -/obj/structure/railing/corner{ +"qKn" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + dir = 4 }, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/mine/eva/lower) +/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/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron, +/area/station/command/bridge) "qKq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -56211,21 +58059,6 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"qKw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree{ - pixel_y = 5; - pixel_x = 7 - }, -/obj/item/grown/log/tree{ - pixel_x = 7 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "qKx" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/bot, @@ -56242,18 +58075,6 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"qKH" = ( -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/spawner/structure/window/hollow/reinforced/end, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) -"qKJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) "qKQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -56272,15 +58093,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig) -"qLf" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/library) "qLg" = ( /obj/effect/spawner/random/contraband/narcotics, /obj/structure/sign/poster/contraband/syndiemoth/directional/west, @@ -56356,13 +58168,15 @@ "qLY" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"qMf" = ( -/obj/effect/turf_decal/tile/blue{ +"qMk" = ( +/obj/structure/railing{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/structure/stairs/west, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/science/cytology) "qMm" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/wood, @@ -56377,26 +58191,16 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"qMD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"qMF" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "qMH" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"qMI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "qMN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -56409,26 +58213,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/supermatter) -"qMO" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"qMS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "qMT" = ( /turf/closed/wall, /area/station/commons/lounge) @@ -56473,6 +58257,10 @@ dir = 10 }, /area/station/science/lab) +"qNt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "qNu" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron/freezer, @@ -56499,27 +58287,46 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/atmos) +"qNK" = ( +/obj/item/radio/intercom/prison/directional/west, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "qNV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) -"qNX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Xenobiology Maintenance" - }, +"qNZ" = ( /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/access/all/science/xenobio, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/aft/greater) +/area/station/maintenance/solars/starboard/fore) +"qOj" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/aft) "qOl" = ( /turf/open/floor/wood, /area/station/maintenance/port/aft) +"qOu" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"qOx" = ( +/obj/structure/lattice, +/obj/structure/sign/departments/maint/alt/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "qOy" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -56527,10 +58334,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"qOB" = ( -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "qOD" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/siding/dark_blue, @@ -56543,6 +58346,12 @@ }, /turf/open/floor/iron/textured_half, /area/station/ai_monitored/command/storage/eva) +"qOG" = ( +/obj/structure/table/wood, +/obj/item/plate, +/obj/effect/spawner/random/trash/bacteria, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "qOH" = ( /obj/effect/landmark/blobstart, /obj/structure/lattice/catwalk, @@ -56563,10 +58372,39 @@ dir = 1 }, /area/station/security/processing) -"qOW" = ( -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/openspace, -/area/station/medical/medbay/aft) +"qPb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light_switch/directional/north{ + pixel_y = 38 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) +"qPc" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/hydroponics) "qPm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56607,12 +58445,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"qPu" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "qPw" = ( /obj/structure/table, /obj/machinery/chem_dispenser/drinks/beer{ @@ -56620,15 +58452,10 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"qPD" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +"qPE" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "qPI" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -56645,13 +58472,16 @@ "qPL" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/exit/departure_lounge) -"qPQ" = ( +"qPV" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 6 }, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/obj/machinery/duct, +/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/hydroponics) "qPX" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -56677,6 +58507,12 @@ "qQf" = ( /turf/closed/wall, /area/station/maintenance/fore/lesser) +"qQk" = ( +/obj/structure/fence/cut/large{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "qQo" = ( /turf/closed/wall, /area/station/cargo/office) @@ -56712,22 +58548,25 @@ }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "qQN" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"qQV" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "qRk" = ( /obj/item/chair/wood, /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) +"qRo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qRq" = ( /obj/structure/rack, /obj/item/electronics/apc, @@ -56754,49 +58593,43 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"qRF" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer, +"qRE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/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{ + dir = 4 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "qRO" = ( /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/ordnance) -"qRR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "qSb" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) -"qSe" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "qSh" = ( /obj/structure/sink/directional/east, /obj/structure/mirror/directional/west, /obj/effect/landmark/start/assistant, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"qSi" = ( -/obj/structure/railing/wooden_fence, -/obj/item/flashlight/lantern/on, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qSj" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -56847,13 +58680,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/sepia, /area/station/security/prison/rec) -"qSC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "qSE" = ( /obj/machinery/door/poddoor/preopen{ id = "misclab"; @@ -56877,11 +58703,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"qSP" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "qST" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -56889,31 +58710,23 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"qSU" = ( -/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/box/red/corners{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "qSY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"qTj" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/white/corner{ - dir = 1 +"qTa" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/area/station/hallway/secondary/entry) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/turf/open/floor/iron/showroomfloor, +/area/station/engineering/atmos) +"qTf" = ( +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "qTm" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -56926,14 +58739,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"qTp" = ( -/obj/structure/table/wood, -/obj/item/clothing/mask/fakemoustache, -/obj/item/cigarette/pipe, -/obj/item/clothing/glasses/monocle, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "qTs" = ( /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) @@ -56967,18 +58772,15 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"qUe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"qUf" = ( +/obj/machinery/firealarm/directional/east, +/obj/item/storage/box/bodybags{ + pixel_x = 2; + pixel_y = 2 }, +/obj/structure/rack, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) -"qUo" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/service/chapel) "qUr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56995,17 +58797,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"qUI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "qUL" = ( /obj/structure/closet/emcloset, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"qUM" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) +"qUQ" = ( +/obj/machinery/power/smes, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/aft) "qUS" = ( /obj/structure/railing/corner{ dir = 8 @@ -57074,13 +58886,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) -"qVG" = ( -/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/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "qVJ" = ( /obj/machinery/disposal/bin, /obj/machinery/light_switch/directional/south, @@ -57089,22 +58894,32 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/hos) +"qVK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs/medium, +/area/station/commons/dorms/laundry) "qVN" = ( /obj/structure/table/glass, /obj/item/stock_parts/matter_bin, /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qWh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 +"qVZ" = ( +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) +"qWe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "qWn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -57184,20 +58999,13 @@ /obj/machinery/light/small/directional/south, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"qXp" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Research Division Access"; - network = list("ss13","rd") - }, -/obj/structure/sink/directional/west, -/obj/effect/turf_decal/stripes/line{ +"qXt" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/siding/yellow{ dir = 5 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/research) +/turf/open/floor/iron, +/area/station/engineering/lobby) "qXF" = ( /obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -57207,10 +59015,6 @@ /obj/structure/flora/bush/jungle/c/style_random, /turf/open/floor/grass, /area/station/medical/virology) -"qXY" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "qYb" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -57235,6 +59039,24 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"qYx" = ( +/obj/item/trapdoor_remote/preloaded{ + pixel_y = 17; + name = "corpse trapdoor remote" + }, +/obj/structure/rack{ + pixel_y = 12; + pixel_x = -1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/caution/red{ + pixel_y = -14 + }, +/obj/structure/noticeboard/cmo{ + pixel_y = 36 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/central) "qYz" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -57252,18 +59074,16 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"qYC" = ( -/obj/machinery/door/window/right/directional/south{ - req_access = list("kitchen"); - name = "The Ice Box" +"qYF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/structure/sign/departments/chemistry/directional/north, +/obj/structure/railing/corner{ dir = 1 }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "qYP" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -57283,6 +59103,12 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"qYR" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "qYV" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/machinery/door/firedoor, @@ -57293,11 +59119,25 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"qYW" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "qYZ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"qZg" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "qZh" = ( /obj/structure/table, /obj/item/folder/white, @@ -57316,11 +59156,10 @@ /turf/open/floor/iron/dark, /area/station/medical/treatment_center) "qZG" = ( -/obj/structure/fence/corner{ - dir = 5 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "qZN" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) @@ -57339,6 +59178,12 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/textured, /area/mine/mechbay) +"qZZ" = ( +/obj/structure/marker_beacon/yellow, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "rab" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -57373,10 +59218,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"raq" = ( -/obj/structure/fence/corner, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ras" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -57416,6 +59257,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) +"raQ" = ( +/mob/living/basic/pet/penguin/baby/permanent, +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "raT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -57442,13 +59288,6 @@ /obj/structure/closet, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"rbh" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "rbm" = ( /obj/machinery/camera/directional/east{ c_tag = "MiniSat External NorthWest"; @@ -57457,10 +59296,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"rbp" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rbs" = ( /obj/effect/turf_decal/tile/yellow, /obj/machinery/light/directional/east, @@ -57470,23 +59305,19 @@ /turf/closed/wall, /area/station/command/heads_quarters/qm) "rbE" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics/garden) "rbT" = ( /obj/structure/ore_box, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"rbU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "botany_apiary"; - name = "Apiary Shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "rbY" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -57523,84 +59354,45 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"rcx" = ( -/obj/machinery/light/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/displaycase, -/obj/effect/turf_decal/tile/dark/fourcorners, -/turf/open/floor/iron, -/area/mine/living_quarters) -"rcD" = ( -/turf/open/floor/carpet/lone, -/area/station/service/chapel) "rcE" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/central) -"rcN" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) -"rcO" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/ai) "rcP" = ( /obj/effect/turf_decal/bot_white/right, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"rcU" = ( -/obj/structure/table/optable, -/obj/effect/decal/cleanable/xenoblood, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"rcS" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/structure/marker_beacon/burgundy, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rcY" = ( /obj/structure/fence{ dir = 4 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"rdl" = ( -/obj/machinery/button/door/directional/east{ - id = "misclab"; - name = "Test Chamber Blast Doors"; - pixel_y = 6; - req_access = list("xenobiology") - }, -/obj/machinery/button/door/directional/east{ - id = "xenobiomain"; - name = "Xenobiology Containment Blast Door"; - pixel_y = -6; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "rdn" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"rdq" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/trash/mopbucket, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"rdv" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"rds" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/button/door/directional/east{ + id = "minecraft_shutter"; + name = "Cart Access" + }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) "rdw" = ( @@ -57614,6 +59406,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"rdJ" = ( +/obj/structure/fence/corner{ + dir = 5 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rea" = ( /obj/structure/table, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -57621,6 +59419,23 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) +"reb" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "ree" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57643,12 +59458,45 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"reu" = ( -/obj/structure/fence/corner{ - dir = 8 +"rep" = ( +/obj/structure/table, +/obj/machinery/button/door{ + pixel_x = -6; + pixel_y = -1; + req_access = list("rd"); + id = "misclab"; + name = "Specimen Chamber Control" }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/machinery/button/door{ + pixel_x = -6; + pixel_y = 9; + req_access = list("rd"); + id = "xenobiomain"; + name = "Xenobiology Control" + }, +/obj/machinery/button/door{ + pixel_x = 6; + pixel_y = -1; + req_access = list("rd"); + id = "rd_office_shutters"; + name = "Privacy Control" + }, +/obj/machinery/button/door{ + pixel_x = 6; + pixel_y = 9; + id = "rnd2"; + name = "Ordnance Control"; + req_access = list("rd") + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/command/heads_quarters/rd) +"res" = ( +/obj/structure/ladder, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/engineering/lobby) "rex" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 8 @@ -57687,13 +59535,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"reX" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "rfh" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -57703,16 +59544,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"rfj" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "rfo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57720,10 +59551,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/psychology) -"rft" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) "rfu" = ( /turf/closed/wall/r_wall, /area/station/security/prison/rec) @@ -57732,6 +59559,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"rfQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rfR" = ( /obj/machinery/telecomms/bus/preset_two, /turf/open/floor/circuit/telecomms/mainframe, @@ -57740,16 +59573,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"rfW" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/dorms) -"rgi" = ( -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "rgl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/disposalpipe/segment, @@ -57786,6 +59609,13 @@ /obj/item/stack/package_wrap, /turf/open/floor/wood/large, /area/mine/eva/lower) +"rgq" = ( +/obj/structure/minecart_rail{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "rgs" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -57808,34 +59638,19 @@ "rgE" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/hfr_room) -"rgM" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "rhf" = ( /obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, /obj/machinery/door/poddoor/preopen{ id = "hosspace"; - name = "Space Shutters" + name = "Privacy Shutters" }, -/obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"rhi" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/airlock/research{ - name = "Ordnance Lab" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/ordnance/office) +"rhv" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "rhF" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Permabrig Observation North"; @@ -57843,24 +59658,20 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"rhP" = ( -/obj/machinery/flasher/directional/north{ - id = "Cell 2" - }, -/obj/structure/bed{ - dir = 1; - pixel_x = -2 - }, -/turf/open/floor/iron/smooth, -/area/station/security/brig) -"rhS" = ( -/obj/structure/disposalpipe/segment, +"rhG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) +"rhJ" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rhY" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box/red, @@ -57900,59 +59711,55 @@ /turf/open/floor/iron, /area/station/security/brig/upper) "riB" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 +/obj/machinery/computer/records/security, +/obj/machinery/computer/security/telescreen/normal/directional/north, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 }, -/area/station/service/bar) +/area/station/security/brig/entrance) "riL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/living_quarters) -"riM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/food/grown/carrot, -/obj/item/food/grown/carrot{ - pixel_y = 4; - pixel_x = -2 +"riW" = ( +/obj/item/toy/snowball{ + pixel_x = 9; + pixel_y = 1 }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) -"riT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on, -/turf/open/floor/plating/snowed/icemoon, -/area/station/maintenance/port/aft) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rja" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/paper/carbon, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"rjh" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/iron/dark, -/area/station/engineering/main) -"rji" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ +"rjb" = ( +/obj/structure/railing{ dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"rjd" = ( +/obj/structure/table, +/obj/machinery/computer/security/telescreen/isolation/directional/south, +/obj/item/clothing/suit/jacket/straight_jacket, +/obj/item/clothing/suit/jacket/straight_jacket{ + pixel_x = 6 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security - Permabrig Prep"; + network = list("ss13","prison"); + view_range = 5 + }, +/obj/structure/cable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/security/execution/transfer) "rjr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/plating, @@ -57965,17 +59772,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"rjC" = ( -/obj/vehicle/ridden/wheelchair{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/end, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/sign/warning/no_smoking/circle/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/large, -/area/station/medical/medbay/aft) "rjE" = ( /obj/structure/fluff/tram_rail{ pixel_y = 17 @@ -57983,43 +59779,18 @@ /obj/structure/fluff/tram_rail, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"rjH" = ( -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Antechamber"; - network = list("minisat"); - start_active = 1 - }, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat/atmos"; - name = "Atmospherics Turret Control"; - pixel_x = -27; - req_access = list("minisat") - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "rjK" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 1 }, +/obj/effect/turf_decal/bot/right, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "rjP" = ( /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rjT" = ( -/obj/machinery/button/door/directional/west{ - id = "xenobio3"; - name = "Xenobio Pen 3 Blast Door"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "rkc" = ( /obj/effect/turf_decal/siding/yellow, /obj/effect/turf_decal/siding/yellow{ @@ -58027,16 +59798,34 @@ }, /turf/open/floor/iron, /area/station/engineering/storage) -"rkd" = ( -/obj/effect/spawner/random/structure/chair_flipped, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/plaques/kiddie/perfect_drone{ - pixel_x = 32 +"rkh" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/checker, -/area/station/maintenance/port/fore) +/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) +"rkk" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/winterboots/ice_boots/eva{ + pixel_y = 2 + }, +/obj/item/clothing/suit/hooded/wintercoat/eva{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals Emergency EVA" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "rkl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -58046,10 +59835,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"rkm" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"rkp" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rkt" = ( /obj/structure/cable, /obj/machinery/light/directional/east, @@ -58059,6 +59853,30 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"rkz" = ( +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"rkH" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/aft) +"rkI" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Office" + }, +/obj/structure/disposalpipe/segment, +/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/access/all/command/captain, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "rkK" = ( /obj/machinery/suit_storage_unit/cmo, /turf/open/floor/iron/dark, @@ -58077,14 +59895,26 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"rlb" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 +"rkV" = ( +/obj/structure/railing, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 3 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/item/multitool{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/assembly/signaler{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "rlf" = ( /obj/effect/spawner/random/structure/steam_vent, /obj/structure/cable, @@ -58095,36 +59925,45 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rlA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"rlq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/medical/morgue) -"rlE" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/computer/slot_machine{ - name = "two-armed bandit" +/obj/structure/railing, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"rlt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"rlu" = ( +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) +"rlB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"rlH" = ( /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/decal/cleanable/dirt/dust, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"rlL" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = -7 +/area/station/maintenance/starboard/lesser) +"rlE" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "rlS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58136,18 +59975,6 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/commons/dorms) -"rlX" = ( -/obj/structure/closet/secure_closet/chemical, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking/circle/directional/west, -/turf/open/floor/iron/white, -/area/station/maintenance/port/fore) "rmn" = ( /obj/structure/chair/stool/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -58155,21 +59982,6 @@ }, /turf/open/floor/carpet, /area/station/commons/dorms) -"rmp" = ( -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/science/ordnance) -"rms" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin{ - pixel_y = 6 - }, -/obj/item/taperecorder{ - pixel_x = 9 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "rmv" = ( /obj/structure/rack, /obj/item/wrench, @@ -58194,44 +60006,18 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/dark/textured_half, /area/mine/mechbay) -"rmG" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ - name = "Burn Chamber Exterior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) -"rmM" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"rmR" = ( -/obj/effect/spawner/random/trash/mess, +"rmP" = ( /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"rmU" = ( -/obj/effect/spawner/random/trash/graffiti, -/obj/structure/sign/poster/contraband/free_drone/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "rmZ" = ( /obj/machinery/iv_drip, /obj/structure/mirror/broken/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"rnb" = ( -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron/textured, -/area/station/security/brig) -"rng" = ( -/obj/machinery/light/cold/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "rnh" = ( /obj/machinery/door/airlock{ name = "Observatory Access" @@ -58246,6 +60032,12 @@ /obj/structure/railing, /turf/open/floor/iron, /area/mine/production) +"rnp" = ( +/obj/machinery/door/poddoor/incinerator_atmos_main{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "rns" = ( /obj/structure/table/reinforced, /obj/item/aicard{ @@ -58263,11 +60055,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"rnu" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/engine, -/area/station/science/explab) "rnx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58284,18 +60071,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"roa" = ( -/obj/structure/toilet{ - pixel_y = 8 - }, -/obj/machinery/button/door/directional/north{ - id = "Lakeview_Bathroom"; - pixel_x = 22; - pixel_y = -10; - req_access = list("robotics") - }, -/turf/open/floor/iron/freezer, -/area/mine/eva/lower) "roj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58309,13 +60084,41 @@ /obj/machinery/telecomms/processor/preset_one, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"roq" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/closet, -/obj/effect/spawner/random/clothing/gloves, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) +"ros" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/service) +"rou" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Research Break Room" + }, +/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/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "rox" = ( /obj/structure/table, /obj/effect/spawner/round_default_module, @@ -58354,10 +60157,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/science/explab) -"roW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "roX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -58367,16 +60166,6 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"rpi" = ( -/turf/closed/wall/ice, -/area/icemoon/underground/explored/graveyard) -"rpu" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "rpC" = ( /obj/structure/railing{ dir = 1 @@ -58400,22 +60189,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/engineering/engine_smes) -"rpG" = ( -/obj/machinery/door/firedoor, -/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, -/area/station/hallway/primary/central) -"rpJ" = ( -/obj/structure/minecart_rail{ - dir = 10 - }, -/obj/structure/cable, -/obj/structure/sign/warning/directional/south, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "rpK" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -58484,15 +60257,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"rqn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/structure/rack, -/obj/machinery/camera/directional/south{ - c_tag = "Chapel Electrical Maintenace Lower" - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/chapel) +"rqk" = ( +/obj/effect/spawner/random/trash/graffiti, +/obj/structure/sign/poster/contraband/free_drone/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rqD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -58506,13 +60275,6 @@ }, /turf/open/floor/plating, /area/station/engineering/engine_smes) -"rqG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/lounge) "rqH" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/leather, @@ -58532,20 +60294,24 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) -"rqQ" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Kitchen" - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 +"rqN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) +"rqR" = ( +/obj/machinery/biogenerator, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 4 }, -/obj/machinery/airalarm/directional/east, -/obj/structure/table, -/obj/machinery/processor{ - pixel_y = 6 +/obj/effect/turf_decal/siding/green{ + dir = 5 }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/turf/open/floor/iron/dark, +/area/mine/laborcamp) "rqY" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -58553,26 +60319,22 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/station/medical/virology) -"rra" = ( -/obj/machinery/modular_computer/preset/cargochat/service, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) -"rrf" = ( -/obj/structure/table/wood, -/obj/item/storage/crayons, -/obj/item/storage/fancy/candle_box{ - pixel_y = 5 +"rrg" = ( +/obj/structure/table/glass, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/plant_analyzer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"rrh" = ( +/obj/structure/fence/post{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/service/chapel/office) -"rrl" = ( -/obj/item/stack/sheet/mineral/wood, -/obj/effect/decal/cleanable/generic, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rrn" = ( /obj/structure/closet/emcloset, /obj/structure/sign/poster/contraband/random/directional/north, @@ -58587,19 +60349,39 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) -"rrL" = ( -/obj/effect/turf_decal/siding/wood{ +"rrB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) +"rrR" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "rrV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva) +"rsf" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"rsh" = ( +/obj/structure/sign/poster/contraband/the_big_gas_giant_truth/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rsw" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -58611,6 +60393,34 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"rsy" = ( +/obj/item/training_toolbox{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/item/training_toolbox{ + pixel_y = -2 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Holodeck Control" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/east, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) +"rsG" = ( +/obj/item/toy/snowball{ + pixel_x = -11; + pixel_y = -2 + }, +/obj/structure/sign/warning/secure_area{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rsL" = ( /obj/structure/cable, /turf/open/floor/circuit, @@ -58636,6 +60446,18 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) +"rsV" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm1"; + name = "Dorm 1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) "rsW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -58644,6 +60466,19 @@ "rsY" = ( /turf/closed/wall/r_wall, /area/mine/eva) +"rtf" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"rth" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "rtn" = ( /obj/structure/chair/comfy/black, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58666,6 +60501,7 @@ "rtq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) "rtt" = ( @@ -58679,6 +60515,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"rtw" = ( +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "rty" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58744,23 +60584,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"ruQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"ruX" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) "ruZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable/layer3, @@ -58785,13 +60608,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"rvO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants/organic/plant2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "rvS" = ( /obj/structure/rack, /obj/item/poster/random_contraband, @@ -58799,12 +60615,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"rvW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/port/greater) "rvZ" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, @@ -58817,33 +60627,24 @@ }, /turf/open/openspace, /area/station/engineering/atmos/storage) -"rwk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 4; - name = "Scrubbers multi deck pipe adapter" +"rwn" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel" }, -/turf/open/floor/plating, -/area/station/medical/chemistry) +/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/access/all/command/hop, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "rwt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"rwu" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/south, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron/dark/textured_edge{ - dir = 1 - }, -/area/station/security/prison) "rwB" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ @@ -58868,11 +60669,14 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) -"rwW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) +"rwZ" = ( +/obj/structure/sign/departments/botany/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "rxa" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ dir = 1 @@ -58895,6 +60699,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"rxx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics - HFR Decontamination Chamber" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "rxz" = ( /obj/structure/girder, /turf/open/floor/plating/snowed/icemoon, @@ -58906,23 +60718,8 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"rxM" = ( -/obj/machinery/door/poddoor/preopen{ - id = "xenobio8"; - name = "Xenobio Pen 8 Blast Door" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"rxV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, +"rxJ" = ( +/turf/open/floor/glass, /area/station/service/hydroponics) "rxW" = ( /turf/closed/mineral/random/snow, @@ -58930,17 +60727,6 @@ "rxY" = ( /turf/closed/wall, /area/station/service/bar/backroom) -"rya" = ( -/obj/machinery/door/airlock/command{ - name = "Head of Personnel" - }, -/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/access/all/command/hop, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "ryf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58948,6 +60734,31 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"ryl" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "Cargo_Store_In"; + name = "Cargo Warehouse Shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"ryn" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "ryu" = ( /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) @@ -58966,6 +60777,10 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"ryJ" = ( +/obj/machinery/light/small/directional/east, +/turf/open/openspace, +/area/station/service/hydroponics) "ryM" = ( /obj/structure/rack, /obj/item/pickaxe, @@ -58979,12 +60794,6 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) -"ryX" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "rzj" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -58994,25 +60803,6 @@ /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"rzm" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall, -/area/station/cargo/lobby) -"rzq" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "rzz" = ( /obj/machinery/door/airlock/command{ name = "Server Room" @@ -59059,17 +60849,14 @@ /obj/machinery/digital_clock/directional/south, /turf/open/openspace, /area/station/medical/medbay/lobby) -"rzY" = ( -/obj/structure/table/wood, -/obj/item/raptor_dex{ - pixel_y = 13 - }, -/obj/item/raptor_dex{ - pixel_y = 7 - }, -/obj/item/raptor_dex, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +"rzV" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "rAr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59083,23 +60870,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"rAx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "rAA" = ( /obj/machinery/pdapainter, /turf/open/floor/iron, @@ -59116,15 +60886,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rAL" = ( -/obj/structure/rack, -/obj/item/crowbar/red, -/obj/item/wrench, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat/maint) "rAO" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -59144,6 +60905,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"rAY" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) "rAZ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark/smooth_large, @@ -59159,12 +60928,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"rBp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/service/library) "rBv" = ( /obj/structure/chair/stool/directional/north, /obj/item/storage/toolbox/artistic{ @@ -59172,14 +60935,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"rBy" = ( -/obj/structure/closet/crate, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/turf/open/floor/iron/dark/smooth_half, -/area/station/security/prison/work) +"rBz" = ( +/obj/machinery/computer/order_console/cook{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"rBJ" = ( +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/structure/rack, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "rBL" = ( /obj/machinery/light/directional/west, /turf/open/openspace, @@ -59217,6 +60993,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"rCs" = ( +/obj/structure/table, +/obj/item/food/deadmouse{ + pixel_y = 18; + pixel_x = 13 + }, +/obj/structure/microscope, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "rCu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/landmark/start/hangover, @@ -59355,42 +61140,6 @@ dir = 10 }, /area/mine/eva) -"rDq" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/table, -/obj/item/clothing/head/utility/welding{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/clothing/head/utility/welding{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/clothing/head/utility/welding, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/poster/official/safety_internals/directional/east, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) -"rDH" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) -"rDI" = ( -/obj/item/toy/plush/lizard_plushie{ - name = "Wines-And-Dines"; - pixel_x = 4 - }, -/obj/item/reagent_containers/cup/glass/bottle{ - pixel_x = -9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rDJ" = ( /obj/structure/ladder{ name = "upper dispenser access" @@ -59399,9 +61148,12 @@ /turf/open/floor/iron/dark/textured_large, /area/station/medical/treatment_center) "rDN" = ( -/obj/structure/no_effect_signpost, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "rDO" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, @@ -59417,18 +61169,6 @@ "rDZ" = ( /turf/open/floor/engine, /area/station/science/explab) -"rEd" = ( -/obj/machinery/modular_computer/preset/research{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/sign/plaques/kiddie/gameoflife{ - pixel_x = -32 - }, -/turf/open/floor/iron/smooth_corner, -/area/station/command/heads_quarters/rd) "rEe" = ( /obj/structure/closet{ name = "evidence closet 4" @@ -59449,18 +61189,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"rEj" = ( -/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, -/area/station/science/ordnance) -"rEn" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +"rEo" = ( +/obj/structure/dresser, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "rEp" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -59470,17 +61203,31 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"rEt" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"rEq" = ( +/obj/structure/beebox, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/siding/white{ - dir = 8 +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 }, -/turf/open/floor/iron, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) +"rEr" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/obj/machinery/door/poddoor{ + id = "QMLoaddoor"; + name = "Supply Dock Loading Door"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "rEx" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, @@ -59492,12 +61239,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rEH" = ( -/obj/item/chair/stool/bar{ - pixel_y = -2 +"rEM" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/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, +/obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "rEP" = ( @@ -59507,21 +61256,21 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/processing) +"rES" = ( +/obj/effect/turf_decal/siding/brown/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "rEU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rEY" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/structure/displaycase/forsale/kitchen, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "rFb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -59534,6 +61283,12 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) +"rFh" = ( +/obj/structure/girder, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/eva/lower) "rFD" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, @@ -59552,6 +61307,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/fore) +"rFU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "rGd" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -59562,6 +61323,15 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/engine/cult, /area/station/service/library) +"rGf" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "rGh" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -59600,6 +61370,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"rGY" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) "rHc" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -59607,6 +61382,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"rHi" = ( +/turf/open/openspace/xenobio, +/area/station/science/xenobiology) "rHk" = ( /obj/machinery/exodrone_launcher, /obj/item/exodrone{ @@ -59622,21 +61400,17 @@ /obj/effect/turf_decal/trimline/yellow/mid_joiner, /turf/open/floor/iron/smooth_large, /area/station/cargo/drone_bay) -"rHo" = ( +"rHx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"rHr" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/machinery/duct, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, -/obj/structure/sign/warning/electric_shock/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "rHz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -59659,11 +61433,6 @@ /obj/effect/spawner/random/food_or_drink/snack/lizard, /turf/open/floor/iron, /area/station/security/prison/mess) -"rHI" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/virology) "rHQ" = ( /obj/machinery/computer/message_monitor{ dir = 4 @@ -59673,23 +61442,6 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"rHR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "rHZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -59704,14 +61456,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/cryo) -"rIr" = ( -/obj/machinery/vending/cigarette, -/obj/structure/sign/departments/telecomms/directional/west, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +"rIz" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth, +/area/station/maintenance/fore/lesser) "rIF" = ( /obj/effect/turf_decal/trimline/dark_blue/line, /obj/machinery/camera/directional/south{ @@ -59720,16 +61470,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"rII" = ( -/obj/machinery/vending/wardrobe/atmos_wardrobe, -/obj/effect/turf_decal/stripes/end, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/station/engineering/atmos) -"rIS" = ( -/obj/structure/flora/rock/icy/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) +"rIH" = ( +/obj/structure/chair/stool/directional/south, +/obj/structure/sign/poster/official/work_for_a_future/directional/west, +/turf/open/floor/iron, +/area/station/security/prison/visit) "rIU" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -59743,6 +61488,19 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/main) +"rJc" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/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) "rJe" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 1"; @@ -59775,18 +61533,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"rJX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "rKs" = ( /obj/structure/chair/stool/directional/south, -/obj/structure/sign/poster/official/work_for_a_future/directional/north, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /obj/machinery/light/small/dim/directional/west, +/obj/structure/sign/poster/official/work_for_a_future/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) "rKv" = ( @@ -59797,35 +61551,21 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"rKQ" = ( -/obj/structure/mineral_door/wood{ - name = "Maintenance Bar" - }, -/turf/open/floor/wood, -/area/station/maintenance/port/aft) -"rKX" = ( -/obj/machinery/camera{ - c_tag = "Surgery B"; - network = list("ss13","medbay"); - pixel_x = 22 - }, -/obj/machinery/vending/wallmed/directional/south, -/obj/structure/cable, -/obj/structure/table/glass, -/obj/item/stack/sticky_tape/surgical, -/obj/item/stack/medical/bone_gel, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) -"rKZ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 10 +"rKZ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, /obj/structure/cable, /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron, /area/station/science/xenobiology) +"rLl" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "rLo" = ( /turf/open/floor/plating, /area/station/cargo/miningdock) @@ -59841,6 +61581,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/office) +"rLL" = ( +/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/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/effect/landmark/start/depsec/medical, +/obj/machinery/computer/security/telescreen/med_sec/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "rLX" = ( /obj/item/target, /obj/item/target/syndicate, @@ -59854,10 +61609,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"rMm" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/openspace, -/area/station/service/bar/atrium) "rMr" = ( /obj/structure/chair{ dir = 8 @@ -59908,6 +61659,7 @@ /obj/item/pen, /obj/effect/turf_decal/tile/blue/full, /obj/machinery/light/small/directional/north, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "rMY" = ( @@ -59941,6 +61693,13 @@ dir = 4 }, /area/mine/living_quarters) +"rNn" = ( +/obj/structure/flora/grass/brown/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rNz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59957,6 +61716,15 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"rNK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/science/ordnance) "rNQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59967,12 +61735,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rNV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"rNZ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rOb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59986,10 +61755,25 @@ /obj/structure/closet/toolcloset, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"rOz" = ( -/obj/structure/flora/grass/brown/style_random, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) +"rOv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"rOw" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"rOx" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "rOA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -60022,18 +61806,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/mine/eva) -"rOH" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/structure/sink/directional/south, -/obj/machinery/camera{ - c_tag = "Virology Break Room"; - dir = 1; - network = list("ss13","medbay") +"rOL" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/medical/virology) +/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/lesser) "rOU" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, @@ -60043,25 +61824,6 @@ /obj/structure/closet/toolcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rPn" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/machinery/camera{ - c_tag = "Atmospherics - South East"; - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"rPp" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rPL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -60074,6 +61836,19 @@ "rQf" = ( /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"rQh" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "rQl" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, @@ -60086,12 +61861,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"rQs" = ( -/obj/structure/fence/corner{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "rQw" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -60153,6 +61922,30 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"rRd" = ( +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/machinery/button/door/directional/east{ + id = "eva_shutters"; + req_access = list("command") + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = -6 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/storage/toolbox/emergency, +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "rRk" = ( /obj/structure/table, /obj/item/storage/belt/utility, @@ -60172,29 +61965,30 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"rRs" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ +"rRn" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth_large, +/area/station/cargo/warehouse) +"rRt" = ( +/obj/effect/turf_decal/tile/bar{ dir = 4 }, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Botany Upper Entrance" - }, -/obj/structure/table/glass, -/obj/machinery/fax/auto_name, /turf/open/floor/iron, -/area/station/service/hydroponics) -"rRu" = ( -/obj/structure/table/wood, -/obj/item/toy/mecha/honk{ - pixel_y = 12 +/area/station/hallway/primary/starboard) +"rRA" = ( +/obj/structure/ladder{ + name = "chemistry lab access" }, -/obj/structure/sign/poster/contraband/random/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +/obj/effect/turf_decal/stripes/end, +/obj/structure/sign/departments/chemistry/directional/north, +/obj/effect/turf_decal/tile/yellow/full, +/obj/machinery/door/window/left/directional/south{ + name = "Chemistry Lab Access Hatch"; + req_access = list("plumbing") + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/treatment_center) "rRM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60202,6 +61996,17 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) +"rRN" = ( +/obj/structure/railing, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"rRT" = ( +/obj/structure/cable, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "rSe" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/costume, @@ -60220,11 +62025,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"rSu" = ( -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/station/science/xenobiology) "rSx" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -60261,36 +62061,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"rSQ" = ( -/obj/item/toy/snowball{ - pixel_x = -11; - pixel_y = -2 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"rST" = ( -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rSW" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"rSZ" = ( -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external/glass{ - name = "Cytology External Airlock" - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"rTs" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "rTt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60322,16 +62096,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/security/processing) -"rUa" = ( -/obj/structure/cable/multilayer/multiz, -/obj/effect/turf_decal/stripes/line{ +"rTZ" = ( +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/railing/corner/end/flip{ dir = 1 }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/floor/iron, +/area/station/cargo/storage) "rUb" = ( /obj/structure/railing, /obj/machinery/flasher/portable, @@ -60349,15 +62123,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"rUv" = ( -/obj/effect/turf_decal/tile/blue, -/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/white/corner{ - dir = 4 - }, -/area/station/hallway/secondary/entry) "rUy" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -60366,6 +62131,9 @@ /obj/effect/turf_decal/bot, /obj/machinery/light/small/directional/east, /mob/living/simple_animal/bot/mulebot, +/obj/machinery/status_display/supply{ + pixel_x = 32 + }, /turf/open/floor/iron, /area/station/cargo/storage) "rUz" = ( @@ -60379,6 +62147,18 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"rUQ" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/beakers{ + pixel_y = 7 + }, +/obj/item/assembly/igniter{ + pixel_y = -3 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/medical/chem_storage) "rUR" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -60441,16 +62221,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rVt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/engineering/toolbox, -/obj/effect/spawner/random/engineering/toolbox, -/obj/effect/turf_decal/siding/wood, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/iron/grimy, -/area/station/commons/vacant_room/office) "rVA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60476,6 +62246,13 @@ /obj/item/storage/backpack, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) +"rVE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rVV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60490,14 +62267,23 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp) -"rWh" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" +"rWg" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/table/glass, +/obj/item/folder/white, +/obj/item/stamp/head/cmo, +/obj/item/clothing/neck/stethoscope, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Medical Office South"; + network = list("ss13","medbay") }, -/area/icemoon/underground/explored/graveyard) +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"rWm" = ( +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "rWn" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, @@ -60508,15 +62294,39 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"rWA" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +"rWH" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Chemistry Lab Utilities" }, -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/medical/central) +"rWI" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/item/food/grown/poppy{ + pixel_y = -1; + pixel_x = 3 + }, +/obj/item/food/grown/poppy/geranium{ + pixel_y = 5; + pixel_x = 2 + }, +/obj/item/food/grown/poppy/lily{ + pixel_x = -2 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "rWO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -60611,34 +62421,28 @@ }, /turf/open/floor/iron/large, /area/station/commons/storage/primary) -"rXB" = ( +"rXw" = ( +/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/service/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable, -/obj/structure/minecart_rail/railbreak, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) -"rXD" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio7"; - name = "Xenobio Pen 7 Blast DOors"; - req_access = list("xenobiology") +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"rXN" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Teleport Access" +/turf/open/floor/plating, +/area/station/commons/lounge) +"rXP" = ( +/obj/item/pickaxe/improvised{ + pixel_x = 7 }, -/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/command/teleporter, -/turf/open/floor/iron, -/area/station/command/teleporter) +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "rXX" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -60649,11 +62453,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"rXY" = ( -/obj/item/kirbyplants/random/dead, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "rYq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60683,6 +62482,11 @@ dir = 8 }, /area/mine/living_quarters) +"rYA" = ( +/obj/structure/flora/grass/green/style_random, +/obj/structure/sign/warning/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rYB" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -60690,6 +62494,18 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"rYE" = ( +/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, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "rYG" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -60704,10 +62520,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"rYZ" = ( -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "rZa" = ( /obj/structure/table, /turf/open/floor/plating, @@ -60727,16 +62539,16 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"rZP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "rZR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"rZY" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "rZZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -60749,6 +62561,57 @@ dir = 4 }, /area/station/service/chapel) +"sav" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/bar) +"saC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) +"saF" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"saO" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"saR" = ( +/obj/structure/closet, +/obj/item/bodybag, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) +"saX" = ( +/obj/machinery/button/door/directional/west{ + id = "executionfireblast"; + name = "Transfer Area Lockdown"; + pixel_y = -6; + req_access = list("brig") + }, +/obj/structure/railing, +/obj/machinery/door/window/left/directional/south, +/obj/machinery/button/flasher{ + pixel_x = -24; + pixel_y = 5; + id = "executionflash" + }, +/turf/open/floor/plating/icemoon, +/area/station/security/execution/education) "sbc" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -60777,26 +62640,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"sbf" = ( -/obj/structure/sign/plaques/kiddie/devils_tooth{ - pixel_y = 32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "sbi" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/photocopier, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"sbv" = ( -/obj/structure/closet/secure_closet/personal{ - anchored = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/directional/south, -/obj/structure/sign/clock/directional/south, -/turf/open/floor/iron, -/area/station/commons/locker) "sby" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -60830,26 +62678,24 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"sbO" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/decal/cleanable/dirt, -/obj/item/seeds/onion, -/obj/effect/turf_decal/tile/green/anticorner/contrasted, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) +"sbP" = ( +/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "sbU" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, /area/mine/eva) -"sbZ" = ( -/obj/machinery/door/airlock/external{ - name = "External Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +"sbY" = ( +/obj/structure/table, +/obj/item/newspaper, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +/obj/structure/secure_safe/directional/east, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "sca" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -60858,6 +62704,14 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"scb" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "scl" = ( /obj/structure/bookcase/random, /turf/open/floor/carpet/red, @@ -60879,14 +62733,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"scr" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/sign/warning/gas_mask/directional/south, -/obj/machinery/light/warm/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "scu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -60907,19 +62753,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/tcommsat/computer) -"scG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"scQ" = ( -/obj/structure/tank_holder/oxygen, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/vault, -/area/station/security/prison/rec) "scV" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Detective's Office" @@ -60928,15 +62761,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"sdc" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/r_wall, -/area/mine/eva) -"sdk" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/station/service/chapel) +"sdf" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "sdl" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 5 @@ -60947,13 +62777,38 @@ /area/station/science/ordnance) "sdr" = ( /obj/structure/transit_tube/horizontal, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/weather/snow/corner, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"sds" = ( +/obj/structure/fence/corner{ + dir = 6 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sdE" = ( /obj/structure/chair/pew/left, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/security/prison/rec) +"sdF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/grown/log/tree, +/obj/item/grown/log/tree{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/grown/log/tree{ + pixel_x = 7 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "sdW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -60984,10 +62839,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sed" = ( -/obj/structure/flora/rock/icy/style_random, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "sen" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -60997,17 +62848,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/courtroom) -"seB" = ( -/obj/structure/disposalpipe/segment, -/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/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "seH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61017,13 +62857,27 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"seN" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ +"seL" = ( +/obj/structure/table, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/assembly/infra{ + pixel_x = 3 + }, +/obj/item/assembly/igniter{ + pixel_y = -2 + }, +/obj/effect/turf_decal/trimline/neutral/warning, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/item/assembly/signaler, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/area/station/service/chapel) +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/ai_monitored/command/storage/eva) "seR" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -61047,17 +62901,29 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"sfd" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/fluorine{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/iodine{ + pixel_x = 1 + }, +/obj/structure/sign/warning/chem_diamond/directional/west, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/chem_storage) "sfr" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"sft" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "sfv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -61075,31 +62941,18 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"sfz" = ( -/obj/structure/railing, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 3 - }, -/obj/item/multitool{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/assembly/signaler{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +"sfF" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Security - Lower Hallway North"; + network = list("ss13","prison") }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) -"sfD" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red, +/obj/machinery/light/directional/east, +/obj/structure/sign/warning/electric_shock/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "sfY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61111,12 +62964,6 @@ dir = 5 }, /area/station/science/research) -"sgz" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "sgA" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61135,6 +62982,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"sgL" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/command/heads_quarters/rd) "sgT" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue{ @@ -61194,6 +63048,7 @@ /obj/effect/turf_decal/trimline/brown/filled/end{ dir = 1 }, +/obj/structure/sign/warning/no_smoking/circle/directional/south, /turf/open/floor/iron, /area/station/medical/medbay/aft) "shB" = ( @@ -61204,6 +63059,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"shF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "shG" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -61214,17 +63074,21 @@ /obj/structure/transit_tube/curved{ dir = 8 }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"shT" = ( -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/weather/snow/corner{ dir = 1 }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria{ +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"shR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/area/station/hallway/secondary/entry) +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "sil" = ( /obj/machinery/door/airlock/public/glass{ name = "Art Gallery" @@ -61237,18 +63101,6 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"siv" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Lower Hallway North"; - network = list("ss13","prison") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "six" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -61264,14 +63116,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"siz" = ( -/obj/machinery/holopad, -/obj/machinery/duct, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/large, -/area/station/engineering/lobby) "siI" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/dirt, @@ -61280,53 +63124,67 @@ "sjb" = ( /turf/closed/wall/r_wall, /area/station/cargo/drone_bay) +"sjd" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"sjh" = ( +/obj/structure/fence/door/opened, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sjk" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 6 }, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) -"sjx" = ( -/obj/effect/turf_decal/trimline/yellow/end{ - dir = 1 - }, -/obj/machinery/exodrone_launcher, -/obj/item/fuel_pellet, -/obj/effect/turf_decal/trimline/yellow/mid_joiner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/mid_joiner{ +"sjl" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/railing/corner, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/iron/cafeteria{ dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/mid_joiner{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/cargo/drone_bay) -"sjD" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/right{ - dir = 4 +/area/station/science/ordnance/office) +"sjp" = ( +/obj/effect/spawner/random/structure/chair_flipped, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/plaques/kiddie/perfect_drone{ + pixel_x = 32 }, -/area/station/science/cytology) -"sjU" = ( -/obj/structure/sign/warning/docking/directional/east, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"sjX" = ( +/turf/open/floor/iron/checker, +/area/station/maintenance/port/fore) +"sjz" = ( +/obj/structure/chair/sofa/bench/left, /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 5 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/white/corner{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/medical/treatment_center) +/area/station/hallway/secondary/entry) "skc" = ( /obj/machinery/door/airlock/external{ name = "Port Docking Bay 1"; @@ -61358,20 +63216,10 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) -"skw" = ( -/obj/machinery/computer/security/qm, -/obj/machinery/requests_console/directional/west{ - department = "Quartermaster's Desk"; - name = "Quartermaster's Desk Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) +"skr" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "skx" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ dir = 4 @@ -61379,42 +63227,19 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"skH" = ( -/obj/structure/disposalpipe/segment, +"skI" = ( +/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/siding/white/corner{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured_half, -/area/station/service/kitchen) +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "skJ" = ( /obj/structure/grille/broken, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"skQ" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) -"skU" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "skW" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -61453,6 +63278,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"slh" = ( +/obj/structure/table, +/obj/item/flashlight, +/obj/item/flashlight{ + pixel_y = 13 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sll" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -61467,6 +63300,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) +"sln" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "slp" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -61476,19 +63318,19 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"slx" = ( -/obj/structure/sign/warning/fire/directional/west, -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ - dir = 8 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/station/medical/virology) "slD" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"slP" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "slX" = ( /obj/structure/fans/tiny, /obj/effect/turf_decal/stripes/red/box, @@ -61517,6 +63359,17 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/locker) +"smp" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) "smr" = ( /obj/machinery/door/airlock/engineering{ name = "Port Bow Solar Access" @@ -61545,24 +63398,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel) -"smI" = ( -/obj/structure/chair{ - dir = 1; - name = "Command Station" - }, -/obj/machinery/button/door{ - id = "bridge blast"; - name = "Bridge Blast Door Control"; - pixel_x = 28; - pixel_y = -2; - req_access = list("command") - }, -/obj/machinery/keycard_auth{ - pixel_x = 29; - pixel_y = 8 - }, -/turf/open/floor/iron, -/area/station/command/bridge) +"sna" = ( +/obj/item/kirbyplants/fern, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "snd" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 1 @@ -61601,14 +63441,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"snv" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "riot"; - name = "Security Shutters" - }, -/turf/open/floor/glass/reinforced, -/area/station/hallway/primary/fore) "snw" = ( /obj/structure/table, /obj/machinery/microwave, @@ -61644,15 +63476,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"snR" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/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/fore) "snW" = ( /obj/machinery/computer/atmos_control/oxygen_tank{ dir = 1 @@ -61670,6 +63493,21 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"sop" = ( +/obj/structure/table, +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"soq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron/dark/side, +/area/mine/eva/lower) "sou" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61679,6 +63517,20 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/aft/greater) +"soz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Research Division Lobby"; + network = list("ss13","rd") + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "soA" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -61693,6 +63545,17 @@ /obj/effect/turf_decal/trimline/green/filled/corner, /turf/open/floor/iron/white, /area/station/medical/virology) +"soE" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "soF" = ( /obj/effect/turf_decal/trimline/dark_red/corner{ dir = 8 @@ -61709,6 +63572,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"soI" = ( +/obj/machinery/door/window/left/directional/east{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "soK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 @@ -61726,6 +63601,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"soR" = ( +/obj/machinery/icecream_vat, +/obj/structure/sign/clock/directional/north, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "spg" = ( /obj/structure/table, /obj/item/storage/box/monkeycubes{ @@ -61752,14 +63633,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"spj" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "spv" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/structure/cable, @@ -61767,26 +63640,16 @@ /obj/machinery/power/energy_accumulator/tesla_coil/anchored, /turf/open/floor/engine, /area/station/engineering/supermatter) -"spV" = ( -/obj/machinery/recharger, -/obj/structure/sign/warning/biohazard/directional/east, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, +"spy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, -/area/station/command/gateway) -"spW" = ( -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Art Exhibition"; - req_access = list("library") - }, -/obj/effect/spawner/random/structure/table_fancy, -/turf/open/floor/wood, -/area/station/service/library) +/area/station/commons/fitness) +"spz" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "sqb" = ( /obj/item/coin/iron{ pixel_y = -5 @@ -61816,12 +63679,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"sqq" = ( -/obj/structure/table, -/obj/item/electronics/apc, -/obj/item/electronics/airlock, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "sqt" = ( /turf/open/floor/iron/dark, /area/station/science/ordnance/office) @@ -61837,21 +63694,6 @@ dir = 8 }, /area/station/service/chapel) -"sqB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"sqH" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ - name = "Burn Chamber Interior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_ordmix{ - pixel_x = 24 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "sqN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61859,11 +63701,6 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"sqU" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/keycard_auth/wall_mounted/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "sqW" = ( /obj/structure/marker_beacon/burgundy{ name = "landing marker" @@ -61921,6 +63758,21 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/port/aft) +"srw" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"sry" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/medical/morgue) "srB" = ( /obj/machinery/airalarm/directional/west, /obj/effect/landmark/start/bitrunner, @@ -61928,35 +63780,9 @@ /obj/effect/decal/cleanable/robot_debris, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"srG" = ( -/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/decal/cleanable/blood/splatter, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"srM" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) "srP" = ( /turf/closed/wall, /area/station/science/breakroom) -"srU" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/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) "srW" = ( /obj/structure/table, /obj/item/assembly/prox_sensor{ @@ -61989,13 +63815,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/office) -"ssg" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Cargo Bay North" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/storage) "ssh" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ dir = 4 @@ -62006,27 +63825,23 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"ssm" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/closet/firecloset, -/obj/structure/sign/warning/gas_mask/directional/west, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"ssj" = ( +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "ssq" = ( /obj/structure/table/wood, /obj/item/camera_film, /obj/item/camera_film, /turf/open/floor/wood, /area/station/service/library) -"ssr" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/storage/tech) -"ssu" = ( -/obj/structure/gulag_vent/ice, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"sst" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics/garden) "ssv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/thinplating_new/corner, @@ -62040,6 +63855,13 @@ dir = 1 }, /area/station/ai_monitored/command/storage/eva) +"ssH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "ssM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62054,12 +63876,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"stb" = ( -/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, -/area/station/science/ordnance) "sth" = ( /obj/item/radio/intercom/directional/east, /obj/structure/disposalpipe/trunk{ @@ -62102,16 +63918,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"stB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) "stD" = ( /obj/machinery/door/poddoor/preopen{ id = "atmos"; @@ -62125,13 +63931,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"stI" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/north, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "stJ" = ( /obj/structure/flora/grass/brown/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -62180,17 +63979,26 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"sup" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"sus" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +"sul" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) +"suo" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/west, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/storage/photo_album/bar, +/obj/item/toy/figure/bartender, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "suA" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -62198,6 +64006,15 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"suF" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/stairs/south, +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/commons/lounge) "suL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62246,6 +64063,13 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) +"svx" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "svy" = ( /obj/effect/decal/cleanable/oil, /obj/item/stack/ore/glass, @@ -62254,13 +64078,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"svz" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "svF" = ( /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) @@ -62274,6 +64091,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"svR" = ( +/obj/machinery/computer/records/security, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/structure/fireaxecabinet/directional/north, +/turf/open/floor/iron, +/area/station/command/bridge) +"svV" = ( +/obj/machinery/space_heater, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "swa" = ( /obj/machinery/light/directional/east, /turf/open/floor/engine, @@ -62290,12 +64118,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"swe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "swf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62347,6 +64169,7 @@ /obj/machinery/power/terminal, /obj/machinery/light/small/directional/east, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) "swu" = ( @@ -62364,13 +64187,6 @@ "swF" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/aisat_interior) -"swI" = ( -/obj/machinery/medical_kiosk, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "swK" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62396,12 +64212,18 @@ }, /turf/open/floor/plating, /area/station/cargo/warehouse) -"sxe" = ( -/obj/structure/fence{ - dir = 4 +"sxs" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/closet/crate/freezer/blood, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"sxt" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 6 }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "sxu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62418,6 +64240,7 @@ /area/station/medical/medbay/aft) "sxF" = ( /obj/structure/chair/stool/directional/north, +/obj/structure/sign/warning/electric_shock/directional/west, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) "sxO" = ( @@ -62427,15 +64250,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"sxQ" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"sxT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/security/prison/rec) "sxY" = ( /obj/structure/cable/multilayer/multiz, /obj/structure/window/reinforced/spawner/directional/south, @@ -62449,28 +64263,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"syd" = ( -/obj/machinery/duct, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "syh" = ( /obj/structure/chair/pew/right{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"sym" = ( -/obj/structure/plasticflaps, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad2" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "syn" = ( /obj/effect/turf_decal/tile/neutral/diagonal_centre, /obj/machinery/atmospherics/pipe/multiz/violet/visible{ @@ -62479,6 +64277,26 @@ /obj/effect/turf_decal/tile/dark_green/diagonal_edge, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/mix) +"sys" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"syv" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) "syw" = ( /obj/structure/fence/corner{ dir = 4 @@ -62493,11 +64311,49 @@ dir = 8 }, /area/station/security/prison) +"syC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "syE" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/effect/turf_decal/trimline/blue/corner, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"syG" = ( +/obj/structure/fence{ + dir = 2; + pixel_y = 0 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"syI" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/food/grown/mushroom/chanterelle{ + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "syL" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -62523,14 +64379,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/station/medical/morgue) -"szj" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/turf/open/floor/iron/stairs/old{ - dir = 8 - }, -/area/station/hallway/primary/starboard) "szo" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -62540,25 +64388,11 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"szt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/structure/sign/clock/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "szu" = ( /obj/structure/sign/poster/official/obey/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"szz" = ( -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) "szD" = ( /obj/effect/turf_decal/trimline/green/filled/end, /obj/effect/decal/cleanable/dirt, @@ -62571,14 +64405,6 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"szK" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "szR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62596,13 +64422,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"sAa" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 4 +"sAd" = ( +/obj/structure/fence/post{ + dir = 8; + pixel_y = 0 }, -/turf/open/floor/iron, -/area/mine/eva/lower) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sAj" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -62611,6 +64437,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"sAt" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "sAu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62623,14 +64455,6 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"sAI" = ( -/obj/machinery/camera{ - c_tag = "Morgue Hallway" - }, -/obj/effect/landmark/start/hangover, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "sAR" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -62643,6 +64467,11 @@ "sAS" = ( /turf/closed/wall, /area/station/commons/storage/art) +"sBd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sBi" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -62671,14 +64500,18 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/iron, /area/station/security/prison/workout) -"sBx" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/science/xenobiology) "sBy" = ( /turf/closed/wall, /area/station/service/theater) +"sBH" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Security - Lower Brig Hallway" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "sBJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/showroomfloor, @@ -62697,14 +64530,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"sBY" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/spawner/random/trash/crushed_can{ - pixel_y = 10 - }, -/turf/open/floor/iron, -/area/station/service/bar) "sCa" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 5 @@ -62712,6 +64537,16 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) +"sCb" = ( +/obj/structure/minecart_rail{ + dir = 6 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "sCm" = ( /obj/machinery/power/terminal{ dir = 1 @@ -62738,6 +64573,21 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"sCz" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/obj/machinery/door/airlock/external{ + name = "Lower Medical External Access"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "sCA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -62754,6 +64604,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sCK" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "sCQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62763,14 +64617,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"sCX" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "sCZ" = ( /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"sDd" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "sDg" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 1 @@ -62792,14 +64647,10 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"sDM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, +"sDB" = ( +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/science/cytology) "sDQ" = ( /obj/item/radio/intercom/prison/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -62818,13 +64669,21 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"sEg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"sDV" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload Turret Control"; + pixel_y = -25 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Bridge Center" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/iron/large, -/area/station/hallway/secondary/entry) +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "sEi" = ( /turf/open/floor/carpet, /area/station/service/library) @@ -62845,10 +64704,6 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) -"sEv" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "sEz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -62890,11 +64745,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"sEI" = ( -/obj/machinery/light/small/dim/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/medical/morgue) "sEK" = ( /obj/structure/table/glass, /obj/item/stack/medical/gauze{ @@ -62913,6 +64763,13 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) +"sEN" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ + dir = 8 + }, +/obj/structure/sign/warning/biohazard/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/station/medical/virology) "sEO" = ( /obj/machinery/light/floor, /turf/open/floor/iron/smooth, @@ -62969,14 +64826,12 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sFN" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"sFJ" = ( +/obj/structure/fence/post{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sFS" = ( /obj/structure/railing/corner{ dir = 8 @@ -62992,37 +64847,11 @@ dir = 1 }, /area/station/ai_monitored/command/storage/eva) -"sGf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/door/window/brigdoor/right/directional/west{ - name = "Medbay Access"; - req_access = list("medical") - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "sGk" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"sGn" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - 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/service/hydroponics) "sGp" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -63048,6 +64877,10 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) +"sGw" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/genturf/blue, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "sGE" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 @@ -63057,6 +64890,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) +"sGG" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cart Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/barricade/wooden/snowed, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sGH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63082,19 +64924,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"sGM" = ( -/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/east, -/obj/structure/sign/warning/directional/east, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/port/lesser) +"sGL" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) +"sGT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "sGZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"sHa" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/bureaucracy/briefcase, +/obj/item/taperecorder/empty, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "sHc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/medical/glass{ @@ -63108,38 +64956,36 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/large, /area/station/medical/pharmacy) +"sHe" = ( +/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/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sHh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) -"sHi" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 6 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "sHl" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) "sHs" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) -"sHy" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"sHt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/caution_sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sHC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63174,32 +65020,22 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"sHV" = ( -/obj/machinery/atmospherics/components/tank/air{ - initialize_directions = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "sHX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"sIg" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"sIp" = ( -/obj/structure/closet/radiation, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/machinery/light/directional/north, +"sIb" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/light/warm/directional/north, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/service/bar) +"sIl" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "sIt" = ( /turf/closed/wall, /area/station/maintenance/central/lesser) @@ -63241,39 +65077,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/storage) -"sIX" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Garden" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 +"sIZ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "sJe" = ( /obj/machinery/deepfryer, /obj/machinery/light/warm/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"sJg" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "sJi" = ( /obj/machinery/vending/donksofttoyvendor, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) -"sJn" = ( -/obj/structure/closet/emcloset, -/obj/structure/sign/warning/gas_mask/directional/west, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/miningdock) "sJq" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/tile/yellow{ @@ -63299,21 +65119,6 @@ }, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) -"sJu" = ( -/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, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = 32 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "sJA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63322,29 +65127,29 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"sJC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "sJH" = ( /turf/closed/wall, /area/mine/living_quarters) -"sJP" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/rack, -/obj/item/controller{ - pixel_x = -7 - }, -/obj/item/compact_remote{ - pixel_x = -7 - }, -/obj/item/compact_remote{ - pixel_x = -7 - }, -/obj/item/integrated_circuit/loaded/speech_relay{ - pixel_x = 7 +"sJI" = ( +/obj/structure/closet/crate/wooden, +/obj/item/camera_film{ + pixel_x = -4; + pixel_y = 4 }, -/obj/item/integrated_circuit/loaded/hello_world{ - pixel_x = 7 +/obj/item/camera, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/iron/white/corner, -/area/station/science/explab) +/turf/open/floor/iron/grimy, +/area/station/commons/vacant_room/office) "sJR" = ( /obj/machinery/door/airlock/security/glass{ name = "Labor Camp Airlock" @@ -63383,6 +65188,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/command/meeting_room) +"sKT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/workout) "sKW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -63409,25 +65219,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/security/processing) -"sLm" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"sLy" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "sLD" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, @@ -63476,6 +65267,11 @@ dir = 1 }, /area/station/security/prison) +"sMy" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/flora/grass/both/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sML" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63491,6 +65287,12 @@ dir = 1 }, /area/station/security/office) +"sNj" = ( +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "sNr" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "permainner"; @@ -63543,6 +65345,13 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"sNF" = ( +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = -4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "sNI" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63550,22 +65359,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"sNQ" = ( +"sNL" = ( +/obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/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, -/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"sOd" = ( +/obj/structure/table, +/obj/item/stack/cable_coil, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, -/area/station/command/bridge) +/area/station/engineering/atmos/storage) "sOm" = ( /obj/structure/railing{ dir = 4 @@ -63606,11 +65414,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"sON" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "sOO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -63621,12 +65424,6 @@ /obj/item/kitchen/fork/plastic, /turf/open/floor/iron, /area/station/security/prison/mess) -"sOX" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) "sOY" = ( /obj/structure/table/glass, /obj/item/hemostat, @@ -63634,6 +65431,15 @@ /obj/item/storage/bag/trash, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"sPq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "rnd2"; + name = "Research Lab Shutters" + }, +/turf/open/floor/plating, +/area/station/science/ordnance/office) "sPA" = ( /obj/structure/rack, /obj/item/storage/bag/ore, @@ -63645,6 +65451,18 @@ /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/iron, /area/mine/laborcamp) +"sPE" = ( +/obj/machinery/conveyor{ + id = "mining_internal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/mine/production) "sPG" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -63652,26 +65470,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"sPK" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = -6 - }, -/obj/machinery/button/door{ - id = "BrigLock"; - name = "Cell Shutters"; - pixel_x = 7; - pixel_y = 9 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) -"sPS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"sPJ" = ( +/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, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/aft) "sPV" = ( /obj/machinery/door/airlock/atmos/glass, /obj/machinery/door/firedoor/heavy, @@ -63720,32 +65530,56 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"sRc" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"sQI" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"sQS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"sRu" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/commons/fitness) -"sRf" = ( -/obj/effect/turf_decal/siding/wood{ +/area/station/service/hydroponics) +"sRw" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, /obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/theater) -"sRp" = ( -/obj/structure/fence, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 +/turf/open/floor/iron, +/area/station/service/bar) +"sRz" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom" }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/service/kitchen/coldroom) "sRI" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -63785,20 +65619,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) -"sSz" = ( -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white, -/area/station/science/research) -"sSA" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/surface/outdoors/nospawn) -"sSE" = ( -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/science/research) "sSF" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -63807,6 +65627,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"sSN" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Engineering External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "Engineering-External" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/lobby) "sSO" = ( /obj/machinery/light/small/directional/south, /obj/structure/closet/secure_closet/brig{ @@ -63827,10 +65660,25 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"sSS" = ( -/obj/machinery/incident_display/delam/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +"sSX" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/paper{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"sTb" = ( +/obj/structure/railing/wooden_fence, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "sTe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ @@ -63859,6 +65707,19 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) +"sTl" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "sTn" = ( /obj/structure/table, /obj/machinery/newscaster/directional/north, @@ -63882,6 +65743,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"sTA" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/sepia, +/area/station/service/library) +"sTH" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"sTL" = ( +/obj/structure/fireplace{ + pixel_x = 0 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "sTO" = ( /obj/machinery/door/airlock{ name = "Unisex Restroom" @@ -63895,20 +65780,6 @@ /obj/structure/microscope, /turf/open/floor/iron/grimy, /area/station/security/prison/work) -"sTV" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Teleporter Maintenance" - }, -/obj/structure/sign/warning/secure_area/directional/west, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/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/access/all/command/teleporter, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "sUb" = ( /obj/machinery/door/airlock/security/glass{ name = "Permabrig Visitation" @@ -63918,15 +65789,6 @@ /obj/effect/mapping_helpers/airlock/access/any/security/brig, /turf/open/floor/iron, /area/station/security/prison/visit) -"sUi" = ( -/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/iron, -/area/station/hallway/primary/central) "sUv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -63943,6 +65805,7 @@ /obj/effect/turf_decal/stripes/corner{ dir = 8 }, +/obj/structure/sign/warning/cold_temp/directional/east, /turf/open/floor/iron/smooth, /area/mine/eva) "sUN" = ( @@ -63965,24 +65828,16 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"sVf" = ( -/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/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 +"sVi" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Research Break Room" }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor{ dir = 8 }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/genetics) +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "sVm" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1 @@ -63993,6 +65848,11 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"sVA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "sVL" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -64000,8 +65860,26 @@ /area/station/engineering/atmos) "sVN" = ( /obj/item/screwdriver, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"sVW" = ( +/obj/effect/decal/cleanable/garbage, +/obj/item/reagent_containers/spray/chemsprayer/party{ + pixel_x = 1 + }, +/obj/item/clothing/head/costume/festive{ + pixel_y = -3; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sWl" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer" @@ -64041,19 +65919,40 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/textured_half, /area/mine/production) -"sWS" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" +"sWN" = ( +/obj/structure/chair{ + dir = 1; + name = "Prosecution" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, /turf/open/floor/wood, -/area/station/commons/lounge) +/area/station/security/courtroom) +"sWO" = ( +/obj/structure/railing{ + dir = 5 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "sWU" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, /area/mine/production) +"sXa" = ( +/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/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/starboard/lesser) "sXb" = ( /obj/machinery/status_display/ai/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -64075,48 +65974,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"sXf" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced, -/obj/item/stack/wrapping_paper{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/stack/package_wrap{ - pixel_x = -1; - pixel_y = -1 - }, -/obj/item/dest_tagger, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sXk" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"sXC" = ( -/obj/structure/table, -/obj/machinery/button/ignition{ - id = "testigniter"; - pixel_x = -6; - pixel_y = 2 - }, -/obj/machinery/button/door{ - id = "testlab"; - name = "Test Chamber Blast Doors"; - pixel_x = 4; - pixel_y = 2; - req_access = list("xenobiology") - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/science/explab) "sXK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64140,15 +66003,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"sXU" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck{ - pixel_y = 13; - pixel_x = 6 - }, -/obj/effect/spawner/random/entertainment/cigarette, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "sYe" = ( /obj/structure/table/wood, /obj/item/clothing/under/suit/red, @@ -64161,19 +66015,24 @@ pixel_y = 4 }, /obj/machinery/light/small/directional/north, +/obj/structure/sign/painting/large/library_private{ + dir = 1 + }, /turf/open/floor/engine/cult, /area/station/service/library) -"sYu" = ( -/obj/machinery/door/firedoor, -/obj/effect/landmark/event_spawn, -/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{ - dir = 4 +"sYz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Mining B-1 Hallway North"; + network = list("ss13", "mine") + }, +/turf/open/floor/iron/dark/side, +/area/mine/eva) "sYA" = ( /obj/structure/fluff/tram_rail{ pixel_y = 17 @@ -64205,6 +66064,10 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"sZB" = ( +/obj/structure/noticeboard/directional/north, +/turf/open/openspace, +/area/station/service/bar/atrium) "sZD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64270,6 +66133,23 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/station/security/prison/garden) +"tav" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/library) +"tay" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) +"taC" = ( +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "taN" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -64297,35 +66177,33 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"tbd" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "tbh" = ( /turf/open/floor/iron/half{ dir = 1 }, /area/station/engineering/atmos) -"tbE" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ +"tbl" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +/obj/structure/sign/departments/lawyer/directional/west, /turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"tbH" = ( +/obj/structure/table/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) +"tbL" = ( +/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/west, +/turf/open/floor/wood/large, /area/station/service/bar) -"tbK" = ( -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tbN" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/door/airlock/engineering{ @@ -64342,18 +66220,6 @@ "tbQ" = ( /turf/open/floor/iron/grimy, /area/station/maintenance/aft/greater) -"tbR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/hallway/secondary/entry) "tbX" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -64378,6 +66244,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) +"tcL" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/rack, +/obj/item/stack/ducts/fifty, +/obj/item/storage/box/swab, +/obj/effect/spawner/random/contraband/permabrig_gear, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/grimy, +/area/station/security/prison/work) "tcQ" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Permabrig Recreation"; @@ -64396,13 +66271,13 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"tda" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 +"tcX" = ( +/obj/structure/railing, +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) +/area/station/science/ordnance) "tdb" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -64411,6 +66286,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"tdc" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "tdp" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -64425,13 +66305,20 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"tdL" = ( -/obj/structure/stairs/south, -/obj/structure/railing{ +"tdI" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/obj/structure/railing/corner, +/obj/structure/sign/warning/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) +"tdK" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/structure/sign/departments/engineering/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "tdR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -64440,39 +66327,47 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) -"tec" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_apiary"; - name = "Apiary Shutters" +"tdU" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"ted" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" +/obj/machinery/barsign/directional/north, +/turf/open/floor/iron, +/area/station/service/bar) +"tdY" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) +"tec" = ( +/obj/structure/cable, +/obj/structure/railing{ + dir = 1 + }, +/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, /area/station/security/prison/work) -"tej" = ( -/obj/structure/fence, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"tes" = ( -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = -30 +"teq" = ( +/obj/structure/railing, +/obj/structure/rack, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory/upper) "teE" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters{ @@ -64493,6 +66388,17 @@ dir = 4 }, /area/station/security/brig/entrance) +"teQ" = ( +/obj/machinery/chem_master{ + name = "CytoMaster 5000" + }, +/obj/item/swab{ + pixel_y = 10; + pixel_x = -2 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "teZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64501,23 +66407,24 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"tfm" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) -"tfu" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall, -/area/station/maintenance/starboard/fore) +"tfk" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"tfl" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + desc = "Used to grind things up into raw materials and liquids."; + pixel_y = 5 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "tfx" = ( /obj/machinery/portable_atmospherics/canister/water_vapor, /turf/open/floor/iron, /area/station/service/janitor) -"tfG" = ( -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "tfM" = ( /obj/structure/chair/office/light{ dir = 1 @@ -64556,8 +66463,20 @@ /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, +/obj/machinery/button/door/directional/east{ + id = "commissarydoor"; + name = "Commissary Door Lock"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 35 + }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"tgj" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tgn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -64567,6 +66486,13 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"tgv" = ( +/obj/machinery/skill_station, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/requests_console/auto_name/directional/north, +/turf/open/floor/iron/sepia, +/area/station/service/library) "tgx" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -64592,6 +66518,19 @@ "thA" = ( /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) +"thC" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "thD" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, @@ -64628,6 +66567,15 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"thP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/ash, +/obj/item/rack_parts, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "thW" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/wood, @@ -64663,46 +66611,13 @@ dir = 10 }, /area/station/science/lab) -"tie" = ( -/obj/structure/rack, -/obj/item/clothing/suit/utility/beekeeper_suit, -/obj/item/clothing/head/utility/beekeeper_head, -/obj/item/melee/flyswatter, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"til" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/mine/eva) -"tip" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ +"tii" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tis" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/transit_tube/horizontal, @@ -64712,12 +66627,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"tiI" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) +"tiT" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "tiV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron, /area/station/service/chapel) +"tiX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "tiY" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/weather/snow/corner{ @@ -64736,6 +66678,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/engineering/atmos/storage) +"tjf" = ( +/obj/structure/fence/door, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "tjk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -64757,10 +66703,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"tjA" = ( -/obj/machinery/smartfridge, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +"tjv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "tjC" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -64768,13 +66719,38 @@ dir = 1 }, /area/station/security/prison) +"tjG" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/structure/rack, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "tjH" = ( /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/siding/yellow, +/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/half{ dir = 1 }, /area/station/engineering/storage) +"tjM" = ( +/obj/structure/table/wood, +/obj/item/soap/deluxe{ + pixel_y = 11 + }, +/obj/item/soap/deluxe{ + pixel_y = 6 + }, +/obj/item/soap/deluxe, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "tjN" = ( /obj/structure/closet/secure_closet/personal{ anchored = 1 @@ -64804,47 +66780,46 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tku" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ +"tkp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/machinery/door/airlock/multi_tile/public/glass{ - dir = 4; - name = "Auxiliary Dock" +/turf/open/floor/iron/cafeteria{ + dir = 8 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/entry) +/area/station/science/ordnance/office) "tkP" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"tkS" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/research) +"tkT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "tkU" = ( /turf/open/lava/plasma/ice_moon, /area/icemoon/surface/outdoors/nospawn) -"tkY" = ( -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"tkX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"tla" = ( +/obj/structure/marker_beacon/jade, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"tlf" = ( +/obj/structure/railing, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "tlh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64867,6 +66842,19 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) +"tlt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/status_display/door_timer{ + pixel_x = -32; + id = "Cell 3"; + name = "Cell 3" + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "tlA" = ( /obj/machinery/light/small/directional/south, /obj/item/radio/intercom/directional/south, @@ -64919,10 +66907,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"tmb" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tml" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -64931,6 +66915,13 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/hallway/primary/port) +"tmy" = ( +/obj/machinery/plate_press, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/security/prison/work) "tmA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64994,6 +66985,14 @@ /obj/item/folder/yellow, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"tnu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/item/rack_parts, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tny" = ( /obj/structure/disposalpipe/segment, /obj/item/radio/intercom/directional/east, @@ -65003,17 +67002,20 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"tnz" = ( -/obj/structure/table, -/obj/item/plate, -/obj/item/food/piedough, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, -/obj/effect/turf_decal/siding/white{ +"tnD" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 }, -/obj/item/kitchen/rollingpin, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/structure/bed{ + dir = 1 + }, +/obj/effect/spawner/random/bedsheet{ + dir = 1 + }, +/obj/effect/spawner/random/contraband/permabrig_gear, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "tnI" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 10 @@ -65021,14 +67023,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"tnJ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tnO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -65039,6 +67033,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) +"toi" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/chair/sofa/left/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "too" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, @@ -65064,25 +67066,13 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) -"toP" = ( -/obj/item/toy/snowball{ - pixel_x = 11; - pixel_y = -7 - }, -/obj/structure/flora/grass/brown/style_random, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "toT" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/corner{ + dir = 4 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/turf/open/floor/stone, +/area/station/service/bar/atrium) "toV" = ( /obj/structure/table, /obj/item/stock_parts/subspace/ansible, @@ -65102,6 +67092,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/large, /area/station/command/gateway) +"tpc" = ( +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tpd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -65132,11 +67129,12 @@ "tpH" = ( /turf/closed/wall, /area/station/security/execution/education) -"tpK" = ( -/obj/structure/table/wood, -/obj/item/folder/blue, -/turf/open/floor/wood, -/area/station/security/courtroom) +"tpO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tpX" = ( /obj/item/storage/box/bodybags, /obj/structure/extinguisher_cabinet/directional/west, @@ -65149,14 +67147,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"tpZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tqk" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -65167,17 +67157,40 @@ /obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) -"tqr" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/hydroponics/constructable, -/obj/machinery/status_display/ai/directional/south, +"tqs" = ( +/obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/area/station/science/ordnance/office) +"tqy" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/space_heater, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/medical/morgue) +"tqJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "tqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "tqR" = ( @@ -65197,16 +67210,16 @@ "trm" = ( /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"trn" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 +"tro" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Aft Primary Hallway South"; + pixel_y = -22 }, -/area/station/science/explab) +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/departments/engineering/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "tru" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -65235,6 +67248,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) +"tsc" = ( +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "tsh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65258,15 +67276,28 @@ /turf/open/openspace/icemoon, /area/station/science/server) "tsu" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/structure/table/wood, +/obj/effect/spawner/random/entertainment/cigarette, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"tsz" = ( +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/machinery/space_heater, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/structure/sign/poster/official/get_your_legs/directional/north, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 }, -/obj/machinery/light/floor, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/area/station/ai_monitored/command/storage/eva) "tsH" = ( /obj/machinery/door/airlock/security/glass{ name = "Interrogation" @@ -65278,19 +67309,11 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) -"tsK" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/structure/bed{ - dir = 1 - }, -/obj/effect/spawner/random/bedsheet{ - dir = 1 - }, -/obj/effect/spawner/random/contraband/permabrig_gear, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) +"tsP" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/hallway/secondary/exit/departure_lounge) "tsQ" = ( /obj/machinery/door/airlock/public/glass{ name = "Public Mining Storage" @@ -65318,20 +67341,6 @@ /obj/machinery/door/airlock/freezer, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) -"tts" = ( -/obj/item/chair/wood, -/obj/item/toy/plush/moth{ - name = "Ariadne" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"ttv" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/service/library) "ttw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/smooth_large, @@ -65344,17 +67353,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/security/prison/rec) -"ttO" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/button/door/directional/south{ - id = "surgery"; - name = "Surgery Shutter Control" +"ttI" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm5"; + name = "Cabin 1" }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/commons/dorms) "ttT" = ( /obj/machinery/door/airlock/mining/glass{ id_tag = "innercargo"; @@ -65404,6 +67412,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"tuy" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/ignition{ + id = "testigniter"; + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "tuz" = ( /obj/structure/cable, /obj/structure/table, @@ -65421,12 +67439,36 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"tuD" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Auxiliary Dock" + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "tuH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/mess) +"tuQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/service/chapel) "tva" = ( /obj/machinery/light/small/directional/south, /turf/open/openspace, @@ -65441,6 +67483,10 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) +"tvk" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "tvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65453,6 +67499,13 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"tvt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tvv" = ( /obj/machinery/door/airlock/command/glass{ name = "Research Director" @@ -65467,10 +67520,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"tvx" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/greater) "tvF" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable, @@ -65505,17 +67554,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"twb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"twn" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/obj/effect/turf_decal/siding/white/corner{ dir = 8 }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/mine/laborcamp) +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "twt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -65527,17 +67575,6 @@ /obj/machinery/holopad, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"twx" = ( -/obj/effect/turf_decal/siding/wideplating_new/light, -/obj/item/trash/bee, -/obj/machinery/light/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/sign/poster/official/moth_piping/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) "twK" = ( /obj/machinery/porta_turret/ai{ dir = 8 @@ -65547,37 +67584,6 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"twP" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = -6 - }, -/obj/machinery/button/door{ - id = "Secure Gate"; - name = "Cell Shutters"; - pixel_x = 7; - pixel_y = 9 - }, -/obj/machinery/button/door{ - id = "Prison Gate"; - name = "Prison Wing Lockdown"; - pixel_x = 7; - req_access = list("brig") - }, -/obj/structure/cable, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) -"twS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "twU" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, @@ -65608,15 +67614,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/construction, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"txd" = ( +"txf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/cold_temp/directional/west, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/turf/open/floor/iron/dark, +/area/station/service/chapel) "txj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -65628,6 +67633,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"txm" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "txo" = ( /obj/effect/turf_decal/siding/yellow/end{ dir = 4 @@ -65636,17 +67647,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, /area/station/medical/treatment_center) -"txv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/vending/hydronutrients, -/turf/open/floor/iron, -/area/station/service/hydroponics) "txE" = ( /obj/item/cigbutt, /obj/effect/decal/cleanable/dirt, @@ -65654,6 +67654,19 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"txH" = ( +/obj/machinery/vending/wallmed/directional/south, +/obj/structure/cable, +/obj/structure/table/glass, +/obj/item/stack/sticky_tape/surgical, +/obj/item/stack/medical/bone_gel, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Surgery B"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) "txI" = ( /obj/structure/closet/wardrobe/black, /turf/open/floor/plating, @@ -65666,6 +67679,10 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"txX" = ( +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/security/prison/garden) "tyb" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -65739,6 +67756,28 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"tzP" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/storage/box/shipping, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/art) +"tzR" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/filled/end{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tAg" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -65755,11 +67794,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/commons/storage/mining) -"tAt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "tAx" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/structure/disposalpipe/segment, @@ -65772,15 +67806,6 @@ dir = 4 }, /area/station/service/chapel) -"tAK" = ( -/obj/machinery/computer/security/telescreen/interrogation/directional/north, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/security/processing) "tAL" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -65789,6 +67814,10 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) +"tAN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tAO" = ( /obj/machinery/space_heater, /obj/effect/mapping_helpers/burnt_floor, @@ -65804,9 +67833,32 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron, /area/station/cargo/miningdock) +"tAT" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/service/kitchen/coldroom) +"tBq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/door/firedoor/heavy, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "tBs" = ( /turf/closed/wall, /area/station/maintenance/department/chapel) +"tBw" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "tBL" = ( /obj/machinery/computer/atmos_control/nitrogen_tank{ dir = 1 @@ -65814,11 +67866,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos) -"tBP" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/floor/engine, -/area/station/science/explab) "tBR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -65831,18 +67878,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"tBW" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"tBY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "tCe" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -65855,10 +67890,12 @@ /obj/structure/sign/warning, /turf/closed/wall/r_wall, /area/icemoon/surface/outdoors/nospawn) -"tCr" = ( -/obj/structure/grille, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"tCk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tCu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -65887,24 +67924,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"tCG" = ( -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tCL" = ( /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/security/prison/work) -"tCO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/mine/eva) "tCR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -65914,14 +67939,6 @@ }, /turf/open/floor/plating, /area/station/security/interrogation) -"tCV" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Security - Permabrig Observation Prep"; - network = list("ss13","prison") - }, -/obj/structure/sign/poster/official/safety_internals/directional/west, -/turf/open/floor/vault, -/area/station/security/prison/rec) "tCW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, @@ -65970,16 +67987,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tDA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "tDL" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -65994,6 +68001,10 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood, /area/station/security/courtroom) +"tDS" = ( +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tDU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -66012,12 +68023,10 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"tEd" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"tEe" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "tEi" = ( /obj/structure/sink/directional/south, /turf/open/floor/iron, @@ -66032,42 +68041,11 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"tEn" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/north, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "tEs" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "holodeck" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/commons/fitness) -"tEu" = ( -/obj/structure/table, -/obj/item/hand_labeler, -/obj/item/storage/box/shipping, -/obj/structure/sign/poster/official/fruit_bowl/directional/south, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/art) +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "tEw" = ( /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers) @@ -66075,39 +68053,6 @@ /obj/structure/ore_box, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"tEE" = ( -/obj/structure/table, -/obj/item/food/deadmouse{ - pixel_y = 18; - pixel_x = 13 - }, -/obj/structure/microscope, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"tEK" = ( -/obj/structure/table, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/iron, -/area/station/commons/storage/mining) "tEL" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -66115,6 +68060,17 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"tEO" = ( +/obj/structure/closet, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/north{ + id = "miningdorm_A"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/carpet/donk, +/area/mine/production) "tEZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, @@ -66128,17 +68084,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"tFe" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "tFs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tFt" = ( -/obj/effect/spawner/random/trash/mess, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) "tFw" = ( /obj/machinery/camera/directional/north{ c_tag = "Central Hallway North-West" @@ -66155,13 +68114,47 @@ dir = 8 }, /area/station/science/lab) +"tFI" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/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/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "tFV" = ( /obj/structure/cable, /obj/machinery/light/directional/south, /obj/structure/closet/secure_closet/psychology, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/white, /area/station/medical/psychology) +"tFY" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "virology_airlock_interior"; + name = "Virology Interior Airlock" + }, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/virology) "tGi" = ( /obj/effect/turf_decal/stripes/end, /obj/machinery/door/airlock/external, @@ -66190,6 +68183,30 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"tGz" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) +"tGA" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/security/prison) "tGB" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -66201,6 +68218,15 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"tGE" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/stairs/south, +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/commons/lounge) "tGF" = ( /obj/machinery/camera/directional/east{ c_tag = "Bridge East" @@ -66216,6 +68242,15 @@ dir = 1 }, /area/station/engineering/lobby) +"tGJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/turf/open/floor/iron/dark/textured_edge{ + dir = 1 + }, +/area/station/security/prison) "tGP" = ( /obj/machinery/conveyor{ id = "gulag" @@ -66223,12 +68258,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/laborcamp) -"tHe" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 +"tHb" = ( +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/obj/machinery/button/curtain{ + pixel_x = -32; + id = "cantena_curtains" }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/wood, +/area/station/commons/lounge) "tHi" = ( /obj/structure/filingcabinet, /obj/machinery/requests_console/directional/west{ @@ -66251,23 +68288,16 @@ /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tHB" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/entry) -"tHF" = ( -/obj/structure/sign/nanotrasen, -/obj/structure/fence/post{ - dir = 8 +"tHw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"tHJ" = ( +/obj/structure/mannequin/skeleton, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tHK" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/railing{ @@ -66312,13 +68342,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"tIc" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "tIf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66332,6 +68355,7 @@ /area/station/maintenance/port/fore) "tIq" = ( /obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "tIu" = ( @@ -66342,6 +68366,7 @@ dir = 4 }, /obj/structure/sink/directional/west, +/obj/structure/sign/warning/biohazard/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) "tIw" = ( @@ -66358,13 +68383,21 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"tIL" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +"tIC" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"tIM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/mine/eva/lower) "tIS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -66382,28 +68415,29 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"tJi" = ( -/obj/structure/bookcase{ - name = "Holy Bookcase" +"tJh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/item/kirbyplants/random, +/obj/machinery/light/warm/directional/south, +/obj/machinery/digital_clock/directional/south, +/obj/structure/railing/corner{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"tJl" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "tJu" = ( /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"tJv" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/open/floor/iron/showroomfloor, -/area/station/engineering/atmos) "tJD" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -66443,6 +68477,13 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"tJK" = ( +/obj/structure/transit_tube/horizontal, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "tJN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66455,42 +68496,22 @@ /obj/item/clothing/mask/gas, /turf/open/floor/plating, /area/station/command/teleporter) -"tJV" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/beakers{ - pixel_y = 7 - }, -/obj/item/assembly/igniter{ - pixel_y = -3 - }, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/medical/chem_storage) -"tJZ" = ( +"tJY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) -"tKf" = ( -/obj/structure/closet, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/carpet/donk, -/area/mine/production) +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "tKi" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/lobby) +"tKm" = ( +/obj/structure/ore_container/food_trough/raptor_trough, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "tKq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66508,13 +68529,47 @@ /obj/structure/chair/pew/left, /turf/open/floor/wood, /area/station/security/prison/rec) +"tKD" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" + }, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) +"tKH" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "tKI" = ( /turf/closed/wall, /area/station/maintenance/port/greater) +"tKJ" = ( +/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, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = 32 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tKN" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"tKO" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "tKV" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/glass, @@ -66529,6 +68584,19 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"tKY" = ( +/obj/structure/rack, +/obj/item/soap{ + pixel_y = -2 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Ordnance Lower Mix Lab"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "tKZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66538,21 +68606,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"tLc" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Public Mining Storage"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/turf/open/floor/iron/dark, -/area/mine/storage) "tLe" = ( /obj/machinery/cryo_cell, /obj/effect/turf_decal/stripes/line{ @@ -66568,6 +68621,17 @@ /obj/structure/flora/rock/pile/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"tLm" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/station/hallway/secondary/entry) "tLp" = ( /obj/machinery/computer/records/medical{ dir = 4 @@ -66575,12 +68639,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) -"tLy" = ( -/obj/machinery/vatgrower{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "tLB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, /obj/effect/turf_decal/tile/yellow{ @@ -66591,6 +68649,22 @@ "tLF" = ( /turf/closed/wall, /area/station/hallway/primary/starboard) +"tLI" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"tLL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "tLM" = ( /obj/machinery/camera/directional/south{ c_tag = "Robotics Lab - South"; @@ -66625,6 +68699,10 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"tMc" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "tMe" = ( /obj/machinery/computer/mechpad{ dir = 1 @@ -66661,21 +68739,16 @@ "tMO" = ( /turf/closed/wall, /area/station/medical/break_room) +"tMS" = ( +/obj/structure/sign/warning/fire/directional/north, +/turf/open/openspace, +/area/station/engineering/atmos/storage) "tMY" = ( /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka, /obj/structure/closet, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tNb" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tNd" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/turf_decal/siding/green{ @@ -66703,11 +68776,24 @@ /obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) +"tNw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tNx" = ( /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"tNz" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "tND" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 4 @@ -66719,45 +68805,20 @@ dir = 10 }, /area/mine/living_quarters) -"tNH" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 6 - }, -/turf/open/floor/wood/large, -/area/station/hallway/primary/starboard) "tNJ" = ( /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/lesser) -"tNN" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"tNY" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/lobby) -"tOe" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"tOf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "xenobio1"; - name = "Xenobio Pen 1 Blast Door" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"tOb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay Chemistry Lab - South"; + network = list("ss13","medbay") }, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/science/xenobiology) +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "tOi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66767,6 +68828,14 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"tOk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "tOq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -66783,63 +68852,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"tOC" = ( -/obj/effect/spawner/random/trash/hobo_squat, -/obj/effect/decal/cleanable/dirt/dust, +"tOE" = ( +/obj/structure/cable/multilayer/multiz, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/security/prison/safe) "tOF" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /turf/open/floor/carpet, /area/station/command/meeting_room) -"tOO" = ( -/obj/structure/sign/warning/no_smoking/circle/directional/west, -/obj/machinery/light/directional/west, -/obj/machinery/camera{ - c_tag = "Medbay Mid-South"; - dir = 5; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/table/glass, -/obj/machinery/fax{ - fax_name = "Medical"; - name = "Medical Fax Machine" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "tOX" = ( /obj/machinery/light/small/broken/directional/south, /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tPx" = ( -/obj/structure/table, -/obj/item/multitool/circuit{ - pixel_x = -8 - }, -/obj/item/multitool/circuit{ - pixel_x = -4 - }, -/obj/item/multitool/circuit, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/explab) "tPz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side{ @@ -66865,6 +68893,27 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) +"tPL" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) +"tPT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "tPV" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -66891,16 +68940,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/storage) -"tQE" = ( -/obj/effect/turf_decal/siding/brown/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "tQM" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -66928,6 +68967,44 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"tRo" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) +"tRq" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/item/toy/plush/moth{ + name = "Theseus" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/flag/mothic/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"tRP" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Hydroponics Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/service/hydroponics, +/turf/open/floor/plating, +/area/station/service/hydroponics) "tRX" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -66941,54 +69018,50 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"tSd" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"tSb" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "tSi" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) +"tSj" = ( +/obj/structure/fence/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "tSs" = ( /obj/item/flashlight/lantern{ start_on = 1 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"tSt" = ( -/obj/structure/sign/painting/library, -/turf/closed/wall, -/area/station/service/library) "tSx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) -"tSy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"tSF" = ( +/obj/machinery/door/window/left/directional/west{ + req_one_access = list("bar", "kitchen"); + name = "Deliveries" }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"tSK" = ( -/obj/machinery/chem_mass_spec, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/obj/structure/sign/warning/no_smoking/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"tSO" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "tTc" = ( /obj/item/storage/bag/plants/portaseeder, /obj/structure/table/glass, @@ -66999,22 +69072,25 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) -"tTw" = ( -/obj/structure/stairs/east, -/obj/structure/railing, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "tTK" = ( -/obj/structure/railing/corner{ - dir = 4 +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/icemoon/underground/explored) +/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) "tTL" = ( /obj/structure/chair, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"tTO" = ( +/obj/structure/fence/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "tTV" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -67037,24 +69113,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"tUm" = ( -/obj/machinery/door/window/left/directional/west{ - req_one_access = list("bar", "kitchen"); - name = "Deliveries" - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/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/textured, -/area/station/service/kitchen/coldroom) "tUn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -67091,6 +69149,10 @@ specialfunctions = 4 }, /obj/machinery/photobooth/security, +/obj/machinery/button/flasher{ + id = "transferflash"; + pixel_y = 34 + }, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) "tUC" = ( @@ -67098,6 +69160,13 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/mine/living_quarters) +"tUG" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/four, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/construction) "tUK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -67110,21 +69179,12 @@ /turf/open/floor/iron/white, /area/station/science/xenobiology) "tUO" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/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, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/turf/open/floor/iron, -/area/station/command/bridge) +/obj/structure/sign/painting/large/library{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/library) "tUV" = ( /obj/structure/railing{ dir = 8 @@ -67137,6 +69197,12 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"tVd" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "tVf" = ( /turf/closed/wall, /area/station/security/prison) @@ -67147,6 +69213,15 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/science/server) +"tVx" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "tVA" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/radiation, @@ -67154,17 +69229,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"tVB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/light/dim/directional/south, -/obj/machinery/requests_console/directional/south{ - department = "Medbay"; - name = "Medbay Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +"tVF" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "tWc" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/spawner/random/trash/soap, @@ -67179,6 +69248,17 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"tWj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "tWp" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -67211,6 +69291,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/mine/mechbay) +"tWJ" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/carpet/lone, +/area/station/service/chapel) "tWK" = ( /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, @@ -67226,44 +69312,18 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) -"tWY" = ( -/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/access/all/service/kitchen, -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) -"tWZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "tXb" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tXd" = ( -/obj/machinery/seed_extractor, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Permabrig Forestry"; - network = list("ss13","prison") - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/prison/garden) -"tXg" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"tXc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/landmark/start/paramedic, +/obj/structure/cable, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "tXh" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -67272,6 +69332,11 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"tXk" = ( +/obj/machinery/shower/directional/west, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "tXs" = ( /obj/structure/ladder, /obj/machinery/light/small/red/directional/west, @@ -67288,6 +69353,19 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"tXM" = ( +/obj/machinery/hydroponics/constructable, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/item/plant_analyzer, +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/green{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/mine/laborcamp) "tXV" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/camera/directional/north{ @@ -67312,6 +69390,17 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"tYt" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"tYu" = ( +/obj/effect/spawner/random/trash/hobo_squat, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tYz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67334,6 +69423,28 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/prison/garden) +"tYF" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"tYS" = ( +/obj/machinery/door/airlock/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, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"tYW" = ( +/obj/machinery/light/directional/west, +/obj/structure/chair, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "tYZ" = ( /obj/machinery/door/airlock/external{ name = "External Airlock" @@ -67356,61 +69467,26 @@ /obj/item/shovel/spade, /turf/open/floor/grass, /area/station/maintenance/starboard/aft) -"tZe" = ( -/obj/machinery/vending/wardrobe/gene_wardrobe, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/genetics) -"tZf" = ( -/obj/structure/cable, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "tZm" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"tZo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "tZp" = ( /obj/structure/ladder, +/obj/effect/turf_decal/weather/snow/corner, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"tZG" = ( -/obj/machinery/meter, -/obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/pink/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"tZO" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) -"tZR" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "packageSort2" - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/sorting) +"tZv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "tZZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/directional/west, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "uab" = ( @@ -67424,6 +69500,18 @@ /obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai_upload) +"uag" = ( +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "uah" = ( /obj/machinery/light_switch/directional/west, /obj/structure/cable, @@ -67449,6 +69537,12 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"uap" = ( +/obj/structure/fence/cut/large{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "uar" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67487,38 +69581,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"ubh" = ( -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) -"ubi" = ( -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "ubk" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ubo" = ( -/obj/machinery/status_display/door_timer{ - id = "Cell 1"; - name = "Cell 1"; - pixel_x = -32 - }, -/obj/machinery/door/poddoor/preopen{ - id = "Prison Gate"; - name = "Prison Blast Door" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) -"ubp" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ubq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, @@ -67546,28 +69612,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"ubG" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs/medium, +/area/mine/eva/lower) "ubH" = ( /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/locker) -"ubI" = ( -/obj/structure/ladder{ - name = "upper dispenser access" - }, -/obj/structure/sign/warning/no_smoking/directional/east, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/chemistry) -"ubK" = ( -/obj/machinery/computer/holodeck{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "ubY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67600,11 +69655,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"ucD" = ( -/obj/machinery/plate_press, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron/dark/smooth_half, -/area/station/security/prison/work) +"ucu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ucN" = ( /turf/closed/wall/r_wall, /area/station/security/detectives_office) @@ -67612,20 +69672,6 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"udf" = ( -/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/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/starboard/lesser) "udj" = ( /obj/effect/turf_decal/stripes/asteroid/line, /obj/structure/cable, @@ -67643,15 +69689,19 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "udA" = ( -/obj/structure/training_machine, -/obj/item/target, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 +/obj/effect/turf_decal/tile/blue, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/hallway/secondary/entry) "udK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -67672,22 +69722,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"udQ" = ( -/obj/structure/table, -/obj/item/computer_disk/ordnance, -/obj/item/computer_disk/ordnance, -/obj/item/computer_disk/ordnance, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/command/heads_quarters/rd) -"udR" = ( -/obj/structure/cable, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "uee" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -67700,14 +69734,12 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"uek" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/potato{ - name = "\improper Beepsky's emergency battery" +"uen" = ( +/obj/structure/fence/door{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "uep" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67718,6 +69750,13 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"uet" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/hos) "uey" = ( /obj/machinery/power/supermatter_crystal/engine, /turf/open/floor/engine, @@ -67735,6 +69774,10 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"ueF" = ( +/obj/structure/sign/departments/holy/directional/east, +/turf/open/openspace, +/area/station/service/chapel) "ueP" = ( /obj/structure/table, /obj/structure/reagent_dispensers/servingdish, @@ -67761,6 +69804,11 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"ufb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/engine, +/area/station/science/explab) "uff" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, @@ -67771,11 +69819,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"ufw" = ( -/obj/machinery/door/firedoor, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ufF" = ( /obj/structure/table, /obj/item/storage/box/prisoner{ @@ -67797,14 +69840,6 @@ }, /turf/open/floor/sepia, /area/station/security/prison/rec) -"uge" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/obj/machinery/status_display/evac/directional/east, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "ugi" = ( /obj/machinery/light/small/directional/east, /obj/machinery/computer/order_console/bitrunning{ @@ -67829,6 +69864,10 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"ugA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ugG" = ( /obj/structure/table, /obj/item/clothing/gloves/color/fyellow, @@ -67841,19 +69880,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/maintenance/department/electrical) -"ugI" = ( -/obj/machinery/door/firedoor, -/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, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ugP" = ( /obj/effect/turf_decal/siding/red{ dir = 4 @@ -67868,6 +69894,24 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"ugX" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm3"; + name = "Dorm 3" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) +"ugZ" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "uhb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/brown{ @@ -67876,14 +69920,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"uhs" = ( -/obj/structure/railing/corner, -/obj/machinery/camera/directional/south{ - c_tag = "Mining B-1 Hallway North" - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) "uht" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -67915,6 +69951,16 @@ }, /turf/open/floor/iron/white/side, /area/mine/living_quarters) +"uhF" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "uhH" = ( /obj/machinery/door/airlock/engineering{ name = "Chemistry Lab Utilities" @@ -67926,15 +69972,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uhX" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/sign/warning/deathsposal/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "uif" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67954,44 +69991,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"uil" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) -"uin" = ( -/obj/structure/sign/warning/fire/directional/south, -/obj/effect/turf_decal/stripes/corner{ +"uii" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/dark_green/arrow_ccw, -/obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage) -"uiq" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks, -/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron/dark, -/area/station/service/bar) -"uiv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/medical/morgue) "uiF" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -68009,19 +70016,6 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uiM" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/command/nuke_storage) -"uiV" = ( -/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/wood/parquet, -/area/station/service/bar/backroom) "uja" = ( /turf/closed/wall, /area/station/commons/toilet) @@ -68031,10 +70025,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"ujp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "ujs" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -68047,6 +70037,12 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) +"ujK" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ujP" = ( /obj/structure/table, /obj/machinery/computer/security/telescreen/research, @@ -68071,34 +70067,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/service/chapel) -"uks" = ( -/obj/machinery/door/airlock/command{ - name = "Conference Room" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"ukt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"ukv" = ( -/obj/machinery/computer/exoscanner_control{ - dir = 1 - }, -/obj/machinery/light_switch/directional/east{ - pixel_x = 22; - pixel_y = 8 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/drone_bay) "ukz" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment{ @@ -68121,6 +70089,32 @@ }, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"ukJ" = ( +/obj/effect/turf_decal/trimline/neutral/warning, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/item/flashlight{ + pixel_y = 9 + }, +/obj/item/flashlight{ + pixel_y = 9 + }, +/obj/item/flashlight{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/ai_monitored/command/storage/eva) "ukN" = ( /obj/structure/table, /obj/machinery/door/poddoor/shutters{ @@ -68132,6 +70126,19 @@ /obj/machinery/door/window/left/directional/south, /turf/open/floor/iron, /area/station/security/prison/visit) +"ukR" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Teleporter Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/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/access/all/command/teleporter, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "ukV" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/blood/random, @@ -68168,6 +70175,13 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/commons/dorms) +"ulm" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "ult" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/lab) @@ -68177,12 +70191,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/security/prison/safe) -"ulE" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 1 +"ulL" = ( +/obj/machinery/modular_computer/preset/id, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Medical Office North"; + network = list("ss13","medbay") }, -/turf/open/floor/iron, -/area/station/science/ordnance) +/obj/machinery/button/door/directional/east{ + id = "cmoprivacy"; + name = "CMO Shutter Control"; + req_access = list("cmo") + }, +/obj/machinery/keycard_auth/wall_mounted/directional/east{ + pixel_x = 37 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/cmo) +"ulR" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "uma" = ( /obj/item/chisel, /obj/item/storage/toolbox/artistic, @@ -68190,17 +70221,16 @@ /obj/item/storage/crayons, /turf/open/floor/sepia, /area/station/security/prison/rec) -"umb" = ( -/obj/structure/sign/warning/docking/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"umc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"umg" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"umh" = ( +/turf/closed/wall/ice, +/area/icemoon/surface/outdoors/nospawn) "uml" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68214,6 +70244,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"umv" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "umz" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -68234,13 +70275,15 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"umF" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/chapel) +"umD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) +"umM" = ( +/obj/effect/landmark/start/clown, +/turf/open/floor/wood, +/area/station/commons/lounge) "umR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -68288,14 +70331,14 @@ /obj/machinery/gulag_teleporter, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"unM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ +"unG" = ( +/obj/machinery/computer/station_alert{ dir = 4 }, -/obj/structure/sign/departments/exodrone/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "unO" = ( /obj/item/paper_bin{ pixel_x = -3; @@ -68306,16 +70349,6 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/cargo/office) -"unT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/random/directional/west, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/mine/eva) "uog" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -68369,36 +70402,9 @@ 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) -"uoF" = ( -/obj/machinery/pdapainter/engineering, -/obj/machinery/button/door/directional/west{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_y = 10; - req_access = list("engineering") - }, -/obj/machinery/button/door/directional/west{ - id = "Secure Storage"; - name = "Engineering Secure Storage"; - req_access = list("engine_equip") - }, -/obj/machinery/button/door/directional/west{ - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_y = -10; - req_access = list("engineering") - }, -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/ce) -"uoS" = ( -/obj/machinery/vending/games, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmos) "uoT" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/structure/table, @@ -68412,6 +70418,22 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uoY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "upa" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -68439,12 +70461,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison) -"upx" = ( -/obj/machinery/light_switch/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"upB" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/security/prison/visit) "upH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -68464,6 +70484,17 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"upU" = ( +/obj/structure/table/wood, +/obj/item/raptor_dex{ + pixel_y = 13 + }, +/obj/item/raptor_dex{ + pixel_y = 7 + }, +/obj/item/raptor_dex, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "upV" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, @@ -68507,13 +70538,11 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"uqV" = ( -/obj/structure/sign/warning/directional/east{ - desc = "A sign warning of a sudden drop below."; - name = "SUDDEN DROP sign" - }, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/surface/outdoors/nospawn) +"uqX" = ( +/obj/effect/decal/remains/human, +/obj/item/pickaxe/improvised, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "urd" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, @@ -68528,6 +70557,22 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"urk" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) +"urm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/wood, +/area/station/security/prison/rec) "uro" = ( /obj/machinery/requests_console/directional/east{ department = "Telecomms Admin"; @@ -68538,6 +70583,13 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron, /area/station/tcommsat/computer) +"urp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "urw" = ( /obj/structure/railing/corner{ dir = 4 @@ -68565,6 +70617,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) +"urQ" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/west, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/hand_labeler, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"usm" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uso" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/contraband/prison, @@ -68577,22 +70647,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"usz" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32; - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"usP" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) "usS" = ( /obj/structure/bed{ dir = 1 @@ -68607,37 +70661,12 @@ dir = 10 }, /area/station/security/prison/safe) -"utn" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/seeds/tower, -/obj/item/seeds/chanter{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/seeds/watermelon{ - pixel_y = -6; - pixel_x = 3 - }, -/obj/item/seeds/apple{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/seeds/banana, -/obj/item/seeds/rose{ - pixel_y = -3; - pixel_x = -4 - }, -/obj/structure/noticeboard/directional/west, -/obj/item/paper/guides/jobs/hydroponics{ - pixel_y = 3; - pixel_x = -27 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"usU" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/iron/grimy, +/area/station/commons/vacant_room/office) "utr" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -68661,27 +70690,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"utG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "utR" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"utW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "uub" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Fuel Pipe" @@ -68693,10 +70707,6 @@ /obj/effect/spawner/random/techstorage/tcomms_all, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"uuh" = ( -/obj/structure/noticeboard/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "uum" = ( /obj/machinery/door/airlock/public/glass{ name = "Chapel" @@ -68740,17 +70750,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"uuO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "uuP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/office) -"uvi" = ( -/obj/machinery/door/firedoor, -/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, -/area/station/medical/cryo) "uvk" = ( /obj/structure/window/reinforced/plasma/spawner/directional/west, /obj/structure/cable, @@ -68761,6 +70770,14 @@ "uvt" = ( /turf/closed/wall, /area/station/science/robotics/mechbay) +"uvu" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat/maint) "uvv" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -68768,6 +70785,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"uvA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "uvM" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, @@ -68784,13 +70811,9 @@ /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) "uwd" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) +/obj/item/chair/wood, +/turf/open/floor/wood, +/area/station/maintenance/port/aft) "uwj" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment, @@ -68814,6 +70837,17 @@ dir = 8 }, /area/station/security/brig/entrance) +"uwE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uwH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -68844,6 +70878,21 @@ /obj/effect/mapping_helpers/airlock/access/all/service/janitor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"uwR" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Xenobiology External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) +"uwT" = ( +/turf/closed/wall/r_wall, +/area/station/science/cytology) "uxd" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -68869,11 +70918,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/office) -"uxp" = ( -/turf/open/floor/iron/stairs/medium{ - dir = 4 +"uxm" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/area/station/engineering/lobby) +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uxx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output{ dir = 1 @@ -68887,26 +70939,35 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"uxG" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat/service"; + name = "Service Bay Turret Control"; + pixel_x = 27; + req_access = list("minisat") + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "uxK" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"uxU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"uxZ" = ( -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +"uyo" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Courtroom" }, -/turf/open/floor/plating, -/area/station/maintenance/fore/lesser) -"uye" = ( -/obj/item/kirbyplants/random/dead, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/item/radio/intercom/directional/north, +/obj/structure/chair{ + name = "Defense" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "uyq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68933,13 +70994,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark/textured, /area/station/medical/treatment_center) -"uyU" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage) "uyV" = ( /obj/item/target/alien/anchored, /obj/effect/turf_decal/stripes/line{ @@ -68957,6 +71011,24 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"uza" = ( +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Antechamber"; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat/atmos"; + name = "Atmospherics Turret Control"; + pixel_x = -27; + req_access = list("minisat") + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "uzd" = ( /obj/structure/rack, /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp{ @@ -68964,6 +71036,16 @@ }, /turf/open/floor/iron/smooth, /area/mine/mechbay) +"uze" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "uzf" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/bot, @@ -68974,12 +71056,44 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"uzr" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/table/glass, +/obj/machinery/fax{ + fax_name = "Medical"; + name = "Medical Fax Machine" + }, +/obj/machinery/camera/directional/west{ + c_tag = "Medbay Mid-South"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "uzs" = ( /obj/structure/rack, /obj/item/pickaxe, /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"uzu" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/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/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/backroom) "uzB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -69014,21 +71128,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/storage/primary) -"uAx" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/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, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) "uAE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69050,6 +71149,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"uAL" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"uAP" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/service/hydroponics) "uBi" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai) @@ -69064,34 +71175,14 @@ /obj/structure/railing{ dir = 9 }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "uBA" = ( /turf/closed/wall, /area/station/engineering/atmos/project) -"uBD" = ( -/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, -/obj/effect/spawner/random/trash/food_packaging, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"uBL" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/station/hallway/secondary/entry) "uBP" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, @@ -69174,26 +71265,19 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/lobby) +"uCM" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/mob/living/carbon/human/species/monkey, +/obj/machinery/camera/directional/north{ + c_tag = "Virology Pen"; + network = list("ss13","medbay") + }, +/turf/open/floor/grass, +/area/station/medical/virology) "uCN" = ( /obj/structure/grille/broken, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"uCU" = ( -/obj/machinery/button/flasher{ - id = "executionflash"; - pixel_x = -24; - pixel_y = 5 - }, -/obj/machinery/button/door/directional/west{ - id = "executionfireblast"; - name = "Transfer Area Lockdown"; - pixel_y = -6; - req_access = list("brig") - }, -/obj/structure/railing, -/obj/machinery/door/window/left/directional/south, -/turf/open/floor/plating/icemoon, -/area/station/security/execution/education) "uDc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69240,18 +71324,14 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"uDr" = ( -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 +"uDv" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/cargo/office) +/obj/structure/sink/kitchen/directional/west, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "uDy" = ( /obj/item/book/bible, /obj/structure/cable, @@ -69260,13 +71340,6 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark, /area/station/security/prison/rec) -"uDC" = ( -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/north, -/obj/item/book/bible, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "uDE" = ( /obj/structure/table, /obj/item/folder/yellow, @@ -69291,6 +71364,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uEf" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "uEk" = ( /obj/structure/closet/wardrobe/miner, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -69309,10 +71389,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"uEA" = ( -/obj/structure/closet/crate, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "uEI" = ( /obj/structure/railing/corner{ dir = 4 @@ -69341,11 +71417,30 @@ /turf/open/floor/plating, /area/station/security/processing) "uFg" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) +/obj/machinery/door/poddoor/preopen{ + id = "Prison Gate"; + name = "Prison Blast Door" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/status_display/door_timer{ + pixel_x = -32; + id = "Cell 1"; + name = "Cell 1" + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "uFh" = ( /turf/open/floor/plating, /area/station/construction) +"uFt" = ( +/obj/structure/railing/corner, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "uFz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -69354,6 +71449,22 @@ }, /turf/open/floor/iron/white, /area/station/medical/psychology) +"uFE" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/iron, +/area/station/service/bar) +"uFF" = ( +/obj/machinery/disposal/bin{ + desc = "A pneumatic waste disposal unit. This one leads to the frozen exterior of the moon."; + name = "deathsposal unit" + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/sign/warning/deathsposal/directional/north, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/virology) "uFH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69367,17 +71478,35 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"uGe" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_x = 32 +"uFS" = ( +/obj/structure/cable, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"uFV" = ( +/obj/structure/tank_dispenser{ + pixel_x = -1 }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Monitoring" + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, -/area/station/service/bar) +/area/station/engineering/atmos/storage/gas) +"uGe" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "uGl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69394,7 +71523,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/open/floor/plating/snowed/icemoon, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) "uGq" = ( /obj/structure/cable, @@ -69422,10 +71551,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) -"uGY" = ( -/obj/structure/bookcase, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uHc" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -69444,16 +71569,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore) -"uHS" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 +"uHN" = ( +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uHV" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 1 @@ -69466,6 +71588,13 @@ "uIg" = ( /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"uIh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uIj" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -69478,13 +71607,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uIz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/multilayer/multiz, -/turf/open/floor/plating, -/area/station/engineering/lobby) "uIC" = ( /obj/machinery/door/airlock/security{ aiControlDisabled = 1; @@ -69516,20 +71638,63 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"uIJ" = ( +/obj/structure/ladder{ + name = "chemistry lab access" + }, +/obj/effect/turf_decal/stripes/end, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Chemistry Lab - North"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/chemistry) "uIM" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uIS" = ( -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"uIQ" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/multitool, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/turf/open/floor/iron/white/side{ + dir = 10 + }, +/area/station/science/lab) "uIV" = ( /obj/machinery/meter, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"uJd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/mine/eva/lower) +"uJi" = ( +/obj/structure/rack, +/obj/item/crowbar/large/old, +/obj/effect/turf_decal/tile/dark/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/mine/living_quarters) "uJn" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -69554,19 +71719,32 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"uJI" = ( -/obj/structure/table/wood, -/obj/structure/noticeboard/directional/north, -/obj/item/flashlight/lantern, +"uJN" = ( +/obj/machinery/door/firedoor, +/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/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"uJR" = ( +/turf/open/floor/plating, +/area/station/engineering/main) "uJX" = ( /obj/structure/closet/firecloset, /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/red/half, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"uKc" = ( +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "uKj" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -69575,31 +71753,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/medical/cryo) -"uKx" = ( -/obj/structure/closet, -/obj/item/clothing/suit/hooded/wintercoat{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/shoes/wheelys/skishoes{ - pixel_y = -8 - }, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) -"uKJ" = ( -/obj/machinery/newscaster/directional/east, -/obj/structure/sink/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/work) "uKM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -69626,28 +71779,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uKR" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "uKW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/execution/education) +"uKY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uLe" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter) -"uLp" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "bridge blast"; - name = "Bridge Blast Door" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/command/bridge) -"uLr" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/storage_shared) "uLC" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -69663,24 +71816,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"uLJ" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"uLR" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "uLX" = ( /obj/machinery/door/airlock{ name = "Port Emergency Storage" @@ -69691,36 +71826,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/emergency/port) -"uLZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/decal/cleanable/vomit/old, -/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) -"uMj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random/dead, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "uMm" = ( /turf/open/floor/iron/white/corner{ dir = 4 }, /area/station/hallway/secondary/entry) -"uMq" = ( -/obj/structure/sign/warning/cold_temp{ - pixel_x = -29 +"uMp" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = 30 +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/mine/storage) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydronutrients, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"uMs" = ( +/obj/structure/sign/warning/fire/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "uMx" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -69766,19 +71891,10 @@ "uMN" = ( /turf/open/openspace, /area/station/commons/storage/mining) -"uMU" = ( -/obj/structure/fence/corner, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"uNp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"uMW" = ( +/obj/structure/sign/warning/directional/west, +/turf/open/openspace/icemoon, +/area/icemoon/surface/outdoors/nospawn) "uNq" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -69788,37 +71904,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"uNu" = ( -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/large, -/area/station/engineering/storage) -"uNw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/trash/raisins, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "uNE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) -"uNG" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) -"uNH" = ( -/obj/structure/railing, -/obj/machinery/vending/cytopro, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +"uNN" = ( +/obj/effect/spawner/random/trash/bin, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uNV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -69840,16 +71935,6 @@ "uOb" = ( /turf/closed/wall/r_wall, /area/station/security/prison/toilet) -"uOe" = ( -/obj/machinery/door/window/left/directional/west{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "uOf" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm_A"; @@ -69877,48 +71962,24 @@ "uOj" = ( /turf/open/floor/iron, /area/station/command/gateway) -"uOk" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "Antechamber Turret Control"; - pixel_y = -24; - req_access = list("minisat") - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/motion/directional/south{ - c_tag = "MiniSat Foyer"; - network = list("minisat") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) +"uOm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/south, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "uOn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"uOq" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/structure/railing/corner, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"uOy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) -"uOz" = ( -/obj/structure/marker_beacon/yellow, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) +"uOs" = ( +/obj/structure/bed/dogbed, +/obj/effect/decal/cleanable/blood/gibs/body, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "uOE" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 5 @@ -69936,28 +71997,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"uOW" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/landmark/start/paramedic, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"uPa" = ( -/obj/machinery/disposal/bin, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron, -/area/station/science/xenobiology) "uPh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/south{ +/obj/machinery/light_switch/directional/north, +/obj/machinery/button/door/directional/north{ + pixel_y = 37; id = "Mining_launch"; - name = "Mech Bay Door Control"; - pixel_x = 8; - pixel_y = 23 + name = "Mech Bay Door Control" }, -/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/textured, /area/mine/mechbay) "uPk" = ( @@ -69977,11 +72025,6 @@ /obj/structure/closet/crate/bin, /turf/open/floor/iron/dark, /area/mine/eva/lower) -"uPx" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron/smooth, -/area/station/maintenance/fore/lesser) "uPB" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -70006,24 +72049,36 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) -"uPQ" = ( -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/external/glass{ - name = "Cytology External Airlock" - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "uPS" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"uPT" = ( +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uPY" = ( -/obj/structure/noticeboard/directional/east, +/obj/item/stack/sheet/mineral/wood, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"uQc" = ( +/obj/structure/table, +/obj/machinery/fax/auto_name, +/obj/item/radio/intercom/directional/east, /turf/open/floor/wood, -/area/station/command/meeting_room) +/area/station/hallway/secondary/service) +"uQj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/newscaster/directional/east, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/psychology) "uQl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -70033,6 +72088,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/locker) +"uQv" = ( +/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, +/obj/item/chair, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uQx" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -70046,6 +72112,13 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) +"uQR" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/sign/warning/biohazard/directional/north, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/xenobiology) "uQV" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -70142,45 +72215,9 @@ dir = 4 }, /obj/machinery/meter, +/obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"uSE" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/right/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/desk_bell{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"uSS" = ( -/obj/machinery/recharge_station, -/obj/effect/turf_decal/stripes/box, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"uTc" = ( -/obj/machinery/chem_heater/withbuffer, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/yellow/full, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/pharmacy) -"uTf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "uTk" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70203,11 +72240,34 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"uTq" = ( +/obj/machinery/restaurant_portal/restaurant, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "uTr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"uTu" = ( +/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, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"uTx" = ( +/obj/machinery/air_sensor/ordnance_burn_chamber, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "uTI" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -70228,12 +72288,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"uTL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/white, -/area/station/science/robotics/lab) +"uTV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/toolcloset, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "uTX" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/item/kirbyplants/random, @@ -70241,40 +72300,65 @@ dir = 4 }, /area/station/service/chapel) -"uUn" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) -"uUq" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, +"uUp" = ( +/obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"uUu" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 +"uUs" = ( +/obj/machinery/computer/records/medical/laptop{ + pixel_y = 1 }, -/area/station/hallway/secondary/entry) -"uUw" = ( -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/west, -/obj/machinery/fax/auto_name, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) +/obj/structure/table/reinforced, +/obj/machinery/camera/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "uUH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 10 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"uUM" = ( +/obj/machinery/light_switch/directional/south, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/bluespace_vendor/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "uUT" = ( /turf/closed/wall, /area/mine/mechbay) +"uVb" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/closed/wall, +/area/station/service/hydroponics) +"uVf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/box/red, +/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/airlock_controller/incinerator_ordmix{ + pixel_y = 27 + }, +/obj/machinery/button/ignition/incinerator/ordmix{ + pixel_y = 39; + pixel_x = -6 + }, +/obj/machinery/button/door/incinerator_vent_ordmix{ + pixel_y = 39; + pixel_x = 5 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "uVj" = ( /obj/effect/turf_decal/arrows/white, /obj/effect/turf_decal/stripes/line{ @@ -70290,6 +72374,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) +"uVr" = ( +/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/plating, +/area/station/maintenance/starboard/lesser) "uVu" = ( /obj/machinery/space_heater, /obj/structure/window/reinforced/spawner/directional/east, @@ -70310,20 +72403,11 @@ dir = 1 }, /area/station/security/lockers) -"uWf" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"uWp" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall, -/area/station/maintenance/aft/greater) +"uWo" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "uWw" = ( /obj/structure/railing/corner{ dir = 1 @@ -70333,22 +72417,43 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"uWy" = ( +/obj/structure/table/wood, +/obj/machinery/reagentgrinder{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "uWE" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"uWS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/wood/large, +/area/station/service/bar) "uWW" = ( /obj/structure/closet/cardboard, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uXh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/ordnance/office) +"uXd" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "uXk" = ( /turf/open/misc/dirt/dark{ initial_gas_mix = "ICEMOON_ATMOS" @@ -70360,20 +72465,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"uXy" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/table, -/obj/item/paper_bin/construction, -/obj/item/stack/pipe_cleaner_coil/random, -/obj/item/stack/pipe_cleaner_coil/random, -/obj/item/stack/pipe_cleaner_coil/random, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/commons/storage/art) "uXC" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen/engi{ @@ -70401,15 +72492,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"uYm" = ( -/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/trimline/red/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "uYq" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=2"; @@ -70426,6 +72508,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"uYE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "uYF" = ( /obj/structure/railing{ dir = 6 @@ -70459,6 +72551,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uZu" = ( +/obj/structure/table/wood, +/obj/item/camera, +/obj/item/taperecorder, +/obj/item/radio/intercom/directional/east, +/obj/item/storage/photo_album/library, +/turf/open/floor/engine/cult, +/area/station/service/library) "uZB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/extinguisher_cabinet/directional/east, @@ -70466,6 +72566,12 @@ dir = 9 }, /area/station/science/research) +"uZC" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/three, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "uZD" = ( /obj/machinery/recharge_station, /obj/machinery/airalarm/directional/north, @@ -70521,22 +72627,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vao" = ( -/obj/structure/rack, -/obj/item/storage/box/evidence, -/obj/item/storage/box/evidence, -/obj/machinery/button/door{ - id = "Trial Transfer"; - name = "Trial Transfer Lockdown"; - pixel_x = -7; - pixel_y = -23; - req_access = list("brig") +"vap" = ( +/obj/structure/fence{ + dir = 8 }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/textured, -/area/station/security/brig) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"var" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/structure/sign/departments/holy/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "vav" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -70555,13 +72659,30 @@ dir = 1 }, /obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/south, /turf/open/floor/wood, /area/station/service/library) +"vaL" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/knife/kitchen{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vaM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) +"vaW" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vaZ" = ( /obj/item/book/manual/wiki/plumbing{ pixel_x = 4; @@ -70634,13 +72755,6 @@ /obj/structure/railing, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"vbI" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vbO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /obj/item/kirbyplants/random, @@ -70670,24 +72784,52 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"vcf" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) +"vch" = ( +/obj/machinery/door/morgue{ + name = "Relic Closet"; + req_access = list("chapel_office"); + dir = 4 + }, +/turf/open/floor/cult, +/area/station/service/chapel/office) "vcj" = ( /turf/closed/wall/r_wall, /area/mine/storage) -"vcH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 9 +"vcx" = ( +/obj/machinery/newscaster/directional/east, +/obj/structure/sink/directional/west, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/machinery/meter, -/obj/machinery/button/ignition/incinerator/ordmix{ - pixel_x = 8; - pixel_y = 32 +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/machinery/button/door/incinerator_vent_ordmix{ - pixel_x = -8; - pixel_y = 32 +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/work) +"vcD" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/white{ + dir = 5 }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) +/obj/effect/turf_decal/siding/white, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "vcO" = ( /obj/machinery/vending/wardrobe/chap_wardrobe, /turf/open/floor/iron/dark, @@ -70748,27 +72890,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"vdM" = ( -/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/heavy, -/obj/machinery/door/airlock/research{ - name = "Ordnance Launch Room" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) -"vdO" = ( -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "vdW" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/decal/cleanable/dirt, @@ -70777,12 +72898,15 @@ }, /turf/open/floor/iron/grimy, /area/station/security/prison/work) -"vek" = ( -/obj/effect/turf_decal/weather/snow/corner, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/maint/directional/north, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +"vei" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/engineering/atmos) "ven" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -70793,11 +72917,6 @@ "vep" = ( /turf/closed/wall, /area/station/maintenance/disposal/incinerator) -"veq" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ver" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy{ @@ -70805,14 +72924,16 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"ves" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/grimy, -/area/station/maintenance/aft/greater) "vey" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain) +"veH" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "veK" = ( /turf/open/floor/iron/white, /area/mine/living_quarters) @@ -70832,16 +72953,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"veX" = ( -/obj/machinery/camera{ - c_tag = "Research Division Server Room"; - dir = 5; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/station/science/server) "vfe" = ( /obj/machinery/atmospherics/components/unary/passive_vent, /obj/effect/turf_decal/stripes/line{ @@ -70850,10 +72961,15 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"vfg" = ( -/obj/structure/stairs/north, -/turf/open/floor/iron, -/area/station/cargo/storage) +"vfj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "vfm" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, @@ -70878,27 +72994,34 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"vfw" = ( -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/siding/white{ - dir = 4 +"vfH" = ( +/obj/structure/closet/crate{ + name = "Le Caisee D'abeille" }, -/obj/structure/sink/kitchen/directional/south, -/obj/structure/mirror/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Coldroom Access" +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/queen_bee/bought, +/obj/item/clothing/suit/hooded/bee_costume, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, -/obj/effect/turf_decal/tile/bar{ - dir = 4 +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 }, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) +/obj/machinery/light/warm/directional/north, +/obj/item/seeds/sunflower, +/obj/effect/spawner/random/food_or_drink/seed, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Botany Apiary" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "vfI" = ( /obj/machinery/door/window/right/directional/south{ name = "Ordnance Freezer Chamber Access"; @@ -70920,18 +73043,24 @@ "vfW" = ( /turf/open/floor/iron, /area/station/commons/fitness) +"vfZ" = ( +/obj/structure/ladder{ + name = "chemistry lab access" + }, +/obj/machinery/door/window/right/directional/east{ + req_access = list("medical"); + name = "Morgue Access Hatch" + }, +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "vgf" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/science/xenobiology) -"vgj" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) "vgu" = ( /obj/structure/table, /obj/item/toy/plush/beeplushie{ @@ -70957,6 +73086,10 @@ /obj/item/stack/cable_coil, /turf/open/floor/iron/smooth, /area/mine/eva) +"vgK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "vgM" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -70975,31 +73108,22 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"vgU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) -"vhm" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"vhA" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 8 +"vgW" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/floor/iron/white, +/area/station/medical/virology) "vhB" = ( /obj/structure/chair/plastic, /obj/effect/turf_decal/bot_red, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"vhF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vhL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71026,13 +73150,16 @@ dir = 6 }, /area/station/science/research) -"viE" = ( -/obj/structure/cable, -/obj/structure/sign/warning/gas_mask/directional/south, -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"vij" = ( +/obj/machinery/computer/prisoner/management, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "viH" = ( /obj/machinery/power/emitter/welded{ dir = 4 @@ -71046,10 +73173,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"viR" = ( -/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "viV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/window/reinforced/spawner/directional/south, @@ -71062,24 +73185,40 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/construction) +"vjg" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vjh" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp) -"vjj" = ( -/turf/open/floor/iron/stairs/right{ - dir = 4 - }, -/area/station/science/research) "vjk" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"vjx" = ( -/obj/machinery/telecomms/server/presets/engineering, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) +"vjq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"vjA" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Kitchen" + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/machinery/processor{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vjJ" = ( /obj/structure/table, /obj/machinery/light/directional/north, @@ -71087,10 +73226,32 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) -"vjM" = ( -/obj/machinery/light/floor, +"vjN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Cryogenics"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) +"vjQ" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/engineering/lobby) "vjS" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, @@ -71106,6 +73267,11 @@ }, /turf/open/floor/iron/white/textured, /area/station/command/heads_quarters/ce) +"vkC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/iron/smooth, +/area/station/maintenance/fore/lesser) "vkD" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -71142,49 +73308,31 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/construction) -"vkO" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/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/lesser) "vkW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"vlb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 4 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 12 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"vle" = ( -/obj/item/radio/intercom/chapel/directional/east, -/obj/structure/chair, -/obj/machinery/light/small/red/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "vlf" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vlz" = ( -/turf/open/openspace, -/area/station/service/kitchen/coldroom) +"vlF" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/stairs/north, +/turf/open/floor/iron, +/area/mine/eva/lower) +"vlH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/visit) "vlL" = ( /obj/machinery/computer/cargo/request, /turf/open/floor/iron, @@ -71209,17 +73357,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"vlU" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 9; - pixel_x = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "vlZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -71228,11 +73365,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/mine/storage) -"vme" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "vmj" = ( /obj/structure/chair{ dir = 1; @@ -71254,10 +73386,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"vmp" = ( -/obj/machinery/shower/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "vmr" = ( /obj/structure/musician/piano, /turf/open/floor/wood, @@ -71276,6 +73404,23 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"vmw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Law Office" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/service/lawyer, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "vmx" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71304,6 +73449,23 @@ /obj/structure/cable, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) +"vmK" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/explab) +"vmO" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "vmP" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, @@ -71327,6 +73489,21 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"vmW" = ( +/obj/structure/table/wood, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"vne" = ( +/obj/item/clothing/head/beanie/orange{ + pixel_y = 8 + }, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/wheelys/skishoes{ + pixel_y = -8 + }, +/obj/effect/decal/remains/human, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "vng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71340,22 +73517,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"vns" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera{ - c_tag = "Departure Lounge West"; - dir = 10 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "vnt" = ( /obj/machinery/computer/station_alert{ dir = 8 @@ -71368,20 +73529,37 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) -"vnK" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"vnw" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Fitness Room South" }, -/obj/structure/table/glass, -/obj/machinery/light/small/directional/west, -/obj/item/stack/package_wrap{ - pixel_y = 3 +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 }, -/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -7 + }, +/obj/item/kirbyplants/random, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/commons/fitness) +"vnA" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured_half, +/area/station/service/kitchen) "vnN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -71392,12 +73570,14 @@ }, /turf/open/floor/iron/textured, /area/station/medical/chem_storage) -"vnS" = ( -/obj/structure/fence/cut/large{ - dir = 8 +"vnW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "vnY" = ( /obj/structure/closet/crate/critter, /turf/open/floor/plating, @@ -71429,14 +73609,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"voA" = ( -/obj/machinery/button/flasher{ - id = "cell4"; - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/station/security/brig/upper) "voH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71480,39 +73652,24 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) -"vpl" = ( -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - pixel_x = -9 - }, -/obj/structure/sign/warning/gas_mask/directional/west, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "vpn" = ( /obj/vehicle/sealed/mecha/ripley/paddy/preset, /obj/structure/cable, /turf/open/floor/iron/recharge_floor, /area/station/security/mechbay) +"vpx" = ( +/obj/structure/sign/departments/evac/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "vpJ" = ( -/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/engineering{ - name = "Utilities Room" +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "vpR" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -71581,7 +73738,6 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "vra" = ( -/obj/machinery/firealarm/directional/west, /obj/machinery/modular_computer/preset/cargochat/cargo{ dir = 4 }, @@ -71595,21 +73751,14 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/courtroom) -"vrr" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "vrw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters3"; - name = "Pharmacy Shutters" +/obj/machinery/button/door/directional/west{ + id = "xenobio3"; + name = "Xenobio Pen 3 Blast Door"; + req_access = list("xenobiology") }, -/turf/open/floor/plating, -/area/station/service/kitchen) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "vrC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71618,6 +73767,15 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"vrD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "vrG" = ( /turf/open/floor/iron, /area/station/security/prison/mess) @@ -71651,6 +73809,11 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"vsx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vsz" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -71658,6 +73821,10 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"vsF" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "vsI" = ( /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, @@ -71696,28 +73863,40 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"vtg" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "hopqueue"; + name = "HoP Queue Shutters" + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vtj" = ( /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"vto" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Bar" - }, -/turf/open/floor/iron, -/area/station/service/bar) "vtr" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/maintenance/aft/greater) +"vtu" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, +/obj/machinery/door/airlock/external{ + name = "Graveyard Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "vtv" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -71731,6 +73910,9 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/mining_weather_monitor/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "vtA" = ( @@ -71739,34 +73921,33 @@ dir = 10 }, /area/station/science/research) -"vtW" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/space_heater, +"vtO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, -/area/station/medical/morgue) -"vtZ" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ - pixel_x = 7; - pixel_y = 20 - }, +/area/station/maintenance/aft/greater) +"vtR" = ( +/obj/item/storage/briefcase, +/obj/structure/rack, +/obj/item/camera/detective, /obj/item/taperecorder{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 6 + pixel_x = -5 }, -/obj/structure/secure_safe/hos{ - pixel_x = 35 +/obj/structure/cable, +/obj/structure/detectiveboard/directional/west, +/turf/open/floor/carpet, +/area/station/security/detectives_office) +"vuf" = ( +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/stripes/red/line{ + dir = 6 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/hos) +/turf/open/floor/iron/textured, +/area/station/engineering/atmos) "vuh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71820,18 +74001,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"vvf" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/food_packaging, -/obj/structure/sign/poster/official/random/directional/west, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "vvh" = ( /turf/open/floor/iron, /area/station/hallway/primary/fore) @@ -71843,17 +74012,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"vvn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Service - Atrium Entrance" - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "vvu" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -71908,6 +74066,48 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/science/robotics/mechbay) +"vvT" = ( +/obj/structure/table, +/obj/machinery/button/ticket_machine{ + pixel_x = -6; + pixel_y = -1; + req_access = list("hop") + }, +/obj/machinery/button/photobooth{ + pixel_y = -1; + pixel_x = 6; + req_access = list("hop") + }, +/obj/machinery/button/door/directional/south{ + id = "hop"; + name = "Privacy Shutters"; + pixel_x = -6; + req_access = list("hop") + }, +/obj/machinery/button/door/directional/south{ + id = "hopqueue"; + name = "Queue Shutters"; + pixel_x = 6; + req_access = list("hop") + }, +/obj/machinery/button/flasher{ + pixel_y = 9; + id = "hopflash"; + req_access = list("hop") + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) +"vvU" = ( +/obj/item/beacon, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/mine/eva) "vvX" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -71917,6 +74117,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vwi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/large, +/area/station/commons/vacant_room/office) "vwj" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port Mix to West Ports" @@ -71934,11 +74143,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) -"vwr" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"vws" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "vwt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -71946,16 +74157,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"vww" = ( -/obj/structure/sign/warning/directional/west, -/turf/open/openspace/icemoon, -/area/icemoon/surface/outdoors/nospawn) "vwC" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"vwD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vwE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71971,7 +74188,7 @@ /area/station/security/prison/rec) "vwG" = ( /obj/machinery/vending/security{ - onstation_override = 1 + all_products_free = 0 }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -72040,6 +74257,11 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"vxx" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth, +/area/mine/eva/lower) "vxO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood, @@ -72056,14 +74278,17 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/large, /area/station/engineering/atmos) -"vxY" = ( -/obj/effect/turf_decal/siding/wood{ +"vxW" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/office{ dir = 8 }, -/obj/structure/cable, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness) "vyb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -72090,6 +74315,29 @@ "vym" = ( /turf/closed/wall, /area/station/construction) +"vyp" = ( +/obj/structure/bonfire, +/obj/item/melee/roastingstick, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"vyq" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Virology Hallway"; + network = list("ss13","medbay") + }, +/obj/machinery/door_buttons/access_button{ + pixel_x = 35; + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology") + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "vyt" = ( /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) @@ -72104,10 +74352,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/engine, /area/station/science/explab) -"vyy" = ( -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +"vyz" = ( +/obj/structure/sign/warning/test_chamber/directional/north, +/turf/open/floor/glass/reinforced, +/area/station/science/ordnance/office) "vyI" = ( /obj/structure/railing{ dir = 1 @@ -72116,12 +74364,6 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"vyN" = ( -/obj/structure/closet/crate/miningcar, -/obj/effect/spawner/random/exotic/snow_gear, -/obj/effect/spawner/random/exotic/snow_gear, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vyO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72133,6 +74375,16 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"vyW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medbay Stasis Center North" + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "vzb" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/costume, @@ -72156,10 +74408,16 @@ dir = 1 }, /area/station/science/research) +"vzp" = ( +/obj/machinery/light/warm/directional/north, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/rec) "vzs" = ( /obj/structure/filingcabinet, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white, /area/station/medical/psychology) "vzw" = ( @@ -72170,21 +74428,29 @@ "vzD" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) -"vzI" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_x = 32 +"vzG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 }, -/turf/closed/wall/r_wall, -/area/mine/production) -"vzN" = ( -/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/medical/cryo) +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/mine/eva/lower) +"vzH" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/light/directional/north, +/obj/machinery/button/door/directional/north{ + id = "kitchencounter"; + name = "Counter Shutters Control"; + req_access = list("kitchen") + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vzS" = ( /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /obj/structure/disposalpipe/sorting/mail{ @@ -72207,18 +74473,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) -"vAj" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/crate, -/obj/structure/sign/warning/cold_temp{ - pixel_x = -29 - }, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 2; - pixel_y = -32 - }, -/turf/open/floor/iron/smooth, -/area/mine/living_quarters) "vAm" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -72232,19 +74486,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"vAo" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm5"; - name = "Cabin 1" - }, -/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/dorms) "vAq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/morgue) +"vAr" = ( +/obj/machinery/light/floor, +/obj/structure/railing/corner/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "vAt" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law{ @@ -72269,17 +74521,18 @@ /obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"vAO" = ( -/obj/structure/bodycontainer/morgue/beeper_off{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "vAP" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/science/genetics) +"vAS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/status_display/ai/directional/west, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "vAU" = ( /obj/machinery/light/small/directional/east, /obj/machinery/camera/directional/east{ @@ -72299,15 +74552,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) -"vAW" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "vAY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -72320,24 +74564,6 @@ dir = 1 }, /area/station/hallway/primary/port) -"vBa" = ( -/obj/structure/table, -/obj/item/storage/crayons, -/obj/item/trash/candle{ - pixel_y = 12 - }, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) -"vBg" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = 3; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva/lower) "vBh" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -72355,18 +74581,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"vBt" = ( -/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, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "vBu" = ( /obj/machinery/space_heater, /obj/machinery/camera/directional/south{ @@ -72393,23 +74607,17 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"vBD" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/light/directional/south, -/obj/machinery/camera{ - c_tag = "Medbay Lobby"; - dir = 5; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "vBG" = ( /turf/closed/wall, /area/station/command/heads_quarters/cmo) +"vCm" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vCn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72478,6 +74686,7 @@ pixel_y = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) "vDx" = ( @@ -72495,16 +74704,10 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"vDQ" = ( -/obj/effect/spawner/random/decoration/flower, -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"vEh" = ( -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"vEc" = ( +/obj/machinery/door/poddoor/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "vEw" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics Access" @@ -72521,17 +74724,18 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"vEC" = ( -/obj/structure/disposalpipe/segment{ +"vEG" = ( +/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, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) +/obj/machinery/door/airlock/external/glass{ + name = "Supply Door Airlock"; + pixel_y = 0; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "vEJ" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -72545,19 +74749,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_half, /area/station/maintenance/department/medical/central) -"vEQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/sign/warning/chem_diamond/directional/west, -/obj/structure/bed/medical/emergency, -/obj/machinery/iv_drip, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"vES" = ( -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "vEU" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -72573,15 +74764,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"vFb" = ( -/obj/structure/table/wood, -/obj/item/cigarette/cigar{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/storage/box/matches, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "vFg" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -72612,6 +74794,16 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/security/brig) +"vFT" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vFW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -72626,11 +74818,11 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/virology, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"vGi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, +"vGw" = ( +/obj/structure/transit_tube/station/reverse, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, -/area/station/maintenance/port/aft) +/area/station/ai_monitored/turret_protected/aisat_interior) "vGy" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Pens Observation - Starboard Aft"; @@ -72667,14 +74859,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/tcommsat/computer) -"vHe" = ( -/obj/structure/disposalpipe/segment, -/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/botanical_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vHf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -72689,6 +74873,15 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vHo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "vHq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72709,34 +74902,25 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"vHJ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vHK" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/sorting) -"vHM" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/spawner/random/armory/rubbershot, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory) "vHR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"vHT" = ( -/obj/structure/fence/post{ - dir = 8 - }, -/obj/structure/sign/nanotrasen, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "vHU" = ( /obj/item/radio/intercom/prison/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -72772,6 +74956,24 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"vIm" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/iron, +/area/station/service/chapel) +"vIu" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/medical/chemistry) "vIH" = ( /obj/structure/closet{ name = "evidence closet 1" @@ -72779,13 +74981,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) -"vIL" = ( -/obj/structure/cable, -/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/fore) "vIZ" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72798,6 +74993,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) +"vJl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/mob/living/carbon/human/species/monkey, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/grass, +/area/station/medical/virology) +"vJv" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vJB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -72815,6 +75027,13 @@ }, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"vJJ" = ( +/obj/structure/closet/secure_closet/bar, +/obj/machinery/light/small/directional/north, +/obj/item/vending_refill/cigarette, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "vJS" = ( /obj/structure/chair/sofa/corp/right{ dir = 4; @@ -72825,9 +75044,6 @@ /turf/open/floor/iron/dark, /area/station/science/breakroom) "vJY" = ( -/obj/structure/railing/corner{ - dir = 8 - }, /obj/machinery/door/window/brigdoor/left/directional/west{ name = "Research Director Observation"; req_access = list("rd") @@ -72849,13 +75065,56 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/locker) -"vKT" = ( +"vKy" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/suit/utility/radiation, +/obj/item/clothing/head/utility/radiation, +/obj/item/geiger_counter, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/clothing/glasses/meson, +/obj/machinery/button/door/directional/north{ + id = "engsm"; + name = "Radiation Shutters Control"; + req_access = list("engineering") + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"vKD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/station/hallway/secondary/entry) +"vKR" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"vKZ" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "vLj" = ( /obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/stripes/line{ @@ -72864,48 +75123,19 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/smooth_half, /area/station/command/heads_quarters/rd) -"vLo" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"vLY" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/closet/l3closet/virology, +/obj/effect/turf_decal/tile/green/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/virology) "vMa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"vMc" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Gateway" - }, -/obj/structure/table, -/obj/structure/sign/warning/biohazard/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/item/emergency_bed{ - pixel_x = -1 - }, -/obj/item/emergency_bed{ - pixel_x = 4 - }, -/obj/item/storage/medkit/regular{ - pixel_y = 1 - }, -/turf/open/floor/iron, -/area/station/command/gateway) -"vMf" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "vMl" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -72924,14 +75154,6 @@ /obj/structure/cable/layer3, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"vMN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/flashlight/lamp{ - start_on = 0 - }, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) "vMY" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -72970,29 +75192,11 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos/mix) -"vNK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/port/fore) -"vNM" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"vOd" = ( -/obj/item/wrench, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 1; - name = "Air In" - }, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"vNU" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "vOw" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ @@ -73000,6 +75204,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"vOy" = ( +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vOD" = ( /obj/machinery/status_display/ai/directional/north, /obj/effect/turf_decal/tile/dark_green{ @@ -73017,6 +75226,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vPc" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Security Post - Engineering" + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "vPh" = ( /obj/machinery/light/directional/north, /obj/machinery/digital_clock/directional/north, @@ -73085,12 +75303,19 @@ /turf/open/floor/iron, /area/mine/production) "vQz" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + pixel_y = -24; + req_access = list("minisat") }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/motion/directional/south{ + c_tag = "MiniSat Foyer"; + network = list("minisat") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "vQG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -73115,6 +75340,9 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/cargo/lobby) +"vRn" = ( +/turf/open/floor/iron/stairs/medium, +/area/station/cargo/storage) "vRo" = ( /obj/machinery/shower/directional/north, /obj/effect/turf_decal/trimline/blue/line{ @@ -73190,36 +75418,6 @@ "vSi" = ( /turf/closed/wall, /area/mine/eva) -"vSu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -4 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5; - pixel_y = 28 - }, -/turf/open/floor/wood/large, -/area/station/service/bar) -"vSw" = ( -/obj/structure/table, -/obj/machinery/firealarm/directional/north, -/obj/item/stack/sheet/iron/five, -/obj/item/stack/cable_coil/five, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) -"vSx" = ( -/obj/structure/sign/warning/chem_diamond/directional/south, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "vSE" = ( /obj/machinery/door/window/right/directional/east{ name = "Bar Access" @@ -73287,6 +75485,26 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"vTh" = ( +/obj/structure/fence/post{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"vTm" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "vTo" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1 @@ -73301,6 +75519,19 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"vTq" = ( +/obj/effect/spawner/random/contraband/prison, +/obj/structure/closet/crate, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/security/prison/work) "vTJ" = ( /obj/structure/table, /obj/item/toy/plush/slimeplushie{ @@ -73328,24 +75559,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"vUn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/cable/multilayer/multiz, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vUr" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -73358,12 +75571,13 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/sepia, /area/station/security/prison/rec) -"vUz" = ( -/obj/structure/table, -/obj/item/clothing/suit/apron/chef, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"vUI" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 5 + }, +/turf/open/floor/iron/grimy, +/area/station/hallway/secondary/entry) "vUW" = ( /obj/item/stack/cable_coil{ amount = 7; @@ -73383,18 +75597,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) +"vVl" = ( +/obj/structure/table/wood, +/obj/item/soap/nanotrasen, +/obj/item/clothing/head/costume/sombrero/green, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "vVw" = ( /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/freezer, /area/station/commons/toilet) -"vVA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "vVH" = ( /turf/closed/wall, /area/station/security/prison/safe) @@ -73451,14 +75667,18 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vWo" = ( -/obj/machinery/light_switch/directional/north, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/explab) "vWr" = ( /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"vWy" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/engineering/storage) "vWz" = ( /turf/closed/wall, /area/mine/storage) @@ -73504,21 +75724,12 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vXe" = ( -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "vXh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vXm" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vXn" = ( /obj/structure/table, /obj/item/food/pie/cream, @@ -73548,70 +75759,20 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) -"vXD" = ( -/obj/structure/stairs/south, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "vXH" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) -"vXM" = ( -/obj/structure/chair/sofa/right/brown{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"vXO" = ( -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/lava/plasma/ice_moon, -/area/icemoon/underground/explored) "vXU" = ( /obj/item/toy/snowball, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"vXV" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/requests_console/directional/west{ - department = "Head of Personnel's Desk"; - name = "Head of Personnel's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "vYa" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/primary) -"vYc" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/prison/visit) -"vYd" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "vYg" = ( /obj/machinery/camera/directional/west{ c_tag = "Chapel West" @@ -73633,10 +75794,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"vYp" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "vYq" = ( /obj/structure/barricade/wooden/snowed, /turf/open/misc/asteroid/snow/icemoon, @@ -73658,6 +75815,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"vYw" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/hallway/secondary/exit/departure_lounge) "vYz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/chair/stool/directional/south, @@ -73665,6 +75827,17 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"vYA" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Central Hallway South-West - HoP's Office" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vYH" = ( /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -73680,22 +75853,6 @@ }, /turf/open/floor/iron/large, /area/station/engineering/lobby) -"vYN" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"vYY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vZa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -73707,14 +75864,12 @@ /obj/effect/spawner/random/entertainment/dice, /turf/open/floor/iron, /area/station/commons/locker) -"vZp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/kitchen/directional/east{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "old sink" - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"vZo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "vZt" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -73736,61 +75891,30 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"vZH" = ( -/obj/item/storage/briefcase, -/obj/structure/rack, -/obj/item/camera/detective, -/obj/item/taperecorder{ - pixel_x = -5 - }, -/obj/structure/cable, -/obj/structure/detectiveboard/directional/west, -/turf/open/floor/carpet, -/area/station/security/detectives_office) -"vZS" = ( -/obj/structure/rack, -/turf/open/floor/iron/smooth, -/area/mine/living_quarters) -"vZW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Mix to Space" - }, -/turf/open/floor/plating/snowed/icemoon, -/area/station/maintenance/port/aft) +"vZM" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "wab" = ( /obj/structure/cable, /obj/machinery/holopad, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"wal" = ( -/obj/structure/sign/warning, -/turf/closed/wall, -/area/station/commons/storage/mining) "wam" = ( /turf/open/openspace, /area/station/cargo/storage) -"wav" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/caution/stand_clear{ - dir = 8 - }, -/obj/machinery/door/window/right/directional/west{ - name = "Corpse Arrivals" - }, -/obj/structure/window/spawner/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"waz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"waF" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/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/aft/greater) "waH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -73813,10 +75937,12 @@ /obj/item/reagent_containers/blood/random, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"waT" = ( -/obj/structure/sign/warning/docking/directional/south, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"waU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "waZ" = ( /obj/structure/table, /obj/item/assembly/igniter{ @@ -73871,15 +75997,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/eva/lower) -"wbN" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/aft) "wbR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria{ @@ -73899,34 +76016,17 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"wck" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 +"wcn" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" }, -/obj/machinery/bluespace_vendor/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"wco" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/icemoon/underground/explored/graveyard) "wcx" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/command/heads_quarters/ce) -"wcz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/prison/garden) "wcD" = ( /obj/structure/chair/plastic{ dir = 4 @@ -74000,16 +76100,47 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"weg" = ( -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." +"wdX" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/mine/laborcamp) +"wee" = ( +/obj/item/radio/intercom/chapel/directional/east, +/obj/structure/chair, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/wood/large, +/area/station/service/chapel) +"wes" = ( +/obj/effect/turf_decal/siding/wideplating_new/light, +/obj/item/trash/bee, +/obj/machinery/light/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/mine/mechbay) +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) "weF" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"weI" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) "weL" = ( /obj/structure/chair/stool/directional/north, /obj/effect/decal/cleanable/dirt, @@ -74021,6 +76152,10 @@ "weR" = ( /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) +"weT" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "weW" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -74061,10 +76196,15 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"wfu" = ( -/obj/structure/sign/poster/official/wtf_is_co2, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/greater) +"wfE" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wfF" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74079,12 +76219,27 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/command/meeting_room) +"wfP" = ( +/obj/structure/table/wood, +/obj/item/paper, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wfR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron/smooth_edge, /area/station/command/heads_quarters/rd) +"wgo" = ( +/obj/item/food/grown/potato{ + pixel_y = 4 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wgr" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -74097,11 +76252,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"wgu" = ( -/obj/machinery/newscaster/directional/west, -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "wgG" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ @@ -74113,16 +76263,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"wgH" = ( -/obj/structure/table, -/obj/item/folder/white, -/obj/item/pen, -/obj/item/stamp/head/rd{ - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "wgI" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74134,6 +76274,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) +"wgK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "wgL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -74147,22 +76293,7 @@ name = "Research Lab Shutters" }, /turf/open/floor/plating, -/area/station/science/breakroom) -"wgR" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/preopen{ - id = "Biohazard"; - name = "Biohazard Containment Door" - }, -/obj/effect/turf_decal/bot, -/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 = 4 - }, -/turf/open/floor/iron, -/area/station/science/research) +/area/station/science/lab) "wgU" = ( /obj/machinery/modular_computer/preset/cargochat/science{ dir = 1 @@ -74179,12 +76310,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"whc" = ( -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/xenobiology) "whd" = ( /obj/item/storage/medkit/regular{ pixel_x = 3; @@ -74196,16 +76321,22 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white/textured, /area/station/security/medical) +"whe" = ( +/obj/item/stack/rods/two, +/obj/item/stack/sheet/iron, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "whf" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) "whg" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "whh" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/filled/warning{ @@ -74222,20 +76353,16 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"whk" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "whr" = ( /obj/machinery/hydroponics/soil, /obj/item/cultivator, /turf/open/floor/grass, /area/station/security/prison/garden) -"whz" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/decal/cleanable/dirt, -/obj/item/seeds/redbeet, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) "whC" = ( /obj/structure/destructible/cult/item_dispenser/archives/library, /obj/item/book/codex_gigas, @@ -74263,6 +76390,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"whU" = ( +/obj/machinery/door/window/left/directional/north{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/turf/open/floor/plating, +/area/station/medical/treatment_center) "whW" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -74271,13 +76409,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"wij" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +"wib" = ( +/obj/structure/sign/departments/xenobio/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) +"wik" = ( +/obj/structure/table, +/obj/item/plant_analyzer, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) "wiv" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -74294,35 +76436,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"wiM" = ( -/obj/machinery/computer/station_alert, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/engine/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"wiO" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"wjv" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/machinery/keycard_auth/wall_mounted/directional/west, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) -"wjy" = ( +"wiX" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) +"wjj" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/radiation/directional/west, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +/area/station/maintenance/fore) "wjz" = ( /obj/machinery/airalarm/directional/north, /obj/structure/disposalpipe/segment{ @@ -74334,6 +76460,23 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"wjA" = ( +/obj/structure/sign/warning/directional/north, +/turf/closed/mineral/random/snow/high_chance, +/area/icemoon/underground/explored) +"wjD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/closet/secure_closet/medical3, +/obj/item/defibrillator/loaded{ + pixel_y = 3 + }, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/clothing/gloves/latex/nitrile, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "wjL" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -74342,17 +76485,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"wjR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"wjP" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/rack, +/obj/item/storage/backpack/satchel/leather/withwallet, +/obj/item/toy/figure/assistant, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/chair, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) "wjS" = ( /obj/effect/landmark/start/assistant, /obj/structure/chair/pew{ @@ -74367,6 +76509,15 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"wkd" = ( +/obj/structure/rack, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/spawner/random/armory/shotgun, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory) "wkl" = ( /obj/machinery/camera/directional/west{ c_tag = "Telecomms Server Room"; @@ -74387,20 +76538,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"wkC" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "wkH" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table, @@ -74409,6 +76546,25 @@ /obj/item/clothing/mask/breath/medical, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"wkN" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/cargo/lobby) "wkO" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -74419,12 +76575,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"wkV" = ( -/obj/structure/fence/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "wkW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -74441,18 +76591,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"wla" = ( -/obj/effect/decal/cleanable/garbage, -/obj/item/reagent_containers/spray/chemsprayer/party{ - pixel_x = 1 - }, -/obj/item/clothing/head/costume/festive{ - pixel_y = -3; - pixel_x = -5 - }, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wlr" = ( /obj/structure/table, /obj/item/stack/spacecash/c10, @@ -74481,10 +76619,6 @@ /obj/structure/filingcabinet, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"wlF" = ( -/mob/living/carbon/human/species/monkey, -/turf/open/floor/grass, -/area/station/medical/virology) "wlR" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/iron, @@ -74508,14 +76642,11 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"wmb" = ( -/obj/item/beacon, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/mine/eva) +"wme" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating/icemoon, +/area/icemoon/underground/explored) "wml" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue, @@ -74548,6 +76679,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"wmP" = ( +/obj/machinery/plate_press, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/security/prison/work) "wmR" = ( /obj/structure/cable, /obj/machinery/door/airlock/glass{ @@ -74561,14 +76700,6 @@ "wmT" = ( /turf/open/floor/iron/dark, /area/mine/eva) -"wmX" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "wna" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -74580,9 +76711,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"wnp" = ( -/turf/closed/wall/r_wall, -/area/station/science/cytology) "wnv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -74641,20 +76769,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/brig) -"wol" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/light/directional/east, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Research Division"; - name = "Research Division Fax Machine"; - pixel_x = 1 - }, -/turf/open/floor/iron/white/side{ - dir = 10 - }, -/area/station/science/research) +"woc" = ( +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/obj/effect/turf_decal/stripes/end, +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/no_smoking/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/engineering/atmos) "wor" = ( /turf/open/openspace, /area/station/medical/medbay/aft) @@ -74665,11 +76786,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"woC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/sign/poster/official/safety_eye_protection/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "woH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74697,31 +76813,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"woV" = ( -/obj/structure/table, -/obj/item/petri_dish{ - pixel_y = 15; - pixel_x = -5 - }, -/obj/item/petri_dish{ - pixel_y = 10; - pixel_x = 6 - }, -/obj/item/petri_dish{ - pixel_y = -6; - pixel_x = -1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"woX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wpc" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -74731,34 +76822,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"wph" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"wpi" = ( -/obj/structure/table, -/obj/item/holosign_creator/atmos{ - pixel_x = -5 - }, -/obj/item/holosign_creator/atmos{ - pixel_x = 4; - pixel_y = 4 +"wpn" = ( +/obj/machinery/light/small/dim/directional/east, +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) -"wpm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/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/starboard/fore) +/area/station/maintenance/starboard/aft) "wpp" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/pipedispenser/disposal, @@ -74778,12 +76851,6 @@ /obj/item/stock_parts/micro_laser/high, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"wpv" = ( -/obj/structure/sign/warning/cold_temp, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/science/xenobiology) "wpx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -74837,21 +76904,6 @@ dir = 9 }, /area/station/science/research) -"wqc" = ( -/obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/storage_shared) -"wqi" = ( -/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/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "wqj" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -74859,17 +76911,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/storage/mining) -"wqt" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +"wqo" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/corner{ dir = 1 }, -/obj/machinery/airalarm/directional/west, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/stone, +/area/station/service/bar/atrium) "wqx" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) @@ -74912,25 +76960,27 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"wrc" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -11 +"wrk" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + dir = 8 }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, -/area/station/engineering/storage) -"wrl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +/area/station/command/bridge) +"wrw" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal) +/obj/structure/sign/poster/official/safety_report/directional/east, +/obj/item/radio/intercom/prison/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/visit) "wrA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -74953,15 +77003,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wrN" = ( -/obj/structure/sign/departments/court/directional/north, -/turf/open/openspace, -/area/station/hallway/primary/fore) -"wrU" = ( -/obj/structure/rack, -/obj/item/screwdriver, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"wrP" = ( +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "wrV" = ( /obj/structure/cable, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -74974,12 +77023,23 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"wsk" = ( +/obj/effect/spawner/random/trash/mess, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wsp" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 1 }, /turf/open/floor/iron, /area/station/science/ordnance) +"wsr" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wsu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -75060,6 +77120,16 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wtM" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "wtP" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -75074,33 +77144,18 @@ dir = 5 }, /area/station/science/research) -"wtX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) -"wuc" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "wug" = ( /obj/machinery/gulag_item_reclaimer{ pixel_y = 24 }, /turf/open/floor/carpet, /area/station/security/processing) +"wuh" = ( +/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, +/area/station/science/ordnance) "wuo" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -75141,19 +77196,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"wuV" = ( -/obj/effect/turf_decal/siding/yellow/corner, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/table, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "wve" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, @@ -75162,9 +77204,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/chapel) -"wvu" = ( -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "wvv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75181,12 +77220,11 @@ /turf/open/floor/plating, /area/station/science/ordnance/testlab) "wvw" = ( -/obj/machinery/button/door/directional/north{ - id = "heads_meeting"; - name = "Security Shutters" +/obj/structure/fence/cut/medium{ + dir = 2 }, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wvz" = ( /obj/structure/table, /obj/item/assembly/timer{ @@ -75204,13 +77242,22 @@ /obj/item/assembly/timer, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"wvF" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 8 + }, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "wvI" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) "wvJ" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/photocopier, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) "wvK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75220,12 +77267,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"wvL" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "wvV" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/pumproom) @@ -75236,22 +77277,23 @@ /mob/living/basic/pet/cat/runtime, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"wwg" = ( -/obj/machinery/camera{ - c_tag = "Service - Botany"; - dir = 9 +"wwi" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 }, -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Arrivals Dock" }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/secondary/entry) "wwn" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/west{ @@ -75301,39 +77343,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) -"wwL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Law Office" +"wwO" = ( +/obj/machinery/recharger, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/turf/open/floor/iron, +/area/station/command/gateway) "wxg" = ( /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"wxp" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "Cargo_Store_In"; - name = "Cargo Warehouse Shutters" +"wxl" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "wxw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -75367,6 +77395,11 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"wxY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/construction) "wyj" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -75409,6 +77442,14 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) +"wyL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "wyO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -75420,6 +77461,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"wyX" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/stairs/south, +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/medical/virology) "wzc" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -75431,6 +77479,11 @@ /obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"wzi" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wzk" = ( /turf/open/floor/wood, /area/station/command/meeting_room) @@ -75452,6 +77505,36 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"wzv" = ( +/obj/machinery/atmospherics/components/tank/air{ + initialize_directions = 3; + dir = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"wzH" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"wzU" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/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, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/science/ordnance) "wAf" = ( /obj/machinery/requests_console/directional/north{ department = "Cargo Bay"; @@ -75463,25 +77546,6 @@ /obj/item/folder/yellow, /turf/open/floor/iron, /area/station/cargo/storage) -"wAk" = ( -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = 3 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) -"wAq" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Upper Brig South" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/upper) "wAv" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -75491,14 +77555,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"wAx" = ( -/obj/structure/sign/warning/secure_area/directional/north{ - desc = "A warning sign which reads 'SERVER ROOM'."; - name = "SERVER ROOM" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/science/server) "wAB" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -75506,6 +77562,13 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"wAJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/griddle, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "wAQ" = ( /obj/machinery/computer/shuttle/labor/one_way{ dir = 4 @@ -75540,12 +77603,21 @@ /turf/open/floor/plating, /area/station/maintenance/fore) "wBa" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 10 +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat/eva{ + pixel_x = 1; + pixel_y = 9 }, -/turf/open/floor/wood/large, -/area/station/hallway/primary/starboard) +/obj/item/clothing/shoes/winterboots/ice_boots/eva{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/delivery/red, +/obj/item/clothing/gloves/color/grey/protects_cold, +/obj/item/clothing/mask/gas, +/turf/open/floor/iron/textured, +/area/station/ai_monitored/command/storage/eva) "wBb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75583,15 +77655,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) -"wBr" = ( -/obj/effect/turf_decal/siding/wood{ +"wBs" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/kirbyplants/random, +/obj/structure/railing/corner{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/kirbyplants/organic/plant2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/service/chapel) "wBy" = ( /obj/machinery/netpod, /obj/item/radio/intercom/directional/south, @@ -75603,12 +77676,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"wBF" = ( -/obj/machinery/status_display/supply{ - pixel_y = 2 - }, -/turf/closed/wall, -/area/station/cargo/sorting) "wBT" = ( /obj/machinery/camera/directional/south{ c_tag = "Port Hallway Center" @@ -75618,6 +77685,9 @@ /area/station/hallway/primary/port) "wBV" = ( /obj/structure/closet/crate, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/cargo/miningdock) "wCo" = ( @@ -75626,6 +77696,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"wCI" = ( +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/openspace, +/area/station/medical/treatment_center) "wCK" = ( /obj/effect/turf_decal/trimline/dark_blue/corner{ dir = 8 @@ -75651,6 +77725,16 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"wCN" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos/storage) "wCV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75658,6 +77742,12 @@ dir = 8 }, /area/station/science/explab) +"wDb" = ( +/obj/machinery/requests_console/auto_name/directional/east, +/obj/machinery/duct, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wDc" = ( /obj/structure/cable, /obj/machinery/door/airlock/engineering{ @@ -75694,34 +77784,6 @@ "wDg" = ( /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"wDi" = ( -/obj/structure/table, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 2; - pixel_y = -1 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 2; - pixel_y = -1 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 2; - pixel_y = -1 - }, -/turf/open/floor/iron, -/area/station/commons/storage/mining) "wDk" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -75736,16 +77798,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"wDs" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/item/plant_analyzer, -/obj/effect/turf_decal/tile/green/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) "wDG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75766,6 +77818,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"wDS" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wDU" = ( /turf/closed/wall/r_wall, /area/mine/eva/lower) @@ -75776,26 +77836,32 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"wEb" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "wEh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/sorting) -"wEq" = ( -/obj/structure/chair/office{ - dir = 8 +"wEp" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/remains/human, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark/textured_edge, +/area/station/security/prison) +"wEu" = ( +/obj/structure/sign/warning/directional/south, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wEG" = ( /obj/structure/extinguisher_cabinet/directional/south{ pixel_x = 4 }, /obj/machinery/light_switch/directional/south{ - pixel_x = -6 + pixel_x = -8 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -75854,6 +77920,27 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wFt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"wFJ" = ( +/turf/open/floor/wood, +/area/station/commons/lounge) "wFN" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -75885,15 +77972,14 @@ name = "Test Chamber Blast Door" }, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine, +/turf/open/floor/plating, /area/station/science/explab) -"wGm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +"wGt" = ( +/obj/structure/table/glass, +/obj/item/storage/box/monkeycubes, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) "wGv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -75918,19 +78004,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wGN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "xenobio6"; - name = "Xenobio Pen 6 Blast Door" - }, -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/science/xenobiology) "wGO" = ( /obj/machinery/light/directional/south, /obj/machinery/atmospherics/pipe/multiz/violet/visible{ @@ -75944,10 +78017,6 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) -"wGQ" = ( -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/stone, -/area/station/commons/lounge) "wGW" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law, @@ -75965,6 +78034,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"wGZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/insectguts, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "wHb" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 @@ -75998,12 +78075,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"wHr" = ( -/obj/structure/fence/post{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "wHH" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -76011,17 +78082,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"wHK" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "wIg" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -76034,28 +78094,19 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/central) -"wIx" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/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/hydroponics) "wIz" = ( /obj/machinery/light/small/directional/west, /obj/structure/table/wood, /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) +"wIC" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/flashlight/lantern, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "wIR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -76085,10 +78136,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"wJD" = ( -/obj/structure/sign/departments/maint/alt, -/turf/closed/wall, -/area/station/maintenance/aft/lesser) +"wJy" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wJG" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -76121,10 +78175,33 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) -"wKh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) +"wKi" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "rnd2"; + name = "Research Lab Shutters" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/lab) +"wKu" = ( +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/port/greater) "wKv" = ( /obj/structure/table, /obj/item/radio/off, @@ -76151,11 +78228,40 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"wKY" = ( -/obj/machinery/vending/games, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood, -/area/station/service/library) +"wLc" = ( +/obj/structure/table, +/obj/machinery/button/flasher{ + pixel_x = -6; + pixel_y = -1; + id = "brigentry" + }, +/obj/machinery/button/door{ + pixel_y = 9; + pixel_x = 6; + req_access = list("secuirty"); + id = "innerbrig"; + name = "Brig Interior Doors Control"; + normaldoorcontrol = 1 + }, +/obj/machinery/button/door{ + pixel_y = -1; + pixel_x = 6; + req_access = list("secuirty"); + id = "outerbrig"; + name = "Brig Exterior Doors Control"; + normaldoorcontrol = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "briggate"; + name = "Front Gate Shutters"; + req_access = list("brig"); + pixel_y = 9; + pixel_x = -6 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "wLk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -76171,10 +78277,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/command/bridge) -"wLK" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "wLO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76194,14 +78296,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"wLU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "wLW" = ( /obj/effect/landmark/atmospheric_sanity/mark_all_station_areas_as_goal, /turf/open/misc/asteroid/snow/icemoon, @@ -76285,19 +78379,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/storage/mining) -"wME" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = 6; - pixel_y = 28 - }, -/obj/machinery/button/door/directional/north{ - id = "botany_chasm_and_wolf_shutters"; - name = "Exterior Shutters"; - pixel_y = 28; - pixel_x = -4 - }, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "wMT" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron, @@ -76315,6 +78396,29 @@ dir = 1 }, /area/station/security/office) +"wMY" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) +"wNj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wNp" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -76363,6 +78467,23 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/storage) +"wOq" = ( +/obj/structure/fence/door/opened, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"wOt" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wOy" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -76373,12 +78494,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wOC" = ( -/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/lesser) "wOF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, @@ -76415,26 +78530,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"wPe" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) "wPf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -76465,6 +78560,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"wPx" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wPD" = ( /obj/machinery/door/airlock/security/glass{ name = "Evidence Storage" @@ -76480,6 +78587,19 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/openspace, /area/station/engineering/atmos/storage) +"wPG" = ( +/obj/structure/fence{ + dir = 1 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"wPJ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/stairs/north, +/turf/open/floor/iron/stairs/medium, +/area/station/commons/dorms/laundry) "wPN" = ( /obj/structure/railing{ dir = 4 @@ -76489,16 +78609,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"wPR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/structure/sign/warning/cold_temp/directional/south, -/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/hydroponics) "wPX" = ( /obj/structure/table, /obj/item/storage/belt/medical{ @@ -76514,6 +78624,7 @@ /obj/item/reagent_containers/spray/cleaner, /obj/item/blood_filter, /obj/item/radio/intercom/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/white, /area/station/medical/storage) "wQh" = ( @@ -76545,13 +78656,9 @@ /turf/open/floor/plating/icemoon, /area/station/security/execution/education) "wQx" = ( -/obj/structure/disposalpipe/segment, -/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/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "wQC" = ( /obj/item/flashlight/lantern, /obj/structure/table/wood, @@ -76565,12 +78672,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"wQN" = ( -/obj/structure/fence/cut/large{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "wQR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -76589,15 +78690,16 @@ "wRa" = ( /turf/open/openspace, /area/station/security/prison) -"wRc" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "wRd" = ( /turf/open/floor/iron, /area/station/engineering/main) +"wRk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "wRr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76611,6 +78713,14 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/glass/reinforced, /area/station/security/lockers) +"wRu" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "wRx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -76651,14 +78761,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/mine/eva/lower) -"wRO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance_hatch, -/obj/machinery/door/firedoor/heavy, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "wRR" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -76669,10 +78771,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/medical/chemistry) -"wSc" = ( -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating, -/area/station/maintenance/fore) "wSd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76702,6 +78800,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"wSp" = ( +/obj/structure/fence/corner{ + dir = 10 + }, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wSs" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -76719,38 +78824,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/work) -"wSL" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/tile/green/opposingcorners{ +"wSC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, -/area/station/service/hydroponics) -"wSM" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad2" - }, -/obj/machinery/door/poddoor{ - id = "QMLoaddoor2"; - name = "Supply Dock Loading Door" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) +/area/station/security/prison/garden) "wSU" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wSX" = ( -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) "wSZ" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Permabrig Upper Hallway East"; @@ -76761,11 +78847,6 @@ "wTg" = ( /turf/closed/wall, /area/station/engineering/main) -"wTl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood, -/area/station/commons/lounge) "wTw" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 10 @@ -76786,6 +78867,14 @@ /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"wTB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/obj/structure/closet/radiation, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) "wTC" = ( /obj/structure/closet/secure_closet/security/engine, /obj/machinery/requests_console/directional/north{ @@ -76799,6 +78888,25 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"wTL" = ( +/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 = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "wTX" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -76806,11 +78914,16 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wUb" = ( -/obj/structure/rack, -/obj/item/poster/random_contraband, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"wUf" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/hallway/secondary/entry) "wUi" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Stbd"; @@ -76824,6 +78937,13 @@ "wUj" = ( /turf/closed/wall, /area/station/service/lawoffice) +"wUm" = ( +/obj/machinery/vatgrower{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wUt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76855,11 +78975,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"wUD" = ( -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"wUB" = ( +/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, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "wUJ" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -76918,6 +79044,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/central/greater) +"wVd" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/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/hydroponics) "wVe" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -76927,15 +79069,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/library) -"wVq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/spawner/random/trash/caution_sign, -/obj/effect/decal/cleanable/glass, -/obj/structure/sign/warning/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +"wVr" = ( +/obj/structure/mineral_door/wood{ + name = "Maintenance Bar"; + dir = 4 + }, +/turf/open/floor/wood, +/area/station/maintenance/port/aft) "wVu" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -76969,23 +79109,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"wVI" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/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/eighties, -/area/station/commons/lounge) -"wVR" = ( -/obj/structure/disposalpipe/junction, -/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/central) "wWa" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -76999,13 +79122,19 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wWB" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, +"wWo" = ( +/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/starboard/fore) +"wWw" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "wWM" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -77035,6 +79164,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"wXb" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/openspace, +/area/station/service/bar/atrium) "wXh" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ dir = 8 @@ -77042,10 +79175,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/cryo) -"wXn" = ( -/obj/structure/flora/grass/both/style_3, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "wXR" = ( /obj/structure/table, /obj/item/storage/medkit/regular{ @@ -77083,10 +79212,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"wYp" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) "wYq" = ( /obj/machinery/door/airlock{ name = "Perma Overlook Closet" @@ -77117,6 +79242,16 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"wYH" = ( +/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/decal/cleanable/blood/splatter, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "wYJ" = ( /turf/closed/wall, /area/station/engineering/storage_shared) @@ -77126,6 +79261,12 @@ }, /turf/open/floor/plating, /area/station/security/courtroom) +"wYS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "wYZ" = ( /obj/structure/disposalpipe/junction/flip{ dir = 1 @@ -77137,32 +79278,6 @@ "wZj" = ( /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"wZp" = ( -/obj/item/storage/toolbox/electrical{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/machinery/button/door/directional/east{ - id = "eva_shutters"; - pixel_x = 26; - pixel_y = 6; - req_access = list("command") - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -6 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/storage/toolbox/emergency, -/obj/structure/rack, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "wZr" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -77173,19 +79288,18 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"wZv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"wZu" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/machinery/camera{ - c_tag = "Xenobiology Pens Hall - Fore"; - dir = 9; - network = list("ss13","rd","xeno") +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 1 }, -/obj/structure/sign/xenobio_guide/directional/north, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/obj/item/radio/intercom/directional/west, +/obj/structure/disposalpipe/segment, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron, +/area/station/medical/medbay/aft) "wZD" = ( /obj/machinery/computer/records/security{ dir = 1 @@ -77199,11 +79313,37 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"wZW" = ( +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/rack, +/obj/item/clothing/accessory/armband/hydro{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/clothing/accessory/armband/hydro, +/obj/item/toy/figure/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xad" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/range) +"xaf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "xal" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -77246,6 +79386,22 @@ /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"xax" = ( +/obj/machinery/photocopier, +/obj/machinery/button/door/directional/north{ + id = "heads_meeting"; + name = "Security Shutters" + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"xay" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "xaA" = ( /obj/structure/closet/secure_closet/hop, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -77303,6 +79459,11 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"xbq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "xbr" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, @@ -77327,9 +79488,21 @@ /turf/open/floor/iron/freezer, /area/mine/eva/lower) "xbB" = ( -/obj/machinery/gibber, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/machinery/shower/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/stripes/white/end, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Pharmacy"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "xbC" = ( /obj/effect/turf_decal/trimline/dark_green/arrow_ccw, /obj/machinery/meter, @@ -77349,6 +79522,12 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"xcf" = ( +/obj/structure/closet/crate/grave/filled, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "xcp" = ( /obj/item/trash/pistachios, /turf/open/floor/plating, @@ -77379,16 +79558,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xcO" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/sink/kitchen/directional/west, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/service/bar) "xcW" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ dir = 1 @@ -77412,16 +79581,26 @@ /obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"xdk" = ( -/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_large, -/area/station/science/cytology) +"xdh" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/stairs/north, +/turf/open/floor/iron/stairs/medium, +/area/station/commons/dorms/laundry) "xdl" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) +"xds" = ( +/obj/structure/cable, +/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/fore) "xdH" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/chair{ @@ -77432,10 +79611,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"xdM" = ( -/obj/structure/sign/warning/cold_temp, -/turf/closed/wall, -/area/station/hallway/secondary/exit/departure_lounge) "xdU" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -77449,21 +79624,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) -"xdY" = ( -/obj/structure/sign/warning/directional/west, -/turf/open/genturf/blue, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "xdZ" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 6 }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"xea" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xeg" = ( /obj/effect/turf_decal/weather/snow/corner, /turf/open/misc/asteroid/snow/icemoon, @@ -77482,10 +79648,41 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"xer" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "rnd2"; + name = "Research Lab Shutters" + }, +/obj/effect/turf_decal/siding/purple/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/lab) "xex" = ( /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/command/teleporter) +"xeF" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/ordnance) "xeH" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, @@ -77551,10 +79748,40 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"xfp" = ( +/obj/structure/table, +/obj/item/multitool/circuit{ + pixel_x = -8 + }, +/obj/item/multitool/circuit{ + pixel_x = -4 + }, +/obj/item/multitool/circuit, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/explab) "xft" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"xfv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "xfB" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron, @@ -77627,25 +79854,35 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"xgr" = ( -/obj/effect/decal/cleanable/dirt, +"xgy" = ( +/turf/open/openspace, +/area/station/service/hydroponics) +"xgF" = ( /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = -8; - pixel_y = -24 +/obj/structure/railing{ + dir = 6 }, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_x = -8; - pixel_y = -36 +/obj/structure/table, +/obj/item/assembly/signaler{ + pixel_x = 6; + pixel_y = 5 }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"xgy" = ( -/turf/open/openspace, -/area/station/service/hydroponics) +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/cable_coil, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "xgI" = ( /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'BOMB RANGE"; @@ -77706,14 +79943,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/blue, /area/station/hallway/secondary/entry) -"xhg" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Garden" - }, -/obj/machinery/status_display/ai/directional/east, -/obj/structure/water_source/puddle, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "xhk" = ( /turf/open/floor/iron/dark, /area/station/commons/storage/primary) @@ -77753,6 +79982,16 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"xhA" = ( +/obj/structure/fence/door/opened, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xhD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77765,6 +80004,10 @@ "xhK" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"xhV" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "xie" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering MiniSat Access" @@ -77776,14 +80019,23 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"xij" = ( -/obj/structure/railing{ - dir = 1 +"xiq" = ( +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 }, -/obj/machinery/smartfridge/petri/preloaded, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/security/processing) +"xir" = ( +/obj/item/radio/intercom/prison/directional/north, +/obj/effect/turf_decal/tile/red/full, +/obj/machinery/light_switch/directional/north{ + pixel_x = 16 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/brig/entrance) "xit" = ( /obj/item/book/manual/wiki/security_space_law, /obj/structure/table/wood, @@ -77805,6 +80057,14 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"xiL" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "xiO" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -77830,10 +80090,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/large, /area/station/medical/medbay/lobby) -"xjg" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall, -/area/station/medical/medbay/lobby) "xjm" = ( /obj/machinery/light_switch/directional/north, /obj/machinery/camera/directional/north{ @@ -77842,12 +80098,6 @@ /obj/vehicle/ridden/janicart, /turf/open/floor/iron, /area/station/service/janitor) -"xjs" = ( -/obj/structure/railing/corner/end{ - dir = 8 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "xjC" = ( /turf/open/floor/plating, /area/station/maintenance/department/cargo) @@ -77877,14 +80127,14 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"xjU" = ( -/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/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white, -/area/station/science/research) +"xjT" = ( +/obj/structure/table, +/obj/item/storage/medkit/regular, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "xjZ" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/iron/dark, @@ -77895,32 +80145,34 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"xkp" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm4"; - name = "Dorm 4" +"xkr" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"xkI" = ( +/obj/machinery/door/airlock/command{ + name = "Conference Room" }, -/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/dorms) -"xkH" = ( /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/corner{ - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/plastic, -/area/station/commons/dorms/laundry) -"xkT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/wood, +/area/station/command/meeting_room) +"xkW" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "xkZ" = ( /obj/machinery/teleport/station, /obj/machinery/light/small/directional/east, @@ -77931,17 +80183,19 @@ name = "Medbay Delivery"; req_access = list("medical") }, -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/large, /area/station/medical/storage) -"xlp" = ( -/obj/structure/sign/nanotrasen, -/obj/structure/fence/post{ +"xlm" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron, +/area/station/service/hydroponics) "xlq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -77996,17 +80250,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"xlQ" = ( -/obj/machinery/computer/order_console/mining, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Mining Bunks"; - dir = 6 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/mine/production) "xmf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -78018,6 +80261,16 @@ dir = 9 }, /area/station/science/research) +"xmk" = ( +/obj/structure/plasticflaps{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "xmo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78029,6 +80282,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"xmD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "xmK" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -78039,17 +80302,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/storage) -"xmL" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 +"xmM" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 +/turf/open/floor/iron/stairs/medium{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/science/ordnance) "xmN" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom/directional/south, @@ -78083,40 +80343,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xnc" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 6 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"xnf" = ( -/obj/item/kirbyplants/fern, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "xni" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"xnt" = ( -/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, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) -"xnC" = ( -/obj/structure/sign/warning/fire/directional/east, -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "xnE" = ( /obj/machinery/duct, /obj/effect/turf_decal/tile/yellow{ @@ -78124,6 +80356,16 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) +"xnK" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "xnM" = ( /obj/structure/cable, /turf/open/floor/iron/white/side{ @@ -78151,18 +80393,25 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xog" = ( -/obj/structure/fence{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "xow" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) +"xpc" = ( +/obj/effect/turf_decal/siding/yellow/corner, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/table, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "xpw" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -78199,16 +80448,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"xpO" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "xpP" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -78217,26 +80456,41 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"xqa" = ( -/obj/structure/railing{ +"xqj" = ( +/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_smooth, +/area/station/maintenance/port/greater) +"xqk" = ( +/obj/machinery/door/airlock{ + name = "Bar"; dir = 4 }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, /obj/machinery/duct, -/obj/effect/turf_decal/tile/bar{ +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"xqj" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) +"xqt" = ( /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_smooth, -/area/station/maintenance/port/greater) +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/commons/lounge) "xqu" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 10"; @@ -78249,19 +80503,35 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) +"xqw" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Exfiltrate to Port" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "xqy" = ( /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/iron, /area/station/cargo/office) -"xqP" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 1 +"xqU" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "xqX" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/structure/cable, @@ -78279,25 +80549,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xre" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/left/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "xrf" = ( /obj/structure/railing, /obj/structure/cable, @@ -78341,17 +80592,6 @@ }, /turf/open/floor/iron/dark, /area/mine/storage) -"xrL" = ( -/obj/machinery/washing_machine, -/obj/structure/sign/poster/official/no_erp/directional/west, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms/laundry) "xrS" = ( /obj/structure/ladder, /obj/effect/turf_decal/stripes/box, @@ -78362,12 +80602,6 @@ /obj/machinery/light/blacklight/directional/east, /turf/open/floor/wood, /area/station/service/library) -"xsm" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "xss" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -78384,28 +80618,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"xsy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"xsA" = ( -/obj/structure/rack, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"xsP" = ( -/obj/structure/table, -/obj/item/folder/white, -/obj/item/folder/white, -/obj/item/pen, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/explab) "xtc" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -78413,15 +80625,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xte" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/structure/railing/corner/end{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"xth" = ( +/obj/structure/closet/crate/miningcar, +/obj/effect/spawner/random/exotic/snow_gear, +/obj/effect/spawner/random/exotic/snow_gear, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xtn" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -78447,12 +80656,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/workout) -"xtH" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "xtQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78460,33 +80663,47 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"xtR" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +"xua" = ( +/obj/machinery/computer/security/qm, +/obj/machinery/requests_console/directional/west{ + department = "Quartermaster's Desk"; + name = "Quartermaster's Desk Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/sign/poster/official/work_for_a_future/directional/north, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) +"xug" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs/medium, +/area/station/cargo/storage) +"xul" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/left/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/closet/l3closet/virology, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"xtX" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/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 = 10 +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/paper_bin{ + pixel_y = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"xun" = ( -/obj/machinery/door/poddoor/massdriver_chapel, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/station/service/chapel) +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xuo" = ( /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) @@ -78519,29 +80736,19 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"xuM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera{ - c_tag = "Medbay Cryogenics"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) -"xuQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/mob/living/carbon/human/species/monkey, -/turf/open/floor/grass, -/area/station/medical/virology) +"xuL" = ( +/obj/structure/disposalpipe/segment, +/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/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/fore) "xuR" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/manifold{ dir = 4 }, -/turf/open/misc/asteroid/snow/icemoon, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) "xuW" = ( /obj/effect/turf_decal/tile/blue{ @@ -78552,6 +80759,14 @@ dir = 5 }, /area/station/hallway/secondary/entry) +"xvd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/station/maintenance/port/lesser) "xvj" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 @@ -78587,9 +80802,12 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"xvx" = ( -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) +"xvp" = ( +/obj/structure/fence/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "xvy" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/stripes/line{ @@ -78597,10 +80815,32 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"xvO" = ( -/obj/structure/girder, +"xvE" = ( +/obj/item/toy/snowball{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"xvI" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) +"xvN" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/obj/structure/sign/departments/botany/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"xvU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, -/area/mine/eva/lower) +/area/station/maintenance/aft/lesser) "xvZ" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -78610,10 +80850,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"xwd" = ( -/obj/structure/stairs/east, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "xwf" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -78621,6 +80857,18 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"xwi" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xwm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/green{ @@ -78634,6 +80882,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) +"xwq" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xwr" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/eva{ @@ -78699,12 +80953,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"xwL" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "xwM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78715,10 +80963,24 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"xxo" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +"xxi" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/acidic_buffer{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/basic_buffer{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/formaldehyde{ + pixel_x = 1 + }, +/obj/structure/sign/warning/no_smoking/circle/directional/west, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/chem_storage) "xxs" = ( /obj/effect/turf_decal/bot_white, /obj/structure/reagent_dispensers/plumbed, @@ -78754,12 +81016,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"xxH" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "xxI" = ( /obj/machinery/airalarm/directional/north, /obj/item/kirbyplants/random, @@ -78778,19 +81034,6 @@ /obj/structure/flora/grass/brown/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"xxZ" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/cytology{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/storage/box/swab{ - pixel_y = 7; - pixel_x = 7 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "xyc" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -78805,7 +81048,7 @@ /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; - id = "kanyewest"; + id = "rd_office_shutters"; name = "Privacy Shutters" }, /obj/structure/cable, @@ -78831,6 +81074,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/xenobiology) +"xyr" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "xyx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78872,11 +81121,13 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/engine, /area/station/science/genetics) -"xyG" = ( +"xyI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "xyN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -78910,6 +81161,17 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"xza" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/end, +/obj/structure/sign/warning/no_smoking/circle/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/directional/west, +/obj/structure/window/spawner/directional/south, +/turf/open/floor/iron, +/area/station/medical/medbay/aft) "xzd" = ( /obj/machinery/camera/directional/east{ c_tag = "Library South" @@ -78924,6 +81186,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xzk" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/wallet{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/item/newspaper, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xzo" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -78962,14 +81234,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"xAm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/atmos_control/nocontrol/incinerator{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) "xAn" = ( /turf/open/floor/iron/dark, /area/station/engineering/lobby) @@ -79002,6 +81266,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison/mess) +"xAY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sign/departments/court/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "xBa" = ( /obj/structure/table, /obj/item/storage/toolbox/electrical{ @@ -79012,15 +81283,36 @@ dir = 1 }, /area/station/science/explab) -"xBh" = ( -/obj/machinery/light/directional/north, -/obj/machinery/button/door/directional/north{ - id = "ceprivacy"; - name = "Privacy Shutters Control" +"xBf" = ( +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/rag, +/obj/structure/table/wood, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = 6 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) +/area/station/service/bar) +"xBj" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "xBn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -79033,13 +81325,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"xBs" = ( -/obj/machinery/status_display/ai/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "xBt" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -79067,24 +81352,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage/gas) -"xBS" = ( -/obj/item/training_toolbox{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/item/training_toolbox{ - pixel_y = -2 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Holodeck Control" - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/machinery/status_display/evac/directional/east, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "xBU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -79093,42 +81360,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"xBX" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix to Port" - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"xCa" = ( -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 6 - }, -/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/prisoner, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) -"xCb" = ( -/obj/structure/table/wood, -/obj/item/folder/red, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/security/courtroom) -"xCh" = ( -/obj/machinery/button/door/directional/west{ - id = "xenobio5"; - name = "Xenobio Pen 5 Blast Door"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"xCj" = ( -/obj/structure/sign/departments/holy, -/turf/closed/wall, -/area/station/service/chapel) "xCl" = ( /turf/open/floor/iron, /area/station/science/robotics/lab) @@ -79146,6 +81377,14 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"xCs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/departments/aisat/directional/east, +/turf/open/floor/iron/dark/corner, +/area/station/engineering/storage_shared) "xCv" = ( /obj/machinery/computer/security, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -79184,6 +81423,11 @@ /obj/item/storage/pill_bottle/mannitol, /turf/open/floor/iron/white, /area/station/medical/cryo) +"xDa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/explab) "xDb" = ( /turf/closed/wall/r_wall, /area/station/medical/virology) @@ -79203,6 +81447,51 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"xDj" = ( +/obj/effect/turf_decal/trimline/yellow/end{ + dir = 1 + }, +/obj/machinery/exodrone_launcher, +/obj/item/fuel_pellet, +/obj/effect/turf_decal/trimline/yellow/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/mid_joiner{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "drone_bay"; + name = "Shutter Control" + }, +/turf/open/floor/iron/smooth_large, +/area/station/cargo/drone_bay) +"xDu" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Cargo Bay Receiving Dock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor"; + name = "Loading Doors"; + pixel_y = -8; + req_access = list("cargo") + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor2"; + name = "Loading Doors"; + pixel_y = 8; + req_access = list("cargo") + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xDw" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, @@ -79221,14 +81510,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/workout) -"xDQ" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "xDU" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs, @@ -79236,6 +81517,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/department/medical/morgue) +"xDX" = ( +/obj/item/radio/intercom/directional/west, +/obj/machinery/chem_dispenser, +/obj/structure/sign/warning/chem_diamond/directional/north, +/turf/open/floor/glass/reinforced, +/area/station/medical/treatment_center) "xEb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/green/filled/warning{ @@ -79265,10 +81552,10 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) -"xEt" = ( -/obj/structure/closet/bombcloset, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"xEn" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xEE" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -79290,53 +81577,36 @@ /obj/machinery/door/firedoor, /turf/open/floor/carpet/black, /area/station/security/prison/safe) -"xEJ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Dormitory North" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) -"xEL" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/disposal/bin, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) -"xEP" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 1; - name = "hydroponics reservoir" - }, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" +"xEV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron/dark/textured, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"xEQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/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, -/area/station/science/ordnance) "xEW" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/mine/living_quarters) +"xEX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) +"xFf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "xFm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79344,6 +81614,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/upper) +"xFn" = ( +/obj/structure/fence/cut/large{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xFo" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -79358,14 +81634,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"xFz" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/service/bar) "xFB" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen/engi, @@ -79381,72 +81649,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage) -"xFG" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"xFM" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/engine_smes) -"xFT" = ( -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/rack, -/obj/item/clothing/accessory/armband/hydro{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/clothing/accessory/armband/hydro, -/obj/item/toy/figure/botanist, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"xFU" = ( -/obj/structure/barricade/wooden, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) -"xGh" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south{ - pixel_x = -28 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"xGi" = ( -/obj/structure/table/glass, -/obj/item/seeds/glowshroom, -/obj/item/seeds/bamboo{ - pixel_y = 3; - pixel_x = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xGp" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/east{ @@ -79480,6 +81682,19 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/smooth, /area/mine/eva) +"xGx" = ( +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/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/starboard/upper) +"xGA" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/science/server) "xGI" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ dir = 4 @@ -79493,6 +81708,24 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) +"xGK" = ( +/obj/machinery/computer/mecha{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Research Director's Office"; + network = list("ss13","rd") + }, +/obj/machinery/light/directional/south, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) +"xGL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xGM" = ( /obj/machinery/computer/atmos_control/carbon_tank{ dir = 8 @@ -79537,26 +81770,32 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) -"xHv" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"xHE" = ( -/obj/structure/stairs/east, -/turf/open/floor/plating, -/area/station/security/brig) -"xHY" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"xHr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"xHx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/recharge_station, /turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat/maint) -"xIh" = ( -/obj/effect/spawner/random/structure/tank_holder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/mine/eva/lower) +"xId" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat/eva{ + pixel_y = 9 + }, +/obj/item/clothing/shoes/winterboots/ice_boots/eva{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/effect/turf_decal/delivery/red, +/obj/item/clothing/gloves/color/grey/protects_cold, +/obj/item/clothing/mask/gas, +/turf/open/floor/iron/textured, +/area/station/ai_monitored/command/storage/eva) "xIk" = ( /obj/structure/chair/comfy{ dir = 4 @@ -79599,6 +81838,15 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/science/server) +"xIO" = ( +/obj/machinery/light/small/dim/directional/east, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/commons/lounge) "xIS" = ( /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/tile/blue, @@ -79612,17 +81860,24 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xJi" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/open/floor/iron/showroomfloor, -/area/station/engineering/atmos) "xJj" = ( /turf/open/floor/iron, /area/station/science/xenobiology) +"xJn" = ( +/obj/structure/disposaloutlet{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) +"xJv" = ( +/obj/structure/rack, +/obj/item/screwdriver, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "xJw" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Project Room" @@ -79665,9 +81920,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"xJW" = ( -/turf/open/floor/iron/half, -/area/station/service/hydroponics) "xKb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/south, @@ -79694,6 +81946,12 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"xKk" = ( +/obj/structure/sign/plaques/kiddie/gameoflife{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "xKo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -79703,25 +81961,27 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "xKq" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/turf/open/floor/iron, +/area/station/service/hydroponics) +"xKx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner/end/flip, +/obj/structure/railing/corner/end{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "xKJ" = ( /turf/closed/wall, /area/station/command/meeting_room) -"xKT" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Dormitory South" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/commons/dorms) "xKX" = ( /obj/effect/turf_decal/trimline/dark_green/arrow_ccw{ dir = 6 @@ -79743,6 +82003,10 @@ "xLq" = ( /turf/open/floor/glass/reinforced, /area/station/science/ordnance/office) +"xLv" = ( +/obj/structure/stairs/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "xLF" = ( /obj/machinery/door/window/right/directional/east{ name = "Captain's Desk Door"; @@ -79752,6 +82016,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"xLJ" = ( +/obj/structure/rack, +/obj/item/mecha_parts/mecha_equipment/drill, +/turf/open/floor/iron/smooth, +/area/mine/mechbay) "xLK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -79761,23 +82030,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xLO" = ( -/obj/machinery/flasher/directional/east{ - id = "brigentry" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "xLS" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"xLT" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "xLV" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, @@ -79802,28 +82069,6 @@ "xMq" = ( /turf/closed/mineral/random/snow, /area/icemoon/underground/explored) -"xMv" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"xMx" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Labor Camp External North"; - network = list("labor") - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"xMM" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) "xMQ" = ( /obj/effect/mapping_helpers/ianbirthday, /turf/open/floor/carpet, @@ -79855,16 +82100,36 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_half, /area/station/ai_monitored/command/storage/eva) -"xNa" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"xNn" = ( +"xNh" = ( +/obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ - dir = 5 + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "Cargo_Store_In"; + name = "Cargo Warehouse Shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/button/door/directional/south{ + id = "Cargo_Store_In"; + name = "Warehouse Access" + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"xNs" = ( +/obj/structure/table/wood, +/obj/item/clothing/mask/fakemoustache, +/obj/item/cigarette/pipe, +/obj/item/clothing/glasses/monocle, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "xNC" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -79872,11 +82137,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"xNE" = ( -/obj/structure/stairs/west, -/obj/structure/railing, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "xNF" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Dorm"; @@ -79887,6 +82147,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xNR" = ( +/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_large, +/area/station/science/cytology) "xOb" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -79896,65 +82162,33 @@ }, /turf/open/floor/iron/dark, /area/mine/mechbay) -"xOd" = ( -/obj/structure/minecart_rail{ - dir = 6 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/structure/sign/warning/directional/west, +"xOc" = ( +/obj/machinery/light/cold/directional/west, /turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) -"xOi" = ( -/obj/machinery/door/window/left/directional/south{ - req_access = list("kitchen"); - name = "The Ice Box" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) -"xOl" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"xOE" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Bar and Kitchen" - }, -/obj/structure/plasticflaps/opaque, -/obj/effect/turf_decal/delivery, -/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/textured, -/area/station/maintenance/starboard/fore) -"xOV" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +"xOk" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"xOQ" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 +/obj/machinery/door/airlock/external/glass{ + name = "Garden Access" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/textured, /area/station/service/hydroponics) -"xPf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"xPs" = ( +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external/glass{ + name = "Cytology External Airlock" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "xPu" = ( /obj/machinery/light/directional/east, /turf/open/misc/asteroid/snow/icemoon, @@ -80028,8 +82262,38 @@ }, /obj/machinery/light/small/directional/east, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"xQi" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/minecart_rail/railbreak{ + dir = 4 + }, +/obj/structure/closet/crate/miningcar{ + name = "delivery cart"; + desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." + }, +/obj/item/storage/bag/plants, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"xQj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "xQm" = ( /obj/machinery/airalarm/directional/west, /obj/structure/closet/secure_closet/freezer/fridge/all_access, @@ -80043,10 +82307,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"xQu" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "xQB" = ( /obj/effect/spawner/random/clothing/costume, /obj/structure/rack, @@ -80073,27 +82333,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/mine/production) -"xQS" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 8; - pixel_x = 3 - }, -/obj/item/food/grown/eggplant{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/food/grown/mushroom/chanterelle{ - pixel_y = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "xQT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, @@ -80103,6 +82342,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"xRv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "xRw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80111,13 +82364,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"xRF" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "xRI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80135,6 +82381,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"xSg" = ( +/obj/structure/cable, +/obj/structure/sign/warning/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/explab) "xSl" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -80152,40 +82403,36 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig) -"xSu" = ( -/obj/structure/table/glass, -/obj/machinery/reagentgrinder, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "xSv" = ( /obj/structure/closet/firecloset, /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"xSw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/sign/warning/secure_area/directional/west, -/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/upper) +"xSx" = ( +/obj/structure/closet/secure_closet/chemical, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/port/fore) "xSA" = ( /turf/open/floor/wood, /area/station/service/lawoffice) +"xSE" = ( +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xSL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/large, /area/station/hallway/primary/port) -"xTi" = ( -/obj/effect/landmark/start/clown, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "xTp" = ( /obj/machinery/camera/directional/south{ c_tag = "Solar Maintenance - North East" @@ -80207,16 +82454,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"xTI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ +"xTN" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 4 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/south, +/obj/structure/sign/poster/contraband/lizard/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xTQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80250,6 +82508,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"xUd" = ( +/obj/structure/marker_beacon/burgundy, +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xUe" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -80260,6 +82524,14 @@ }, /turf/open/floor/plating, /area/station/medical/morgue) +"xUg" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "xUk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -80267,14 +82539,6 @@ }, /turf/open/openspace, /area/station/science/ordnance/office) -"xUt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"xUw" = ( -/obj/structure/sign/departments/maint/directional/west, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "xUF" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -80305,10 +82569,6 @@ }, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"xUR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/security/courtroom) "xUS" = ( /obj/structure/rack, /obj/item/pickaxe{ @@ -80317,12 +82577,11 @@ /obj/item/shovel{ pixel_x = -5 }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"xUT" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xUU" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue, @@ -80337,21 +82596,57 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"xUW" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "xVc" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet1"; - name = "Unit 1" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/station/command/bridge) "xVf" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"xVo" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "xVq" = ( /obj/machinery/light/directional/north, +/obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room) +"xVv" = ( +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"xVB" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "xVG" = ( /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) @@ -80380,15 +82675,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"xVX" = ( -/obj/structure/closet/crate, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, -/turf/open/floor/iron/smooth, -/area/mine/eva/lower) "xVZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -80400,11 +82686,32 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"xWk" = ( +/obj/machinery/biogenerator, +/obj/machinery/door/window/left/directional/south{ + name = "Biogenerator Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xWo" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"xWr" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Upper" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "xWA" = ( /obj/structure/table, /obj/item/plate, @@ -80414,16 +82721,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"xWI" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "xWM" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -80436,8 +82733,8 @@ /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) "xWT" = ( -/obj/machinery/firealarm/directional/south, /obj/structure/closet/crate/freezer/surplus_limbs, +/obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white, /area/station/medical/cryo) "xWU" = ( @@ -80497,13 +82794,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"xXE" = ( -/obj/structure/chair/pew{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/chapel, -/area/station/service/chapel) "xXQ" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -80513,28 +82803,11 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"xXU" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Library Art Gallery" - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/spawner/random/structure/table_fancy, -/obj/machinery/light/blacklight/directional/north, -/obj/structure/sign/painting/large/library{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library) -"xXV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +"xYg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "xYj" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -80545,19 +82818,13 @@ dir = 10 }, /area/station/science/research) -"xYr" = ( -/obj/machinery/mineral/stacking_unit_console{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Disposals" +"xYt" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xYw" = ( /obj/structure/flora/bush/leavy/style_random, /turf/open/floor/grass, @@ -80576,6 +82843,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xYQ" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"xYS" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/dark/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "xYT" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -80585,19 +82872,37 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/iron/smooth, /area/mine/eva) -"xZg" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/security/prison/safe) "xZl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) +"xZq" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"xZv" = ( +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"xZy" = ( +/obj/structure/stairs/east, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "xZA" = ( /turf/open/floor/iron/checker, /area/station/science/lab) +"xZS" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/item/reagent_containers/cup/bucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xZW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80610,13 +82915,6 @@ /area/station/medical/psychology) "xZX" = ( /obj/machinery/firealarm/directional/east, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/folder/yellow, -/obj/item/pen, /turf/open/floor/iron, /area/station/cargo/miningdock) "yab" = ( @@ -80645,10 +82943,20 @@ }, /turf/open/floor/plating/elevatorshaft, /area/mine/storage) -"yap" = ( -/obj/structure/stairs/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"yan" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "yar" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -80691,21 +82999,24 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) +"yaF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "yaG" = ( /obj/effect/landmark/navigate_destination/chapel, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/primary/starboard) -"yaJ" = ( -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "yaL" = ( /turf/closed/wall/r_wall, /area/station/engineering/engine_smes) @@ -80720,21 +83031,19 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) -"ybe" = ( -/obj/structure/rack, -/obj/item/soap{ - pixel_y = -2 +"ybb" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Ordnance Lower Mix Lab"; - network = list("ss13","rd") +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ybf" = ( /obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "ybq" = ( @@ -80747,15 +83056,6 @@ dir = 4 }, /area/station/engineering/transit_tube) -"ybr" = ( -/obj/structure/bookcase{ - name = "Forbidden Knowledge" - }, -/obj/structure/sign/painting/large/library_private{ - dir = 1 - }, -/turf/open/floor/engine/cult, -/area/station/service/library) "ybu" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/wood, @@ -80771,6 +83071,17 @@ /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ybC" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/closet/emcloset, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/virology) "ybE" = ( /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80782,11 +83093,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"ybF" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "ybI" = ( /obj/structure/bed/dogbed/ian, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80816,6 +83122,12 @@ "ybQ" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/nuke_storage) +"ybY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "yca" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Station Maintenance" @@ -80851,18 +83163,14 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/storage) -"ycE" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"ycO" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sink/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ycQ" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance, @@ -80908,6 +83216,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"ydk" = ( +/obj/machinery/computer/security/mining, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "ydt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -80922,12 +83238,6 @@ dir = 1 }, /area/mine/eva/lower) -"ydv" = ( -/obj/structure/chair/stool/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "ydA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -80937,17 +83247,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ydG" = ( -/obj/machinery/status_display/ai/directional/east, -/obj/structure/chair/sofa/left/brown, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"ydH" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/glass, -/obj/structure/sign/warning/no_smoking/circle/directional/west, -/turf/open/floor/plating/icemoon, -/area/station/maintenance/port/lesser) "ydI" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/entry) @@ -80958,11 +83257,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"ydT" = ( -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "yef" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/suit_storage_unit/industrial/loader, @@ -81019,6 +83313,35 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) +"yfa" = ( +/obj/structure/sink/directional/west, +/obj/structure/cable, +/obj/machinery/button/door/directional/east{ + id = "xenobio10"; + name = "Xenobio Pen 10 Blast DOors"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"yfg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"yfs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "yfz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -81030,26 +83353,27 @@ /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"yfS" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"yfT" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat/maint) -"yfY" = ( -/obj/machinery/skill_station, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/station/service/library) +"yfW" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ygd" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ygf" = ( +/obj/structure/bookcase{ + name = "Forbidden Knowledge" + }, +/obj/structure/sign/painting/library_private{ + pixel_x = -32 + }, +/turf/open/floor/engine/cult, +/area/station/service/library) "ygk" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -81057,6 +83381,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"ygl" = ( +/turf/open/floor/plating, +/area/station/engineering/atmos) +"ygm" = ( +/obj/structure/closet/emcloset, +/obj/structure/sign/warning/electric_shock/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "ygv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81064,10 +83396,10 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/command/gateway) -"ygy" = ( -/obj/effect/landmark/start/clown, -/turf/open/floor/wood, -/area/station/commons/lounge) +"ygA" = ( +/obj/machinery/light/small/directional/south, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/graveyard) "ygB" = ( /turf/closed/wall, /area/station/commons/dorms) @@ -81079,6 +83411,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ygL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ygM" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81087,50 +83425,49 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"ygP" = ( -/obj/machinery/door/airlock/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, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 +"ygS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/extinguisher, +/obj/item/clothing/suit/utility/fire/firefighter, +/obj/item/clothing/head/utility/hardhat/red, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/meson, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/fore) "yhe" = ( /obj/structure/cable, /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/cargo/sorting) +"yhn" = ( +/obj/structure/rack, +/obj/item/crowbar, +/obj/item/picket_sign, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "yhw" = ( /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/grimy, /area/station/ai_monitored/turret_protected/aisat_interior) -"yhC" = ( -/obj/structure/sign/warning/cold_temp/directional/east, -/turf/open/floor/plating, -/area/station/engineering/main) -"yhL" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/maintenance/fore) "yhU" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/security/prison/work) -"yhV" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" +"yhY" = ( +/obj/structure/fence/end{ + dir = 2 }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/service/bar/backroom) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "yia" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81138,6 +83475,10 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"yib" = ( +/obj/structure/flora/rock/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "yiv" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -81168,6 +83509,10 @@ "yiL" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory) +"yiR" = ( +/obj/structure/sign/warning/cold_temp/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "yjh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81179,19 +83524,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"yjo" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"yjr" = ( -/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 = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "yju" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -81206,11 +83538,6 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) -"yjF" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "yjV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -81226,6 +83553,16 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"ykd" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ykw" = ( /turf/closed/wall/r_wall, /area/station/security/processing) @@ -81234,10 +83571,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"ykE" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "ykG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, @@ -81256,12 +83589,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"ylt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, -/obj/structure/sign/poster/official/safety_internals/directional/east, -/obj/structure/sign/poster/official/safety_internals/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"yld" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ylz" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/trimline/neutral/warning, @@ -81276,16 +83610,16 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) -"ylF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"ylL" = ( +/obj/machinery/flasher/directional/north{ + id = "Cell 3" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/structure/bed{ + dir = 1; + pixel_x = -2 }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/turf/open/floor/iron/smooth, +/area/station/security/brig) "ylM" = ( /obj/machinery/light/directional/south, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ @@ -81300,13 +83634,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"ylQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cytology Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "ylU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81323,23 +83650,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ymb" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera{ - c_tag = "Mining B-2 Hallway"; - dir = 9 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +"ymf" = ( +/obj/effect/turf_decal/siding/wood/end{ dir = 1 }, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"ymj" = ( +/obj/structure/chair{ + dir = 8 }, -/area/mine/eva/lower) +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/sign/departments/evac/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) (1,1,1) = {" oSU @@ -97686,14 +100013,14 @@ sYA ghx ghx ghx -vXO +ohO hMz ghx -hMz +ghx psb +dmw scw -scw -jSy +iDt xMq xMq xMq @@ -97946,13 +100273,13 @@ ghx isU ghx ghx -hMz +ghx hUy dZS xuo scw iDt -qau +bNC thA thA thA @@ -98209,8 +100536,8 @@ stA xuo xuo xuo -nqv -thA +qau +dMn thA thA thA @@ -98964,7 +101291,7 @@ ghx ghx ghx ndA -mSH +pWp ngM kgN wDU @@ -98972,7 +101299,7 @@ sKo sKo sKo wDU -kUP +tdI okH qSq ghx @@ -99219,13 +101546,13 @@ ghx ghx ghx cpt -dLH -kIX +wPG +ckL xuo xuo qlU wDU -roa +hDe wRN qPX wDU @@ -99475,8 +101802,8 @@ ghx ghx ghx iDt -aNc -xuo +ewo +eIv xuo xuo xuo @@ -99732,16 +102059,16 @@ thA thA thA iDt -sxe +jRi xuo xuo qJT wDU tbX qmt -nAa +mct qLQ -vBg +dtR qmt tbX wDU @@ -99994,13 +102321,13 @@ xuo xuo xuo dBY -moc +mnm tGi kBX fdp qiF dBY -moc +mnm tGi xuo xuo @@ -100246,16 +102573,16 @@ thA thA thA iDt -sxe +jRi xuo -qJT +coe wDU qmt qmt qmt -jpi +uJd tYz -gle +soq qmt qmt qmt @@ -100264,7 +102591,7 @@ tbX tbX wDU wDU -ghx +etz ghx ghx ghx @@ -100505,7 +102832,7 @@ thA iDt psb rxz -qlU +gFX wDU aNw qmt @@ -100760,10 +103087,10 @@ thA thA thA iDt -xuo +txm wDU wDU -qmt +ijV nfr kLa giV @@ -100772,7 +103099,7 @@ eVa gSO tmE qmt -iBd +nbs chO doM ezl @@ -101017,14 +103344,14 @@ thA thA thA iDt -xuo +txm wDU krn -xvO -nfr +rFh qmt qmt -ymb +qmt +nGY eVa rnx fYH @@ -101274,19 +103601,19 @@ thA thA thA iDt -xuo +txm wDU uqz kTF -nfr qmt -iVm +pVg +ubG xlA eVa gSO uPt qmt -aQy +opy fLC dLe wzl @@ -101536,9 +103863,9 @@ qmt qmt kLa qmt -qmt -sAa -qKk +vlF +kyM +vzG wbH lIR uUT @@ -101549,7 +103876,7 @@ uUT uUT uUT wDU -scw +mrk ghx ghx thA @@ -101792,10 +104119,10 @@ wDU btB gfw nfr -igq qmt qmt -gSK +qmt +bcs tYz vTb rmB @@ -102014,10 +104341,10 @@ ghx ghx ghx psb -fSd +iYq hUK -gqG -thA +psb +lGf thA thA thA @@ -102048,7 +104375,7 @@ iDt wDU uqz bRC -nfr +tIM jAu qmt ofz @@ -102304,7 +104631,7 @@ thA iDt wDU ljP -uqz +xHx bQN tnb qmt @@ -102825,13 +105152,13 @@ vfp niN eSY uyq -gdS +hDv uUT -bzJ +dPH srZ jla ebv -mXD +xLJ nUi scw iDt @@ -103005,7 +105332,7 @@ thA thA thA rfu -ghx +etz ghx ghx ghx @@ -103080,9 +105407,9 @@ dga scw dga niN -qqn +vxx uyq -xVX +bTM uUT uUT vlS @@ -103090,7 +105417,7 @@ hex uUT iwf iwf -wkV +xvp iDt iDt ghx @@ -103331,8 +105658,8 @@ thA ipf cCb iDt -mJZ -iDt +jai +wkB scw scw scw @@ -103341,14 +105668,14 @@ bfo sZO wDU iwf -cEh +oXF +dNA dNA -weg iwf lQw fWX -nqv -iDt +kLd +wkB iDt ghx thA @@ -103554,11 +105881,11 @@ thA thA thA xuo -wYp -odW +psb +mIe uWw psb -ghx +etz ghx ghx ghx @@ -103588,7 +105915,7 @@ thA thA thA iDt -rcY +aDG iDt scw scw @@ -103604,7 +105931,7 @@ gvc iwf unv wrV -qau +bNC iDt cCb ghx @@ -103845,7 +106172,7 @@ thA thA thA iDt -rcY +aDG iDt iDt iDt @@ -103860,8 +106187,8 @@ cPd hYP aro agI -scw -qau +iDt +bNC iDt iDt thA @@ -104102,7 +106429,7 @@ thA thA thA iDt -rcY +bNC iDt iDt iDt @@ -104111,13 +106438,13 @@ scw scw scw scw -mJZ -iDt +jai +wkB scw scw -rcY +jai +iDt iDt -scw qau iDt iDt @@ -104359,23 +106686,23 @@ thA thA thA iDt -syw -kNC -kNC -kNC -kNC -kNC -kNC -ork -tej -gIl +gsd +jTf +aKb +aKb +aKb +aKb +aKb +nvB +jTf +kOt scw iDt iDt -syw -tej -tej -gIl +gsd +jTf +syG +pCG iDt thA thA @@ -104807,7 +107134,7 @@ uOb rfu omJ rfu -pjj +kOc daf kmH oBz @@ -104982,146 +107309,119 @@ oSU oSU oSU oSU -oSU -oSU -"} -(93,1,1) = {" -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -ghx -ghx -ghx -ghx -ghx -dhq -dhq -dhq -dhq -iZz -iZz -iZz -iZz -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -iDt -iDt -xMq -xMq -thA -thA -thA -thA -thA -thA -uOb -nDV -amx -fXO -lBR -nhg -gnR -lBR -nhg -qrq -lBR -kIo -hap -rfu -pjj -daf -daf -xuo -oBz -ena -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -thA -thA -thA -thA -thA -ghx -ghx -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU +oSU +oSU +"} +(93,1,1) = {" +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +ghx +ghx +ghx +ghx +ghx +dhq +dhq +dhq +dhq +iZz +iZz +iZz +iZz +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +iDt +iDt +xMq +xMq +thA +thA +thA +thA +thA +thA +uOb +nDV +amx +fXO +lBR +nhg +scb +lBR +nhg +mbe +lBR +kIo +hap +rfu +pjj +daf +daf +xuo +oBz +ena +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +thA +thA +thA +thA +thA +ghx +ghx +thA +thA +thA +thA +thA +thA +thA thA thA thA @@ -105129,6 +107429,32 @@ thA thA thA thA +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +thA +thA +thA +thA +thA +thA thA thA thA @@ -105138,6 +107464,7 @@ thA thA thA thA +iYD thA thA iDt @@ -105581,7 +107908,7 @@ rfu ooW ooW rfu -xuo +jrv xuo xlq ghx @@ -106083,7 +108410,7 @@ ifZ amx ddz lBR -fIb +vzp fnj egz hsr @@ -106603,7 +108930,7 @@ kqh kqh ttD nNn -sxT +urm tKB foO bdo @@ -106844,11 +109171,11 @@ ghx ghx ghx ghx -gBl +fIt uSb uSb uSb -gBl +fIt uOb uOb lBR @@ -106870,7 +109197,7 @@ kIi rfu rfu rfu -ghx +akn ghx ghx ghx @@ -107108,13 +109435,13 @@ tWK tWK tWK xhK -tsK +tnD jGg vVH -krV +gkN ogL jZI -duI +aHw vVH vVH vVH @@ -107123,9 +109450,9 @@ nNn gzV nNn nNn -axb -tCV -cFc +evP +bVs +dgx mJX ghx ghx @@ -107139,8 +109466,8 @@ ghx ghx ghx ghx -lcA -ghx +psb +etz thA thA thA @@ -107368,10 +109695,10 @@ xby dSm hMS vVH -uoS +nGo wPg fHg -eek +mkb vVH fps usS @@ -107637,7 +109964,7 @@ vUs kqR hjQ nNn -scQ +eCg aJu ong mJX @@ -108157,17 +110484,17 @@ puc kGP sEC dbH +akn ghx ghx ghx ghx ghx ghx -ghx -lcA psb psb -lcA +psb +psb thA thA thA @@ -108391,9 +110718,9 @@ ghx ghx ghx eZz -efi +uOs xhK -nCQ +nGd swf vVH jli @@ -108421,7 +110748,7 @@ ghx ghx ghx ghx -rcY +pJm iDt thA thA @@ -108648,7 +110975,7 @@ ghx ghx ghx iDt -nbP +fgN xhK ikb swf @@ -108678,7 +111005,7 @@ ghx ghx ghx ghx -rcY +pJm iDt thA thA @@ -108913,9 +111240,9 @@ vVH vVH dZW fHg -lJS -bol -oSD +ayS +aze +lsn ldH xQm yaZ @@ -108935,8 +111262,8 @@ ghx ghx ghx ghx -lcA -iDt +psb +mbJ thA thA thA @@ -109170,9 +111497,9 @@ nId myQ sby fHg -bol -bol -oSD +aEY +oad +gAV ldH qiJ qTs @@ -110192,7 +112519,7 @@ ghx ghx axF dcw -fGI +sKT sSl etw lXJ @@ -110213,7 +112540,7 @@ iJr vSK kse dbH -ghx +akn ghx ghx ghx @@ -110478,7 +112805,7 @@ ghx ghx ghx psb -iDt +mbJ thA thA thA @@ -110986,7 +113313,7 @@ psb psb psb fIt -ghx +etz ghx ghx ghx @@ -111193,10 +113520,10 @@ dhq dhq dhq dhq -dhq -dhq -dhq -dhq +iZz +iZz +iZz +iZz dhq dhq dhq @@ -111448,8 +113775,8 @@ dhq dhq dhq dhq -iDt -iDt +iZz +iZz iDt iDt scw @@ -111464,8 +113791,8 @@ iDt scw scw iDt -iDt -ghx +fIt +tvk ghx ghx ghx @@ -111477,7 +113804,7 @@ ghx ghx ghx dcw -bDd +cdp hBF owf bkX @@ -111704,9 +114031,9 @@ dhq dhq dhq dhq -iDt -iDt -iDt +iZz +iZz +iZz scw scw scw @@ -111721,7 +114048,7 @@ scw scw scw scw -iDt +iwV ghx ghx ghx @@ -111961,9 +114288,9 @@ dhq dhq dhq dhq -iDt -iDt -iDt +iZz +iZz +iZz scw scw scw @@ -111978,7 +114305,7 @@ iDt iDt iDt iDt -scw +gem ghx ghx ghx @@ -112002,7 +114329,7 @@ thA uPk jYj uAE -dKS +eni dbH dbH dbH @@ -112014,7 +114341,7 @@ psb psb psb fIt -ghx +etz ghx ghx ghx @@ -112216,11 +114543,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz scw iDt scw @@ -112235,7 +114562,7 @@ scw scw scw scw -iDt +iwV ghx ghx ghx @@ -112472,12 +114799,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz iDt iDt scw @@ -112492,7 +114819,7 @@ scw scw scw iDt -iDt +iwV ghx ghx ghx @@ -112729,12 +115056,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz scw iDt scw @@ -112749,7 +115076,7 @@ scw scw scw scw -iDt +iwV ghx ghx ghx @@ -112986,12 +115313,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw +iZz iDt iDt scw @@ -113006,7 +115333,7 @@ scw scw iDt scw -iDt +iwV ghx ghx ghx @@ -113243,12 +115570,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz scw iDt scw @@ -113263,7 +115590,7 @@ scw iDt scw iDt -iDt +iwV ghx ghx ghx @@ -113500,12 +115827,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw +iZz scw scw iDt @@ -113520,7 +115847,7 @@ scw scw iDt scw -scw +gem ghx ghx ghx @@ -113546,7 +115873,7 @@ oXd bJp qdl uPk -scw +ltH ghx ghx ghx @@ -113757,12 +116084,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw +iZz iDt scw iDt @@ -113777,7 +116104,7 @@ scw scw iDt iDt -iDt +iwV ghx ghx ghx @@ -113803,7 +116130,7 @@ uPk uPk uPk uPk -ghx +etz ghx ghx ghx @@ -114014,12 +116341,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz vjh dLN dLN @@ -114032,10 +116359,10 @@ vjh vjh uPl vjh -ghx -ghx -ghx -ghx +hMv +qxN +fIt +tvk ghx ghx ghx @@ -114271,12 +116598,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +fKw +fKw +iZz vjh dqx oDg @@ -114289,7 +116616,7 @@ wAQ njJ kcf vjh -ghx +scw ghx ghx ghx @@ -114302,7 +116629,7 @@ iDt iDt iDt iDt -xMq +iDt xMq thA thA @@ -114528,12 +116855,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz vjh szu hdV @@ -114559,7 +116886,7 @@ iDt iDt iDt iDt -xMq +iDt xMq xMq thA @@ -114785,9 +117112,9 @@ dhq dhq dhq dhq -iDt -iDt -iDt +iZz +iZz +iZz dLN dLN dLN @@ -114799,8 +117126,8 @@ dqx njJ cVD njJ -eCz -oFp +hpl +dqx dqx vjh nTO @@ -114812,12 +117139,12 @@ eQT eQT eQT nTO +kXf +iDt iDt iDt iDt iDt -xMq -xMq xMq xMq thA @@ -115041,10 +117368,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +iZz +fKw dLN wxg ipd @@ -115069,14 +117396,14 @@ kAG pdc xzp iSf -dBw +faV +iDt +iDt +iDt +iDt iDt iDt iDt -xMq -xMq -xMq -xMq xMq thA thA @@ -115297,11 +117624,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -xMx +iZz +iZz +iZz +fKw +oIv vjh pRZ uYj @@ -115328,11 +117655,11 @@ jvM nTO nTO nTO -nJm +fqG +iDt +iDt +iDt iDt -xMq -xMq -xMq xMq xMq xMq @@ -115552,13 +117879,13 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -lCM +iZz +iZz +iZz +iZz +iZz +fKw +lxY vjh aYQ bLL @@ -115587,8 +117914,8 @@ tmB kCH iDt iDt -xMq -xMq +iDt +iDt xMq xMq thA @@ -115808,11 +118135,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz dLN dLN dLN @@ -115824,10 +118151,10 @@ njJ bEi rVX dqx -pSn -cCF -iAA -wDs +qJC +pzx +bqz +tXM vjh vjh vjh @@ -115842,10 +118169,10 @@ aWV nTO nTO nTO +kXf iDt iDt xMq -xMq thA thA thA @@ -116065,17 +118392,17 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw dLN bml msi njJ pDI -bxX +wdX wzn njJ mZJ @@ -116101,7 +118428,7 @@ cRE eQT iDt iDt -xMq +iDt xMq thA thA @@ -116322,26 +118649,26 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw dLN uCk tAL njJ -lWy +mPp jlG rQx duS lmK rVX fez -lxn -bVY -whz -sbO +rqR +maM +aWo +ddK vjh drP czD @@ -116358,7 +118685,7 @@ rmv eQT iDt iDt -xMq +iDt xMq thA thA @@ -116579,11 +118906,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw dLN sWo kmA @@ -116614,7 +118941,7 @@ iGj nTO nTO nTO -iDt +mbJ xMq xMq thA @@ -116836,11 +119163,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +fKw +iZz vjh sWo njJ @@ -117092,12 +119419,12 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt -iDt -aVq +iZz +iZz +iZz +iZz +fKw +myW vjh sWo njJ @@ -117121,7 +119448,7 @@ eQT eQT eQT nTO -ghx +akn iDt nTO kJw @@ -117349,12 +119676,12 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt -iDt -aVq +iZz +iZz +iZz +iZz +iZz +myW vjh mYi njJ @@ -117606,14 +119933,14 @@ dhq dhq dhq dhq -dhq -iDt -iDt -qXg +iZz +iZz +iZz +bqf vjh vjh vjh -fXP +nZC eQH hDK dqx @@ -117622,7 +119949,7 @@ dqx rXg njJ uTo -dqx +cCG njJ rKs hLk @@ -117642,7 +119969,7 @@ cpe cpe nTO nTO -iDt +mbJ xMq xMq thA @@ -117863,10 +120190,10 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt +iZz +iZz +fKw +fKw aqa oDB nhT @@ -118120,10 +120447,10 @@ dhq dhq dhq dhq -dhq -iDt -iDt -qXg +iZz +iZz +iZz +bqf vjh vjh vjh @@ -118155,7 +120482,7 @@ nTO nTO nTO nTO -iDt +mbJ iDt xMq xMq @@ -118377,11 +120704,11 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt -uEA +iZz +iZz +iZz +iZz +mbq dLN hlE dqx @@ -118393,7 +120720,7 @@ kpH dqx njJ isc -dqx +mEb njJ bsd fBs @@ -118635,10 +120962,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +mBV +iZz +fKw dLN dqx dqx @@ -118671,7 +120998,7 @@ iDt iDt iDt iDt -xMq +iDt xMq thA thA @@ -118892,10 +121219,10 @@ dhq dhq dhq dhq -iDt -iDt -ssu -iDt +iZz +iZz +nxP +iZz dLN rbT mts @@ -118906,13 +121233,13 @@ njJ njJ wRK vjh -twb -pzD +oCo +dFR vjh vjh vjh vjh -ghx +etz ghx ghx ghx @@ -118928,7 +121255,7 @@ iDt iDt iDt iDt -xMq +iDt xMq thA thA @@ -119149,10 +121476,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +mBV +iZz dLN rbT lLN @@ -119166,9 +121493,9 @@ vjh jmc qDD dLN -iDt -iDt -ghx +uqX +adA +etz ghx ghx ghx @@ -119185,7 +121512,7 @@ iDt iDt iDt iDt -xMq +iDt xMq xMq thA @@ -119406,10 +121733,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz dLN dLN dLN @@ -119423,8 +121750,8 @@ vjh dLN dLN dLN -iDt -iDt +fKw +mzl ghx ghx ghx @@ -119663,25 +121990,25 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -jjJ -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +fKw +iZz +iZz +iZz +iZz +oGJ +iZz +iZz +iZz +iZz +iZz +fKw +fKw +iZz +mzl ghx ghx ghx @@ -119693,9 +122020,9 @@ ghx ghx ghx iDt -xMq -xMq -xMq +iDt +iDt +iDt xMq xMq xMq @@ -119920,25 +122247,25 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +mzl ghx ghx ghx @@ -119950,7 +122277,7 @@ ghx ghx ghx iDt -xMq +iDt xMq xMq xMq @@ -120177,25 +122504,25 @@ dhq dhq dhq dhq -iDt -iDt +iZz +iZz dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +mzl ghx ghx ghx @@ -120438,21 +122765,21 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +mzl ghx ghx ghx @@ -120695,21 +123022,21 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +mzl ghx ghx ghx @@ -120829,7 +123156,7 @@ oSU szG szG iDt -daZ +tla iDt szG oSU @@ -120958,16 +123285,16 @@ dhq dhq dhq dhq +iZz +iZz +iZz +iZz +iZz dhq dhq dhq -dhq -dhq -dhq -dhq -dhq -dhq -ghx +adA +etz ghx ghx ghx @@ -128257,7 +130584,7 @@ iDt iDt iDt iDt -fIt +bwh oSU oSU oSU @@ -128508,13 +130835,13 @@ oSU oSU oSU xMq -cbu +wUm iDt iDt iDt iDt -iLP -fIt +gwW +bwh oSU oSU oSU @@ -128765,13 +131092,13 @@ oSU iDt iDt xMq -cbu +wUm iDt iDt iDt iDt mrI -fIt +bwh oSU oSU oSU @@ -129020,15 +131347,15 @@ oSU oSU iDt iDt -jZN -rcY +xYQ +aKb iDt iDt iDt iDt iDt scw -fIt +bwh oSU oSU oSU @@ -129283,9 +131610,9 @@ iDt iDt iDt iDt -qjs -fIt -fIt +hWz +bwh +bwh oSU oSU oSU @@ -129534,16 +131861,16 @@ oSU iDt iDt iDt -jZN -rcY +xYQ +pJm iDt iDt iDt iDt iDt iDt -fIt -fIt +bwh +bwh oSU oSU oSU @@ -129689,10 +132016,10 @@ dhq dhq dhq dhq -iZz -iZz -iZz -iZz +iDt +iDt +iDt +iDt ghx ghx ghx @@ -129800,8 +132127,8 @@ iDt iDt iDt iDt -fIt -fIt +bwh +bwh oSU oSU oSU @@ -129947,8 +132274,8 @@ dhq dhq dhq dhq -iZz -iZz +iDt +iDt ghx ghx ghx @@ -130058,7 +132385,7 @@ iDt iDt iDt iDt -fIt +bwh oSU oSU oSU @@ -130204,7 +132531,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -130314,6 +132641,8 @@ xMq xMq xMq xMq +iDt +iDt xMq xMq oSU @@ -130425,8 +132754,6 @@ oSU oSU oSU oSU -oSU -oSU "} (192,1,1) = {" dhq @@ -130572,11 +132899,11 @@ oSU oSU oSU oSU -oSU -oSU -oSU -oSU -oSU +iDt +scw +scw +scw +xMq oSU oSU oSU @@ -130830,11 +133157,11 @@ oSU oSU oSU oSU -oSU -oSU -oSU -oSU -oSU +iDt +scw +wme +scw +xMq oSU oSU oSU @@ -131087,11 +133414,11 @@ oSU oSU oSU oSU -oSU -oSU -oSU -oSU -oSU +xMq +iDt +scw +scw +xMq oSU oSU oSU @@ -131345,8 +133672,8 @@ oSU oSU oSU oSU -oSU -oSU +xMq +xMq oSU oSU oSU @@ -132765,8 +135092,8 @@ dhq dhq dhq dhq -iZz -iZz +iDt +iDt ghx ghx ghx @@ -133022,7 +135349,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -133279,7 +135606,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -133536,7 +135863,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -159373,7 +161700,7 @@ rex rNc icu rOB -rcx +dKk ksi sJH lwR @@ -159614,17 +161941,17 @@ thA thA thA thA -oif -eJf +gFX +pFv eJf eJf -keu +faL eJf eJf eJf lwR sJH -irM +gps veK tUC fjQ @@ -159633,10 +161960,10 @@ xuB jkn jkn iyE -ncO -vAj +qAP +cHA lwR -iDt +mbJ scw iDt iDt @@ -160147,7 +162474,7 @@ drD jkn jkn sEq -vZS +boU aez sEq scw @@ -160401,7 +162728,7 @@ sJH oLs xaV diV -ebK +uJi uzs sJH tUK @@ -161658,7 +163985,7 @@ thA thA thA thA -thA +lGf thA thA gjq @@ -161939,7 +164266,7 @@ gjq gjq gjq bOz -aVp +ouq icB sGE diV @@ -162171,8 +164498,8 @@ thA thA szG szG -oif -thA +gFX +lGf gjq gjq gjq @@ -163199,13 +165526,13 @@ szG szG myZ eJf -keu +faL eJf eJf eJf eJf -oif -szG +gFX +wjA gjq gjq gjq @@ -163461,14 +165788,14 @@ gjq gjq gjq gFX -szG +wjA szG gjq gjq gjq -mTW +ocS gjq -mTW +ocS gjq gjq gjq @@ -163698,14 +166025,14 @@ thA iLh jqj aiA -wVq +msu dcW kjt -mUz +wGZ kUU hSt tKq -sGM +fqM haD lrz iLh @@ -163737,24 +166064,24 @@ gjq gjq gjq gjq -keu +faL eJf cMk yep cMk eJf -keu +faL eJf eJf eJf eJf -keu +faL eJf eJf eJf eJf -oif -iDt +gFX +mbJ pfw thA thA @@ -163953,7 +166280,7 @@ thA thA thA iLh -gAd +tkT ukd iLh aBX @@ -163968,7 +166295,7 @@ iLh iLh iwS iwS -sbf +mbJ scw iDt scw @@ -164216,16 +166543,16 @@ ini dwo eKN oQt -ydH +hTI wUu xrs iLh vad -kMP +wjP wMw hoZ iwS -iDt +ixl iDt iDt iDt @@ -164236,7 +166563,7 @@ gjq gjq gjq gjq -mUf +daO aFG hZe xuo @@ -164470,14 +166797,14 @@ iLh hYb iLh iLh -fGJ +xvd nAg fkt oQt xrs ilD iLh -pog +hIW qPs xCr wds @@ -164500,14 +166827,14 @@ nia sjb hpM sjb -eJf +pFv eJf eJf uBy -gQe -gQe -gQe -nzG +avs +avs +avs +aGR eJf gjq gOU @@ -164719,7 +167046,7 @@ thA thA thA iDt -kcW +thA ivF ivF xUF @@ -164734,8 +167061,8 @@ iLh iLh iLh iLh -xkH -oeB +qPb +jSN qxI sTh qMo @@ -164744,27 +167071,27 @@ cCb iDt iDt scw -oif -eJf +gFX +pFv eJf -keu +faL eJf pfg sjb -khF +gRg oFZ -jVx +cew wQr kvf sjb gjq gjq gjq -mrI +bUS scw jAv scw -gem +kNC eJf gjq gOU @@ -164980,8 +167307,8 @@ iDt snd kkA erw -wrl -aOa +abQ +cGS uhb aSC cQi @@ -164990,13 +167317,13 @@ ivF sqb gVm iwS -iJM -dNl -qxI +wPJ +qVK +bpq qxI rVC qMo -iDt +scw iDt ijY iDt @@ -165008,7 +167335,7 @@ gjq gjq gjq sjb -sjx +xDj xgO rHk wQr @@ -165247,13 +167574,13 @@ ivF pcc fdX iwS -iJM -dNl -qxI +xdh +otf +bYR qxI coT qMo -iDt +scw iDt iDt iDt @@ -165268,8 +167595,8 @@ sjb qEu jIX sgV -vpl -tQE +cEl +rES vSi qLm qLm @@ -165277,7 +167604,7 @@ qLm vSi bie bie -vzI +cMk bie bie cMk @@ -165288,11 +167615,11 @@ cMk eJf eJf eJf -keu +faL eJf eJf -oif -pfw +gFX +rYA ebd iDt iDt @@ -165494,8 +167821,8 @@ scw snd hJp hby -czz -xYr +nxY +fHV jwB bIo nit @@ -165505,13 +167832,13 @@ iwS iwS iwS iwS -oqj -kTX +tiX +ogu iJL dwI qMo iDt -iDt +scw iDt iDt ebd @@ -165525,17 +167852,17 @@ cum mzr bgU quY -nbU +fvj vSi vSi vdb mzu rDn vSi -tKf -lkY +tEO +qDA kZu -qmT +bKE vpc kZu aYM @@ -165758,9 +168085,9 @@ tHX nit eZK ivF +smp +hkI ktp -lIU -xrL iwS sFd iuH @@ -165772,7 +168099,7 @@ gJK iwS wkB iDt -jZN +xYQ gjq gjq gjq @@ -165786,8 +168113,8 @@ jzy pve xjZ bGP -mIT -gsF +hqv +sYz vSi kZu uOf @@ -166003,13 +168330,13 @@ gjq gjq gjq gjq -nfG -qbU +ppY +wEu ivF jwH jwH jwH -jHV +pLS aLz jul oRE @@ -166039,7 +168366,7 @@ sjb puX uig hPK -ukv +ilz pve hEm ksn @@ -166264,7 +168591,7 @@ gjq scw hyj slX -kwT +oXx ceY kbq sLR @@ -166279,9 +168606,9 @@ nlO nlO gwz nMH -ciH +jHh iwS -fpC +gDh szX qMo iDt @@ -166294,7 +168621,7 @@ gjq sjb wQr wQr -pcj +cxI wVe wQr vSi @@ -166518,7 +168845,7 @@ gjq gjq gjq gjq -qsq +gpo ivF ivF ivF @@ -166529,11 +168856,11 @@ jnR jnR ivF ivF -nRx +eat pEg uyW iwS -kDm +lJg ePn oDV iqn @@ -166549,22 +168876,22 @@ gjq gjq gjq iYt -dbi -unM +slh +dhV lNH bit iQK kXr hVI gDN -pZD -uhs +hSe +nyR pve vSi kZu pAT -xlQ -lCA +lYd +jCV kZu jrQ qud @@ -166575,7 +168902,7 @@ hFL hFL nWH gnh -iDt +mbJ iDt iDt iDt @@ -166780,11 +169107,11 @@ gjq iDt iDt iDt -mdV +iDt scw scw iDt -xdY +thA iwS iwS iwS @@ -166796,7 +169123,7 @@ iwS iwS iwS iwS -dYq +lRn qMo iDt scw @@ -166806,16 +169133,16 @@ gjq gjq gjq dLf -vfg -bQA -hKT +iem +xug +rTZ cHZ gaq kXr oGF ksn -pZD -ghQ +nJL +kUD kUD kUD nWH @@ -166824,8 +169151,8 @@ nWH nWH nWH mHe -dAq -adm +sPE +ceF dTF nWH qeP @@ -166987,21 +169314,21 @@ thA thA thA thA -kSw +fIt xMq xMq xMq xMq xMq -kSw +fIt cek cek uCN cek cek cek -kSw -thA +fIt +sGw thA thA thA @@ -167055,7 +169382,7 @@ thA iwS rBM iwS -iDt +nyh scw gjq gjq @@ -167063,16 +169390,16 @@ gjq gjq gjq dLf -vfg -ajw +gYd +vRn rty lNH eMa hrJ wmT gDN -lvT -wSX +bGn +kUD kUD kUD nWH @@ -167311,7 +169638,7 @@ thA thA scw scw -xUw +scw iDt gjq gjq @@ -167320,17 +169647,17 @@ gjq gjq gjq dLf -vfg -ajw -vjM +mGH +eOJ +vAr bff lNH kix aOf yaD -wmb -lEt -eMO +vvU +mtV +itf nWH nWH oha @@ -167507,15 +169834,15 @@ hPs gBX gBX gBX -ktt +hPs hPs nDE nDE nDE nDE nDE -bUp -gjq +nDE +paw gjq gjq gjq @@ -167562,15 +169889,15 @@ gjq gjq thA thA -gqG -thA +psb +lGf thA -gqG -myZ +psb +eAW myZ myZ -gqG -gjq +psb +fhL gjq gjq gjq @@ -167578,9 +169905,9 @@ gjq gjq iYt tDU -mod +hcT bQA -eIU +ajw wUP hrJ siI @@ -167603,7 +169930,7 @@ whb xjC nWH gnh -iDt +mbJ iDt ulj iDt @@ -167769,7 +170096,7 @@ jlF jNf dpC cGQ -oNW +txX nmr hVY gjq @@ -167836,8 +170163,8 @@ gjq jpS kNW kNW -wxp -wxp +ryl +xNh kNW kNW kNW @@ -167849,7 +170176,7 @@ nWH nWH nWH nWH -tCO +eSA jRd sbU nWH @@ -168018,8 +170345,8 @@ thA xMq iDt oqL -ucD -eaw +wmP +vTq jsp wSz nFU @@ -168103,18 +170430,18 @@ pZD cQw gLF wpx -unT -iAp -til +gLF +gee +kVN naq mzu gLF -unT +gLF dZq cvB tzE -gMw -ggv +pLh +eHo rsY urG iDt @@ -168310,7 +170637,7 @@ rVB rVB rVB qQf -gjq +fhL gjq gjq gjq @@ -168529,11 +170856,11 @@ thA thA thA thA -kSw -iDt +fIt +nbB ktt -njf -rBy +tmy +lvU fAV tGs obv @@ -168590,8 +170917,8 @@ gjq gjq gjq gjq -jXc -eJf +psb +hYM eJf psb myZ @@ -168789,13 +171116,13 @@ thA xMq iDt hPs -eSE -mVI -elU -nZi +bVT +nPS +cKy +mLX tWO jNf -tXd +pSA qSo cPE cPE @@ -168865,7 +171192,7 @@ gjq jpS kuC kII -nmu +rRn clz mml kNW @@ -168887,7 +171214,7 @@ rsY qjV qjV rsY -vek +hNn iDt iDt iDt @@ -169052,7 +171379,7 @@ bCp fYi tCL jNf -wcz +wSC hKI fWe ozX @@ -169077,8 +171404,8 @@ ucN iDt iDt qQf -kxZ -mES +ouK +vkC sXk rJz pFV @@ -169104,8 +171431,8 @@ gjq gjq gjq gjq -eFw -eJf +psb +bZC eJf psb myZ @@ -169146,7 +171473,7 @@ aIB aIB dNN psb -iDt +fXL sVN iDt psb @@ -169306,7 +171633,7 @@ hPs xLV xLV nvE -uKJ +vcx tCL jNf fDP @@ -169321,7 +171648,7 @@ gjq wUj qLB jpy -vXe +cgB ssY wUj gjq @@ -169329,7 +171656,7 @@ ucN cXZ cVk gFj -vZH +vtR kgz iDt iDt @@ -169381,7 +171708,7 @@ jpS jlK jpS szJ -iKp +nvy kNW rrV xGt @@ -169394,17 +171721,17 @@ uUT vgD lvQ sUE -sdc -mPq +rsY +jcA scw -qau +jai iDt iDt iDt iDt iDt wOR -xuo +txm itY iDt thA @@ -169593,7 +171920,7 @@ iDt qQf sEk qQf -uxZ +aPZ dBp jZe qYb @@ -169634,9 +171961,9 @@ iDt iDt ijY iDt -iDt -iDt aEM +iDt +jpS gKd gKd rsY @@ -169644,7 +171971,7 @@ hdb avh qGg uUT -fyT +ccv lQh diI uUT @@ -169660,7 +171987,7 @@ iDt cCb scw iDt -xuo +ohI tZp iDt iDt @@ -169815,8 +172142,8 @@ iDt iDt iDt oqL -gLY -twx +iCp +wes ldz fvK cIc @@ -169828,8 +172155,8 @@ jNf jNf jNf jNf -xZg -iDt +xhK +kXf iDt iDt wUj @@ -169850,13 +172177,13 @@ ijY qQf qQf qQf -uPx +rIz cfi -pjz +bGS qQf qQf qQf -pfw +gVN scw iDt iDt @@ -169868,7 +172195,7 @@ iDt iDt iDt iDt -nfG +ppY iDt iDt iDt @@ -169897,9 +172224,9 @@ rcY iDt iDt rsY -mqs +avi dTs -oeP +cxt uUT kmO rtR @@ -169911,16 +172238,16 @@ qQt scw scw iDt -nqv +qau +iDt iDt iDt iDt iDt -jSQ cmZ -xuo +dNN iDt -jZN +xYQ thA thA thA @@ -170072,8 +172399,8 @@ iDt iDt iDt oqL -gvi -xCa +lrM +dnz axX auJ oVy @@ -170113,7 +172440,7 @@ rGq gQp iUG sXe -xuo +vpJ iDt iDt iDt @@ -170132,15 +172459,15 @@ iDt iDt iDt iDt -gqG -scw +psb +mrk iDt -gqG -aIB +psb +leU aIB aIB -gqG -iDt +psb +mbJ iDt iDt iDt @@ -170150,10 +172477,10 @@ iDt iDt iDt cCb -qau -scw +jai +nLB qXg -sdc +rsY rsY czq rsY @@ -170168,8 +172495,8 @@ scw scw iDt scw -qau -ijY +jai +jwz iDt iDt iDt @@ -170328,8 +172655,8 @@ iDt ijY hPs gBX -oPa -cjz +hPs +tcL vdW sTP jhH @@ -170347,7 +172674,7 @@ iDt ijY pfw wUj -dtq +pYn jeJ aFg vwl @@ -170368,11 +172695,11 @@ qQf ofE awn qQf -mri +rVB qQf -ebd +mCz iDt -nfG +ppY pfw thA thA @@ -170388,7 +172715,7 @@ thA thA thA thA -nfG +ppY iDt iDt iDt @@ -170396,7 +172723,7 @@ iDt scw iDt iDt -iDt +scw iDt iDt iDt @@ -170407,25 +172734,25 @@ iDt iDt iDt iDt -mJZ +qau iDt scw qQt -scw +oIt scw scw iwf uUT -afs -qCY +okc +bzD iwf -tej -tej -tej -tej -tej -tej -kso +wWw +aOG +wWw +wWw +wWw +aOG +qhR iDt iDt iDt @@ -170589,12 +172916,12 @@ dck tei fTF fTF -fTF +dbn cIc uTp oVY pez -ccX +oOg qLg vVH vVH @@ -170607,15 +172934,15 @@ ntl hwu hwu wUj -wwL +vmw wUj vOw -eGW +jEJ dZN eGW uRk dDt -dDt +crf wYh dvw dDt @@ -170644,19 +172971,19 @@ thA thA thA thA -dlu -dlu -dlu -dlu -dlu -dlu -dlu -dlu -qgQ -qgQ -rrl -nmO -ozW +fyI +fyI +fyI +fyI +fyI +fyI +fyI +fyI +pkq +pkq +guO +poC +dXk iDt iDt iDt @@ -170664,7 +172991,7 @@ iDt iDt scw iDt -rcY +qau scw iDt snL @@ -170672,14 +172999,14 @@ scw scw scw nUi -nNy +oTi cbk lNa nUi iDt iDt iDt -jZN +xYQ iDt iDt iDt @@ -170851,21 +173178,21 @@ cIc kqn oVY pez -qsR +anQ aQQ fdm -grU -nKL +eIg +rIH ukN nCs bZk gRZ -kmg +dAZ vOw eGW eGW uRk -dDt +tbl dDt stG ykM @@ -170901,22 +173228,22 @@ thA thA thA thA -dlu -qbM -wvu -wvu -bPR -qbM -wvu -bil +fyI +tKm +eiH +eiH +puZ +tKm +eiH +sTb ijY iDt iDt iDt -kJx +hcZ iDt iDt -jZN +xYQ iDt iDt iDt @@ -170928,11 +173255,12 @@ rxG iDt scw uWE -qzq +iwf iwf qlk qlk iwf +mbJ iDt iDt iDt @@ -170941,8 +173269,7 @@ iDt iDt iDt iDt -iDt -jZN +xYQ iDt thA thA @@ -171111,7 +173438,7 @@ oCU vVH vVH vVH -lDE +ivw nKL hpF pXZ @@ -171158,19 +173485,19 @@ thA thA thA thA -dlu -nEI -wvu -wvu -bPR -nEI -wvu -bil -iDt +fyI +aGb +eiH +eiH +puZ +aGb +eiH +sTb +scw iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -171368,7 +173695,7 @@ bLc diN diN lgK -jqn +vlH lWb eDq tDY @@ -171377,10 +173704,10 @@ izY eND qpB qpB -jLB +eIU qpB qpB -siv +sfF kRy qpB iwC @@ -171415,19 +173742,19 @@ thA thA thA thA -dlu -wvu -wvu -wvu -bPR -wvu -wvu -bil +fyI +eiH +eiH +eiH +puZ +eiH +eiH +sTb iDt iDt -ayJ +luI iDt -kJx +hcZ iDt iDt iDt @@ -171435,15 +173762,15 @@ iDt iDt iDt iDt -rcY +jai iDt iDt iDt iDt iDt iDt -mJZ -iDt +jai +wkB iDt iDt iDt @@ -171650,7 +173977,7 @@ cBT dyf iOs gKQ -eGW +xAY qQN wMt thA @@ -171672,19 +173999,19 @@ tjo thA thA thA -dlu -rEn -rEn -wvu -ghA -rEn -wvu -idH +fyI +bEk +bEk +eiH +qAh +bEk +eiH +fwC iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -171693,13 +174020,13 @@ ijY iDt iDt syw -kNC -kNC -kNC -tej +aOG +pJm +pJm +wWw fSm -kNC -gIl +aOG +pCG iDt iDt cCb @@ -171871,7 +174198,7 @@ iDt hPs gBX hPs -bSX +jhj pzu sRQ una @@ -171887,15 +174214,15 @@ nKL hpF uHv nup -vYc +pCp dAZ -nek +eRp qKS dUO -rhP +fWQ kkB dUO -nGQ +ylL sSO lyg gjq @@ -171907,8 +174234,8 @@ bqF dyf iNy gKQ -eGW -qQN +okz +okz wMt thA thA @@ -171929,19 +174256,19 @@ tjo thA thA thA -dlu -wvu -wvu -wvu -wvu -wvu -wvu -wvu +fyI +eiH +eiH +eiH +eiH +eiH +eiH +skr iDt iDt iDt iDt -qSi +kOR scw iDt scw @@ -171951,8 +174278,8 @@ iDt scw scw iDt -rDN -sEv +fep +edc scw scw iDt @@ -171960,7 +174287,7 @@ iDt iDt iDt iDt -jZN +xYQ xMq thA thA @@ -172139,12 +174466,12 @@ pez tVf izn lgK -pfn +wrw lWb eDq iXh lWb -hRp +upB dAZ wqI xSn @@ -172164,8 +174491,8 @@ seA ybN seA gKQ -jSL -jSL +jhi +jhi wMt thA thA @@ -172186,17 +174513,17 @@ tjo thA thA thA -dlu -ncx -kYN -wvu -wvu -rzY -kYN -wvu -ayJ -iDt -iDt +fyI +tjM +fsx +eiH +eiH +upU +fsx +skr +eGV +scw +scw iDt iDt scw @@ -172206,11 +174533,11 @@ scw scw scw scw -oJD -oJD +nKY +nKY scw -sed -nfG +eFH +ppY scw iDt iDt @@ -172401,7 +174728,7 @@ yiL yiL yiL eDq -pDl +ejb dAZ emM wob @@ -172443,19 +174770,19 @@ tjo thA thA thA -dlu -wvu -wvu -wvu -wvu -wvu -wvu -wvu +fyI +eiH +eiH +eiH +eiH +eiH +eiH +skr iDt iDt iDt iDt -qSi +kOR scw scw scw @@ -172463,9 +174790,9 @@ iDt scw scw scw -kYo -oJD -oJD +dVN +nKY +nKY scw scw aRt @@ -172641,7 +174968,7 @@ xMq iDt iDt ebd -ktt +hPs gBX hPs cIc @@ -172657,15 +174984,15 @@ uBs uBs uBs xaH -fCd +erM nDp -ubo +uFg lgD nDp -gqZ +mtS vms nDp -dwS +tlt vms iYU nZd @@ -172700,19 +175027,19 @@ tjo thA thA thA -dlu -xxH -xxH -wvu -jkK -xxH -wvu -mhj +fyI +fgV +fgV +eiH +gLX +fgV +eiH +oAm iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -172720,11 +175047,11 @@ iDt iDt iDt iDt -kYo -rIS -kYo -kYo -kYo +dVN +yib +dVN +dVN +dVN iDt scw thA @@ -172914,7 +175241,7 @@ xuA tuc pPK yiL -aVF +gwl rQZ bSk uQC @@ -172923,18 +175250,18 @@ bcm uQC nSk wQR -kWH -vao +lEM +oVD lyg gjq gjq gjq ncR -eBU -ile +uyo +epN dyf -ile -neC +nnj +sWN gKQ thA thA @@ -172957,30 +175284,30 @@ tjo thA thA thA -dlu -wvu -wvu -wvu -bPR -wvu -wvu -bil -iDt +fyI +eiH +eiH +eiH +puZ +eiH +eiH +sTb iDt -ayJ +scw +luI iDt -kJx +hcZ iDt iDt iDt -daZ +tla iDt iDt -kPz -kYo -kYo -kYo -kYo +iNo +dVN +dVN +dVN +dVN iDt iDt iDt @@ -173171,7 +175498,7 @@ xuA tuc tuc yiL -pRB +sBH cGl hgM pJu @@ -173183,14 +175510,14 @@ frS fiL hQt lyg -gjq +fhL gjq gjq wYP tDN -tpK +bPl dyf -xCb +bOh gDe gKQ thA @@ -173214,25 +175541,25 @@ tjo thA thA thA -dlu -nEI -wvu -wvu -bPR -nEI -wvu -bil -iDt +fyI +aGb +eiH +eiH +puZ +aGb +eiH +sTb iDt iDt +scw iDt -kJx +hcZ iDt iDt iDt iDt iDt -kPz +iNo thA thA thA @@ -173412,8 +175739,8 @@ xMq xMq xMq xMq -kSw -iDt +fIt +nbB xhK vVH vVH @@ -173425,7 +175752,7 @@ yiL vDx cxO xuA -dkB +wkd bYg yiL qLD @@ -173445,9 +175772,9 @@ gjq gjq idN ntT -xUR +mtq jbI -oQN +bqS xtn gKQ thA @@ -173471,19 +175798,19 @@ tjo thA thA thA -dlu -qbM -wvu -wvu -bPR -qbM -wvu -bil +fyI +tKm +eiH +eiH +puZ +tKm +eiH +sTb iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -173685,8 +176012,8 @@ pgL lab cbz yiL -iVu -rnb +fnt +fJZ hgM kyu hBg @@ -173702,9 +176029,9 @@ gjq gjq onJ mvv -ile -oTe -cAz +bfV +aUo +rth dEv gKQ thA @@ -173728,21 +176055,21 @@ tjo thA thA thA -dlu -dlu -dlu -dlu -dlu -dlu -dlu -dlu -iDx -rrl -iDx -iDx -fQa +fyI +fyI +fyI +fyI +fyI +fyI +fyI +fyI +jnW +uPY +jnW +jnW +kAk iDt -daZ +tla iDt iDt thA @@ -173939,11 +176266,11 @@ yiL agF tgP rGh -vHM +iJE wyF yiL -szz -nrq +cVV +dhi hgM kyu nrF @@ -174008,7 +176335,7 @@ thA thA thA xMq -nfG +ppY iDt iDt iDt @@ -174183,8 +176510,8 @@ gjq gjq gjq gjq -kSw -iDt +fIt +nbB xhK oAP oua @@ -174199,8 +176526,8 @@ yiL yiL yiL yiL -xHE -xHE +nEC +lOr hgM fvO mBa @@ -174252,10 +176579,10 @@ iDt iDt iDt iDt -aaD +vcj wqT -aaD -iDt +vcj +mbJ iDt iDt iDt @@ -174448,11 +176775,11 @@ swf vVH uVC oVY -rwu +tGJ tVf wRa gAn -hgH +qNK nmI kZi uME @@ -174466,7 +176793,7 @@ xhK xhK xhK xhK -gjq +paw gjq gjq gjq @@ -174510,7 +176837,7 @@ iDt iDt iDt alW -wVz +dpw alW iDt iDt @@ -174703,13 +177030,13 @@ xhK vVH fkV vVH -kqn +wEp oVY sMs tVf wJi rME -bol +xvI mMy uME uME @@ -174767,11 +177094,11 @@ iDt iDt vcj vcj -tLc +aDc vcj vcj aVq -daZ +tla iDt xMq thA @@ -174966,7 +177293,7 @@ bWh pac hUz hUz -bjp +tGA bjp poe ryu @@ -175031,7 +177358,7 @@ aVq iDt iDt iDt -nfG +ppY iDt iDt ebd @@ -175214,7 +177541,7 @@ gjq gjq gjq upw -msg +pcT jDG iRV fiD @@ -175232,7 +177559,7 @@ ihB ddp hBg nzj -dKr +rjd pOk par rsM @@ -175539,10 +177866,10 @@ ijn vWz vWz swq -eNS +vWz vcj -aaD -qtS +vcj +dCq iDt iDt iDt @@ -175796,8 +178123,8 @@ sIO wDG vyg dOq -kOS -uMq +gLU +wVz nul scw scw @@ -176052,11 +178379,11 @@ vcj igL vWz vWz -dOq +bFx vWz vcj -aaD -xQu +vcj +tsc iDt xMq thA @@ -176065,7 +178392,7 @@ xMq xMq thA xMq -nfG +ppY iDt iDt iDt @@ -176312,7 +178639,7 @@ iyd vlZ gCh alW -nfG +ppY iDt xMq xMq @@ -176330,11 +178657,11 @@ iDt iDt iDt iDt -nfG +ppY iDt iDt iDt -nfG +ppY xMq thA thA @@ -176767,14 +179094,14 @@ wRa wRa wRa vVH -nRO +tOE ulz ulz ulz pNm -eOz +cLp fdG -uCU +saX gjq gjq gjq @@ -177024,7 +179351,7 @@ wRa wRa wRa vVH -nCQ +kUt pKR ejX fjG @@ -177338,7 +179665,7 @@ scw scw scw scw -nfG +ppY iDt iDt thA @@ -177356,8 +179683,8 @@ nxM vmP maQ oAe -aUD -xMq +nxM +fCm thA thA thA @@ -177610,7 +179937,7 @@ thA thA thA mep -upa +kVI qck lkz mep @@ -177849,14 +180176,14 @@ scw scw iDt thA -gqG -thA +psb +lGf thA thA -gqG -scw -gqG -iDt +psb +mrk +psb +mbJ thA gjq gjq @@ -177867,9 +180194,9 @@ thA thA nxM nxM -qKH +vmP eVO -aUR +oAe nxM nxM nxM @@ -178088,7 +180415,7 @@ thA thA thA thA -rcY +aKb iDt iDt xMq @@ -178101,7 +180428,7 @@ gjq gjq gjq gjq -nfG +ppY scw thA thA @@ -178345,8 +180672,8 @@ thA thA thA thA -mJZ -iDt +bmc +wkB iDt scw scw @@ -178392,7 +180719,7 @@ thA thA thA thA -nfG +ppY iDt iDt scw @@ -178567,7 +180894,7 @@ ovP ovP ovP gFX -ovP +iXc ovP ovP ovP @@ -178606,12 +180933,12 @@ chg iDt scw scw -xpO -gNu -gNu -gNu -gNu -oZk +bqq +mgS +mgS +mgS +mgS +jRX gjq gjq gjq @@ -178823,7 +181150,7 @@ ovP ovP iDt scw -gbz +scw ovP ovP ovP @@ -178859,17 +181186,17 @@ thA thA thA iDt -rcY +bmc +pwr scw -scw -xpO -gRE -nYR -hog -hog -joW -aqq -oZk +bqq +uvA +pvi +uhF +uhF +gyg +kOM +jRX gjq gjq gjq @@ -178914,7 +181241,7 @@ iDt bID vxf noX -eNQ +nKw bID iDt thA @@ -179116,17 +181443,17 @@ thA thA thA iDt -rcY +aKb scw xMq -anI -lLR +kuZ +pBR eYX sCZ sCZ -qMO -dVj -anI +oDD +oUh +kuZ gjq gjq gjq @@ -179138,10 +181465,10 @@ bDO xMq xMq iDt -gqG -scw -gqG -thA +psb +mrk +psb +lGf thA thA thA @@ -179164,13 +181491,13 @@ xMq iDt iDt iDt -nfG +ppY iDt iDt -nfG +ppY bID bID -dmR +sSN bID bID thA @@ -179377,22 +181704,22 @@ xMq xMq xMq exw -nwC +fcA syE -hcj -hcj -fat -tqr +jaE +jaE +wPx +cUS exw -vDQ +bBO gjq gjq -wkV -kNC -jTf -jTf -gqG -szG +mxK +pJm +aOG +wWw +psb +wjA xMq xMq iDt @@ -179634,20 +181961,20 @@ exw exw exw exw -wwg +abJ bdr -jUv -jUv -xOV -scr +pme +pme +aon +jjI exw exw -gNu -gNu +mgS +mgS exw mPq iDt -neM +cRN qau xMq xMq @@ -179681,7 +182008,7 @@ iDt cCb iDt iDt -nfG +ppY bID anZ anZ @@ -179888,24 +182215,24 @@ iDt iDt xMq exw -jiD -utn -vnK -cCT +caA +mty +urQ +sQI bdr -jUv -jUv -xOV -vhA -oYw -kRD -rJX -mgy -sIX -nrh -iDt -neM -qau +pme +pme +aon +ojy +oGC +lQv +nVx +qes +xOQ +xyr +iDt +cRN +jai xMq xMq iDt @@ -180145,27 +182472,27 @@ xMq xMq xMq exw -cmg -qrF -ncd -dNk -grO -iFQ -iFQ -bon -hFX -ave +xiL +xlm +xLT +jgV +qlE +mNB +mNB +pyA +nrJ +onT exw -aBb -myS +hjc +jiw exw -dNN +xvN iDt iDt qau iDt iDt -nfG +ppY iDt scw iDt @@ -180401,16 +182728,16 @@ xMq xMq xMq xMq -exw -quw -xJW -ncd -erE -mYn -mYn -byy -mYn -wPR +uVb +qJB +mqd +xLT +wDb +oZG +oZG +rZY +oZG +eSC exw exw exw @@ -180419,15 +182746,15 @@ exw mPq iDt iDt -xlp +qau scw -fna +wJy iDt iDt iDt iDt eXH -gGK +jvU bjU aJr vHZ @@ -180659,32 +182986,32 @@ sBy sBy sBy exw -qre -oZD -lHI +ghD +lKN +fLu exw -rEt -iif +xKq +iXO exw -ogu -pOK -kPY -hWv +dXp +aqr +wOt +fHO urG -neM +cRN iDt scw iDt -neM -qau -iZm -fdP +cRN +jai +nbz +vyp iDt iDt scw iDt eXH -rwk +hZJ izJ gVO vjS @@ -180911,31 +183238,31 @@ thA xMq sBy sBy -dQp -rRu -xBs -lCv +dpb +loF +ikL +cLR exw -hPS -cYe -wSL +jJl +daH +oLi exw mpU mpU -tjA -hAK -pOK -txv -hWv +bHJ +iHP +aqr +uMp +fHO urG -neM +cRN iDt iDt scw -neM +cRN qau iDt -kRF +tiT iDt scw iDt @@ -180954,7 +183281,7 @@ nRc nRc bCt pHD -djB +tOb hjM oex oex @@ -181167,21 +183494,21 @@ thA xMq xMq sBy -qTp -xTi -bpc -cag -cVW +xNs +hZc +tZv +kKT +iAK exw -fBJ -fte -mkr +hTY +dQy +oPm exw -tmb -tmb +pPg +pPg exw -wME -tbd +obU +pvP exw exw gFX @@ -181190,7 +183517,7 @@ iDt scw scw oZd -kso +qhR scw iDt iDt @@ -181424,29 +183751,29 @@ thA xMq xMq sBy -ghT -pXy -nqI +gYv +rFU +qyH sBy -fbg +dbO sBy sBy exw exw -bwh -lyP -iDv -jMD +exw +cGZ +uAP +fNB sCZ -obT -ozx +eSC +ggz exw xMq psb jTf -jTf -ork -gIl +wWw +uen +hoz iDt iDt cCb @@ -181455,7 +183782,7 @@ scw iDt iDt eXH -nlN +iIY nlS yco rVd @@ -181681,22 +184008,22 @@ thA xMq xMq sBy -kzU -vxY -sRf +oiM +qrB +lRO sBy -rZP -fkd -fbW +lom +ete +laa exw exw exw -jQM -etr -ekc -leg -oIQ -inN +nwA +tPT +kiO +iTr +rds +xQi exw xMq psb @@ -181731,7 +184058,7 @@ xmx wEU rwD nxM -dXF +xnK pNZ rQG jJV @@ -181938,22 +184265,22 @@ xMq xMq xMq sBy -azI -kSj -lyf +oHf +lOJ +eqE sBy -eFf -quJ -quJ -wGQ -nBZ +sTL +idI +afb +bng +suF exw -tie -rxV -hjw -xFT +gbK +shF +qPV +wZW exw -bor +eXD exw psb psb @@ -181965,11 +184292,11 @@ scw btU xUf syW -jmJ +sCz hVX xUf eXH -irO +uIJ wiv fBw mLt @@ -181977,10 +184304,10 @@ mLt eKW wsu wsu -wsu -wsu -wsu -wsu +xfv +urp +urp +bFW pHD sGk hjM @@ -181988,7 +184315,7 @@ aJw sBJ qpD nxM -qhp +feD nxM nxM pBW @@ -182196,23 +184523,23 @@ xMq qMT qMT qMT -qon +qaS qMT qMT -rZP -quJ -quJ -jZc -nBZ +lom +idI +iMb +xIO +tGE exw -tec -phr -aTk -tec +aOb +xEX +tGz +aOb exw -mxY -xOd -ubi +rgq +sCb +grp psb xMq iDt @@ -182220,7 +184547,7 @@ iDt iDt iDt ioK -vtW +tqy bja jvw jvw @@ -182234,10 +184561,10 @@ qcL plS pHD pHD -eUe -bCq -bCq -fPh +hNq +vIu +vIu +kSG pHD jKG hjM @@ -182451,24 +184778,24 @@ thA xMq xMq qMT -jlv -emw -rqG -bOZ -gGS -rZP -quJ -imI +hfs +bMk +mxR +tHb +kuq +lom +idI +tJh qMT exw exw -pLu -tnJ -dJF -rzq +hZW +aIn +xwi +cft exw exw -bpa +rJc psb psb iDt @@ -182477,11 +184804,11 @@ iDt scw iDt ioK -jEA +jDz bja -rlA +czj jvw -bja +gIJ kRH xqY nzK @@ -182491,10 +184818,10 @@ fmr plS pHD pHD -qMz -imV -fuS -plS +hNq +qpo +qpo +kSG pHD qMz hjM @@ -182505,7 +184832,7 @@ nxM nxM nxM nxM -mPO +aRn hjM rgE rgE @@ -182708,25 +185035,25 @@ xMq xMq xMq qMT -dEc -ygy -nfK -wTl -sWS -ydv -aBj -sLm -dTx +vVl +umM +cXI +oJo +iQY +dHi +pSq +oHR +iZC exw -jbB -qfI -kcw -mXW -gAw -ktq +rEq +dFi +cRC +jbq +wNj +xTN exw -phl -ubi +wzH +grp psb iDt iDt @@ -182736,7 +185063,7 @@ scw btU btU btU -qbG +aoP ako hjM hjM @@ -182748,10 +185075,10 @@ hjM hCC iXP pHD -woC +bSi eXH eXH -ida +qYF pHD qMz hjM @@ -182952,7 +185279,7 @@ tjo tjo tjo tjo -luR +riW iDt tjo thA @@ -182965,35 +185292,35 @@ xMq xMq xMq qMT -izU -nYN -iDK -nYN -gGS -ydv -oru -dtc -sXU -rbU -nLd -nLa -gnE -gnE -qHs -wIx +dOp +wFJ +xQj +wFJ +kuq +dHi +wgK +jSa +fZH +iGQ +gnJ +amz +hOG +hOG +sIl +qPc exw -phl -cem +wzH +nYz psb iDt iDt -nfG +ppY iDt -scw +gFX btU -kCR +vfZ btU -ocp +mSX dYr nxM dTm @@ -183021,7 +185348,7 @@ nxM nxM nJd hjM -qII +iYd tVA oiO rgE @@ -183209,7 +185536,7 @@ tjo tjo tjo tjo -nlA +vne iDt tjo thA @@ -183223,23 +185550,23 @@ qMT qMT qMT qMT -kJG -eeY -ipg -mlN -rZP -lyU -pMh -aAy -rbU -nLd -ivp -gnE -gnE -kPh -dZL +hZb +vKR +gVV +dnn +lom +phz +cps +fMC +iGQ +gnJ +qFO +hOG +hOG +oMj +wVd exw -phl +wzH fuH psb iDt @@ -183247,11 +185574,11 @@ iDt iDt iDt btU -btU -sGf -lca -uTf -dYr +gCV +gcU +svx +tNw +mdy nxM nxM nxM @@ -183259,9 +185586,9 @@ hjM hjM hjM hjM -dsT +oEy vaZ -ubI +bQx hOk hjM hjM @@ -183279,7 +185606,7 @@ mco upa hjM fjg -bif +rxx nCD rgE rgE @@ -183477,35 +185804,35 @@ thA thA xMq qMT -jFY -wVI -aVJ -keM -ePZ -mRv -rZP -qal -oru -vXM -gYk +hmF +mIs +aZU +hMZ +gVB +axw +lom +xqt +wgK +fkD +toi exw -pSX -rdv -gNw -aUq -aIA -hfY +vfH +sRu +iWj +pVD +bsW +dad exw -phl +wzH fuH psb iDt iDt iDt -jCM +aDl btU -idr -qSe +gMd +mxZ aIU umC kJm @@ -183544,7 +185871,7 @@ phS kpG uAi qST -iRP +ngb wrE lKt rgE @@ -183734,39 +186061,39 @@ thA thA xMq qMT -jkN -qeW -quJ -mxh -aBj -klJ -ruQ -klJ -sgz -rlE +flK +gTa +idI +gxg +pSq +kmo +hWl +kmo +jUi +ibJ jre jre jre -oac -sGn -hpK -cNL +pTi +pWJ +ofR +eUm exw exw -bpa +pmA psb psb -olO -olO -olO -rpi +mUt +mUt +mUt +dbB btU -oYm -kht -wqi -tBY -efz -sAI +sry +dMl +pTy +bwp +shR +eGs hjM hjM hjM @@ -183789,7 +186116,7 @@ scw ilN vIZ nxM -bPk +iXK kmM sYU iio @@ -183980,7 +186307,7 @@ iDt iDt iDt iDt -pOl +evh tjo tjo tjo @@ -183991,36 +186318,36 @@ thA thA xMq qMT -bcf -vEC -lvv -efS -aXu -gPB -hEV -djl -bOn +eGB +wUB +nof +gIs +pbF +tdc +sHa +ccL +eLB jre jre -igu +jDV jre jre jre -fWd +tRP jre jre fuH -phl -ubi +wzH +grp psb -csV -mtt -mtt -mtt +oQc +gaA +gaA +gaA btU btU btU -gPj +idU btU btU ako @@ -184235,9 +186562,9 @@ iDt tjo iDt iDt -pOl +evh iDt -edM +sNF tjo tjo tjo @@ -184249,37 +186576,37 @@ thA xMq jre jre -dvZ +rXw jre jre -ydG -qfr -oVr -hFj +piT +eJX +ePj +ppH jre jre -nla -qhV -rhS -rhS -int -kWG -xEP +oXE +jWb +fCA +fCA +iaB +owK +hph jre -pJq -phl -bdX +adS +wzH +dfR psb -uwd -rWh -mtt -hFN +iUr +exu +gaA +ygA btU -nTA +ntm nyQ meL -efo -hJC +pgg +hAU ako hWV iiR @@ -184486,7 +186813,7 @@ tjo tjo tjo tjo -pOl +evh iDt tjo tjo @@ -184506,47 +186833,47 @@ thA xMq xMq jre -uBD -lcm +kyV +thP jre jre -jNe -jNe +weT +weT jre jre -nla -vkO -pjk -eqk -nla -ukt -acG +oXE +pfE +pBv +moX +oXE +xEV +xZS jre jre -gSU -phl -hvi +oDb +wzH +awE psb -hLh -amq -rWh -mtt +xcf +uKc +exu +gaA ioK waH -cWJ -dYX -pps -aRQ +kmq +ebO +jgW +mCx ako rjr xQT xQT qmU xDb -jEf +oGO qnt pGS -dIZ +ixa aRr xDb xMq @@ -184763,37 +187090,37 @@ thA xMq xMq jre -sJu -fWE +tKJ +kya tjs -qFD -qFD -rhS -rhS -wQx -vHe -dZC +jIB +jIB +fCA +fCA +ehh +jPL +oPC jre -vBt +nRE jre jre jre jre -drw -drw -bpa +dom +dom +rJc psb psb -uOz -amq -hai -mtt +qZZ +uKc +jww +gaA ioK -srG -aCl -tHe -tHe -xRF +wYH +jZt +hHz +hHz +hHz ako hSF hSF @@ -184833,7 +187160,7 @@ foW ljL ljL agY -bnG +lub lub wbk ccg @@ -185008,7 +187335,7 @@ iDt iDt iDt iDt -pOl +evh tjo tjo tjo @@ -185020,48 +187347,48 @@ xMq xMq xMq jre -nIY -jwf -cdO -ply -gEt -gwb -tOC -ubp -mUW +eXc +rfQ +gLY +sHt +hzU +usm +tYu +isq +jMr jre jre -vKT -rng -qjd -vyy -oRf +nVJ +xOc +eyP +rtw +rOx fwB -drw -nbl +dom +dXr psb -qnv -amq -wvL -mtt -mtt +lTl +uKc +wcn +gaA +gaA ioK -waH -nHc -nHc -ofm -okf +aOe +pRs +pRs +jcr +nPs ako xDb xDb xDb -rHr +jyJ mrU rQw xEb eVZ jTg -fpp +csu xDb xDb iDt @@ -185078,9 +187405,9 @@ lyX iTB imH nxM -mTX +aXP hjM -qUe +qJi ljL fFn vmu @@ -185279,7 +187606,7 @@ jre jre jre jre -iRS +uTu jre jre jre @@ -185287,29 +187614,29 @@ jre jre jre jre -bvc -rXB -udR -tkY -liv -liv -tkY -jKL -rpJ +lOA +ceQ +rRT +yfs +sTl +sTl +yfs +gTr +jgC psb -uOz -amq -wvL -fDp -csV +qZZ +uKc +wcn +grL +oQc ioK waH -iyF -xyG -jnY -eQU +lSX +bFA +fTi +bWv ako -xuQ +vJl qXO pGS bhw @@ -185323,7 +187650,7 @@ ffQ xDb clI iDt -pco +tJl iDt xMq xMq @@ -185533,40 +187860,40 @@ xMq xMq jre jre -uye -ohk -aAk +hDL +qZG +vmW nNe -xHv -qbY +tgj +mnA jre -nmi -aoi -ssm -fpt +tVF +kUo +iKd +ees mQk -qKw +sdF mQk fwB fwB fwB fwB -drw -qEh +dom +lPs psb -qnv -amq -wvL +lTl +uKc +wcn btU -hlQ +vtu btU -gfy -inP -xMv -wav -pWi +ale +rrR +tzR +qfy +aCw uHV -cqv +cKL gZb xwu cAr @@ -185580,8 +187907,8 @@ hoM xDb xMq iDt -mJZ -frt +aKb +gnX iDt iDt xMq @@ -185789,41 +188116,41 @@ thA xMq xMq jre -iDB -mPQ +kFc +kqg wSs -kfk -wjR -fMu -nla +wfP +uQv +qhb +oXE jre -nMC -fpm -kBO +sRz +tec +vcD jBB mQk -lEn +jUb mQk mQk fwB -nRy +nNg fwB -drw -cQV +dom +aWu psb psb -uOz -wvL -btU -sEI +qZZ +wcn +ioK +pKl btU -poY -hWX -goc +dVj +gra +lHV btU btU ako -goJ +uCM jeI pGS cDb @@ -185832,7 +188159,7 @@ drR oQY oQY soA -pNy +dvK nid xDb xMq @@ -185850,8 +188177,8 @@ sqW gjq nxM ueD -aUD -eJf +nxM +qOx upH fTG hkp @@ -185869,7 +188196,7 @@ bWK bWK neu hjR -vNM +uEf iDt iDt iDt @@ -186046,41 +188373,41 @@ thA xMq xMq jre -wEq -ezd -nla -uxU -bRx -ayY -nla +aMU +xzk +oXE +dYH +rlB +jMO +oXE jre -lHr -fQs -xOi +tAT +btq +nRn mQk mQk -riM +iBi mQk -fLa -eaM -cqs +mbM +oje +gYq fwB -drw -xxo -gcB +dom +fSB +rXP psb -hLh -hai +xcf +jww btU -dzr +jUs btU -xkT -kKk -pWG -btU -kKa +ewT +akN +uii +lOt +oJv ako -wlF +acl lYR pGS cDb @@ -186099,8 +188426,8 @@ iDt iDt scw iDt -gqG -eJf +psb +pFv eJf eJf eJf @@ -186294,7 +188621,7 @@ tjo tjo tjo iDt -pOl +evh iDt iDt thA @@ -186303,36 +188630,36 @@ thA xMq xMq jre -mMI -cBJ -nla -kRj +kGD +eIR +oXE +cqw nNe -ovZ -pGg +hWR +iis jre -lHr -njz -qYC -qOB +dLA +pnw +biu +xZv mQk -bLf -hAS -lJc -xbB -gxz +fja +prX +eud +kww +qPE fwB -drw -xxo -cem +dom +gKE +nYz psb -hai -csV +jww +oQc btU -gCG -cge -dDq -cLf +qYW +dBX +lln +jfF jUB jUB jUB @@ -186340,7 +188667,7 @@ xDb xDb xDb xDb -jCA +gff nLe nQd oeT @@ -186365,9 +188692,9 @@ myZ myZ myZ myZ -gdg +wvF kpC -eMU +cmY vgM syn fDe @@ -186561,47 +188888,47 @@ xMq xMq jre jre -xnf -rdq -aAk +jVp +qhi +vmW nNe -hnK -rXY +hts +hQv jre jre -tWY +oqE jre jre jre -twS +gWi jre jre jre jre -drw -drw -xxo +dom +dom +fSB fuH psb -olO -ese +mUt +mUt btU -cJa -oEH -klS -vAO +eqH +bCN +axj +fJA jUB -oXs -iSs -vMf -tdL +aVM +vgW +qHA +bWM xDb -qxv +uFF osr wiD dRz pwn -pwn +dUR pwn jUB cuJ @@ -186625,9 +188952,9 @@ eJf eJf upH uuw -jDi -nzT -eGl +boc +eOB +bpw lVw dDy nOS @@ -186642,7 +188969,7 @@ rbY ffe alM alM -sbZ +wtM alM iDt thA @@ -186821,37 +189148,37 @@ jre jre jre jre -udf +sXa jre jre jre -wOC -oYC +nzU +aWj wSs -nla -cSO -hYt -nla +oXE +fOS +pWE +oXE wSs -tes +tpc jre jre jre -kFF +sGG jre jre fuH fuH btU -mkN -meW -xFG -qad +uUs +cQV +ijv +hPD jUB -srM -skU -rHI -non +gIh +jjM +pfz +wyX nMc sfy uCe @@ -186870,8 +189197,8 @@ thA thA thA thA -gqG -eJf +psb +pFv eJf eJf eJf @@ -186879,12 +189206,12 @@ eJf myZ eJf eJf -buW +eJf kpC -kDb -nqX -qoZ -sIA +gWn +vZo +wxl +lOa lVw jPu ffe @@ -186896,10 +189223,10 @@ ffe ffe ffe ffe -heH -gNh +ffe +oxO alM -noQ +vZM alM iDt thA @@ -187077,38 +189404,38 @@ xMq xMq xMq jre -igu -kvT -pZO -jHL -jHL -jSp +gAM +rOL +edR +nsQ +nsQ +ljq jre -jNe +weT jre -tSO +exQ jre dQN jre -cpO +meX jre -gVs -hGg +jwv +sBd wSs vTp jre fuH fuH btU -iWN -cRN -jFA -jRm +hvt +luR +mlT +lqZ jUB -ksH -yaJ -uOq -vXD +vyq +aow +kkF +vLY xDb qSN atl @@ -187129,19 +189456,19 @@ thA thA thA thA -nfG +ppY gjq gjq alM gbL -wJD -eJf +alM +qOx eJf kpC awL -jes -qdx -sIA +xqw +xZy +lOa rtt dgZ ffe @@ -187153,10 +189480,10 @@ oxO alM fWO alM -jrk +aUT oxO alM -iCD +ouU alM alM alM @@ -187335,20 +189662,20 @@ xMq xMq jre jre -kUW +bTE jre -eet +tDS dQN -kEr +vwD jre rYT -sOX -aGk +biE +olR jre -jhu +jsO jre -mza -awF +xGL +lVU wSs wSs wSs @@ -187357,13 +189684,13 @@ jre fuH fuH btU -vrr -rcU -gEX -eML +mCd +hkQ +cZk +tHJ xDb jUB -aVU +dgt jUB xDb xDb @@ -187372,7 +189699,7 @@ qWD oQY nvX jUB -rOH +pkz lPC vpX xDb @@ -187393,12 +189720,12 @@ wCo oxO wCo eJf -nfG +ppY upH cYi -qqh +ngo naX -sIA +ulm rtt rgB ffe @@ -187592,38 +189919,38 @@ xMq xMq xMq jre -uiv +uIh jre jre jre -bzX -vpJ -gOd +uVr +sHe +frF oTx -hIE +fQe jre vFg jre jre jre -vyN +xth jre -kUW +bTE jre jre fuH fuH btU btU +xUf +xUf btU -btU -btU -iYH -qsG +xDb +ybC aqp wbe jUB -jGN +gSl gHN qWD uDF @@ -187849,23 +190176,23 @@ thA xMq xMq jre -dla +sjd jre xMq jre -gFt +oiC jre lvF -vUn +wFt lvF jre -aLh +htg djH -uGY +pIh jre jre jre -uiv +cXG jre xMq xMq @@ -187876,10 +190203,10 @@ thA thA thA xDb -xtR +lfA ukz gPR -bwe +tFY cxQ vJB wgI @@ -187904,7 +190231,7 @@ xMq xMq xMq alM -xFU +ciU alM apB ffe @@ -188105,7 +190432,7 @@ thA iDt rcY scw -uNG +ayL aIB tiY xMq @@ -188122,7 +190449,7 @@ hMw jre xMq jre -dla +sjd jre iDt thA @@ -188133,11 +190460,11 @@ thA thA thA xDb -pPD +fBy tIu toG jUB -kax +aov anK nrC xDb @@ -188147,7 +190474,7 @@ ffe ffe ffe dOC -dFD +nIb alM alM alM @@ -188361,7 +190688,7 @@ iDt iDt iDt rcY -luR +riW scw scw iDt @@ -188381,7 +190708,7 @@ xMq tiY aIB dhH -grg +xvE iDt thA thA @@ -188398,7 +190725,7 @@ xDb hjV ezu xDb -slx +sEN ffe oxO dcd @@ -188417,12 +190744,12 @@ alM alM alM alM -mLo +yhn eEY oxO dcd ffe -wRO +tBq ffe ffe ffe @@ -188617,8 +190944,8 @@ iDt iDt iDt iDt -tHF -scw +kLd +nLB iDt scw iDt @@ -188651,10 +190978,10 @@ xMq xMq xMq xMq -ozM +fWw nKl cgR -tBW +sWO vRY ffe oxO @@ -188670,7 +190997,7 @@ oxO oxO iry jQi -oxO +jVa oxO oxO oxO @@ -188680,7 +191007,7 @@ rUS tRd tRd nPI -wjy +nPI nPI nPI nPI @@ -188882,9 +191209,9 @@ scw iDt cCb syw -kNC -kNC -gIl +pJm +pJm +pCG iDt thA thA @@ -188928,7 +191255,7 @@ nsp oxO oxO oxO -kOO +oxO oxO oxO oxO @@ -189397,7 +191724,7 @@ iDt iDt iDt iDt -pOl +evh iDt iDt iDt @@ -189432,12 +191759,12 @@ xMq alM oxO ffe -qvN -qvN -qvN -biI -qvN -qvN +qCu +qCu +qCu +oED +qCu +qCu qLY eGN lZX @@ -189689,34 +192016,34 @@ xMq alM oxO ffe -qvN -qvN -qvN -uUn -qvN -qvN +qCu +qCu +qCu +pUX +qCu +qCu qLY vfe tsa wHb qLY -abe +eea wFN abe -cKA +nFz wFN abe -cKA +nFz abe abe -cKA +nFz abe abe -cKA +nFz abe abe rnQ -nPI +quW alM alM thA @@ -189906,9 +192233,9 @@ rcY iDt scw iDt -jmo +xkW keA -vQz +lPl iDt iDt scw @@ -189922,9 +192249,9 @@ thA thA thA psb -sRp +jkX gUQ -sRp +jkX psb thA thA @@ -189941,17 +192268,17 @@ xMq xMq xMq psb -iDt +clI xMq alM oxO ffe -viR -qvN -qvN -bOT -qvN -qvN +sbP +qCu +qCu +eZA +qCu +qCu qLY tkP fPv @@ -190164,7 +192491,7 @@ iDt iDt iDt tBs -dGZ +vcf tBs iDt iDt @@ -190205,32 +192532,32 @@ nsp ffe qLY qLY -uHS -ujp -qvN -ctF +xJn +kuT +qCu +qLY qLY qLY oXr -wpv +fma qLY -lMu +dRX bUK oQo nmj ucl aHz -dIS +puw gBb dJx htp eWh yjA -tOf +obF vPD lqU -mDg -nPI +ffe +xvU alM alM thA @@ -190424,15 +192751,15 @@ vRz wMj vRz iDt -wkV -tej -kNC -tej -tej -tej -kNC -tej -cNh +mxK +jTf +fOH +pJm +pJm +pJm +fOH +pJm +xvp iDt iDt iDt @@ -190468,7 +192795,7 @@ cZT cZT pXj qLY -wZv +hRQ axD qLY hEW @@ -190678,7 +193005,7 @@ tBs tBs tBs tBs -rHR +rQh tBs tBs tBs @@ -190689,7 +193016,7 @@ rbZ rbZ pgo iDt -hNF +aDG iDt iDt iDt @@ -190717,7 +193044,7 @@ iDt alM jCr ffe -nAf +fMZ pMF mqe hRC @@ -190725,24 +193052,24 @@ euM pMF sfv xyn -dmj +oYD wPd lVt -asb +yfa pMF -xCh -cbP +fZA +mqL pMF -ihN -doK +bWU +gvf mBP -rjT -rXD +vrw +mmG pMF -pfJ -jrc +hoa +pXq pMF -mbb +mEW rkl nPI oxO @@ -190930,7 +193257,7 @@ xMq tBs pwv sAu -rqn +dGS tBs nHQ oik @@ -190946,8 +193273,8 @@ tuk ebB efM pgo -rcY -rSQ +jai +rsG scw iDt iDt @@ -190981,7 +193308,7 @@ dtU niy gtF ouP -gLS +qLY cyh cXX bKI @@ -191196,7 +193523,7 @@ baR kAn kMN tBs -mFR +ebB ebB ebB uXk @@ -191244,21 +193571,21 @@ bjn qbq iar xqu -oir +dmV slp fjt wgr xur reT -rxM +dTC aLA bnh cNI tWd hJi -wGN -mDg -pQG +oOh +ffe +gzJ tRd alM thA @@ -191460,12 +193787,12 @@ efM uXk efM awy -rcY -iDt +jai +wkB iDt -svz +var keA -ddv +sys iDt iDt iDt @@ -191488,12 +193815,12 @@ iDt alM oxO ffe -oqd +jiB vHq aZk -xNa +iwQ pMF -rdl +cBv iQM qLY abe @@ -191717,19 +194044,19 @@ yav ebB awy iDt -qau +rcY iDt xMq wrX -efN -xCj +kpg +wrX xMq thA thA iDt scw iDt -vYN +wzi xMq iDt iDt @@ -191748,31 +194075,31 @@ ffe hfL vHq obZ -dIA -rSu +icK +bnr qLY qLY qLY -abe +eea abe gLj -abe +eea wFN gLj -abe +eea abe gLj -abe +eea abe gLj -abe +eea abe gLj -abe +eea abe abe pjr -tRd +iTC iWM alM thA @@ -191978,7 +194305,7 @@ wrX xMq xMq wrX -qCJ +csJ wrX xMq xMq @@ -192003,10 +194330,10 @@ alM oxO ffe ffe -iwx +mZI ffe ffe -xwd +pVj qLY vgf qLY @@ -192235,7 +194562,7 @@ wrX wrX wrX wrX -pSP +vIm wrX wrX xMq @@ -192259,7 +194586,7 @@ alM wOH oxO oxO -ggS +oxO nyJ nSK ffe @@ -192472,8 +194799,8 @@ thA tBs tix tBs -wgu -dlB +aCJ +pyn jCL qEJ qEJ @@ -192481,16 +194808,16 @@ djD qEJ qEJ qEJ -tJi +kyf wBA oTA rpK oTA epB -oTA +uFt wrX wrX -seN +wBs nBe tiV mjQ @@ -192735,20 +195062,20 @@ quB jmR vrC hbR -gNJ -qEJ -eog -lUa -dtC -bAF +whg +gQO +mPJ +puF +exn +hDf qeR bAF nJy -oTA -cMj -xNE -lnw -pwC +rkz +hrY +hrY +fLx +qgv wGv huJ wrX @@ -192763,17 +195090,17 @@ thA thA xMq xMq -kNC -kNC -ebX +pJm +pJm +tSj iDt iDt -nfG +ppY alM alM alM alM -aDe +moy tNJ tNJ nyJ @@ -192983,7 +195310,7 @@ thA thA tBs liS -pxg +saR fdN tBs deP @@ -192992,19 +195319,19 @@ pQw cBP wAv fjH -dNB -gQO -mPJ -mle -bWZ -amt -xXE +oqN +cWE +kWO +txf +oTA +sab +qYh sab pcB -tSy +qtd uJt uJt -hxI +efy iAQ bkq uTX @@ -193022,16 +195349,16 @@ xMq iDt iDt iDt -qZG -ebX +gsd +xvp scw iDt lRI eNh oxO -bEh +uwR vAx -jXl +oxO oxO pvh oLa @@ -193240,28 +195567,28 @@ thA xMq tBs suA -roq +iWA rHZ tBs dit bDH rYt -rrf +nBS wAv jvs qEJ qEJ -oxN +vnW mHJ oTA oTA syh oTA lqj -oTA +erV uJt uJt -rcD +iJV smC oTM wrX @@ -193277,28 +195604,28 @@ xMq xMq iDt iDt -xte +rkp iDt iDt -chg +qpH iDt -nfG +ppY alM -bXf +dQl ffe ffe ffe ffe -ylQ +pQl ffe iry -oxO +jXl oxO iKG -cma -qUL -oxO iry +qUL +cma +sGL alM alM alM @@ -193520,7 +195847,7 @@ uJt uJt uJt smC -gyf +dIG wrX xMq xMq @@ -193534,19 +195861,19 @@ xMq lvt lvt lvt -kdJ -iDt -iDt -wnp -wnp -wnp -wnp -wnp -wnp -eLU -wAk -lPz -rOz +rlq +iDt +iDt +uwT +uwT +uwT +uwT +uwT +uwT +loO +gaF +qkg +wQx ffe ffe ffe @@ -193759,10 +196086,10 @@ mku tBs tBs tBs -fCw +vch wrX -hzd -sdk +aMA +nbG aIe wBA uJq @@ -193791,19 +196118,19 @@ xMq lvt lvt lvt -kdJ +rlq lvt -wnp -wnp -sjD -dsa -wnp -aLo -jDQ -oQV -xvx -rOz -xvx +uwT +uwT +qMk +crW +uwT +kgw +tjf +raQ +qTf +wQx +qTf kAH mHu kwM @@ -193812,7 +196139,7 @@ qRO fgx cAB wQi -wQi +qlf uIf thA thA @@ -194018,10 +196345,10 @@ tWc tBs kCx wrX -umF -kmn +aMA +nbG aIe -lHB +lmT dzy ewC iLt @@ -194048,28 +196375,28 @@ lvt lvt lvt lvt -mRp -qbz -wnp -uNH -kXR -jVi -xij -vES -xnC -tLy -jih -gYO -toP +rjb +efR +uwT +dWL +fbA +lct +oGj +rWm +jWq +lvR +ddm +qvx +aZJ kAH mHu jlj tUo -aQn +cvj hFb vqv wQi -wQi +tEs uIf thA thA @@ -194275,21 +196602,21 @@ pmn tBs tBs tBs -hrK -icv wrX wrX -fIn +wrX +wrX +wyL jcP oTA oTA epB oTA uko -oTA +mEI uJt uJt -rcD +tWJ oTA wQC wrX @@ -194304,25 +196631,25 @@ rcY lvt lvt lvt -nNV -ege -iPK -wnp -afy -sqB -eSQ -xjs -vES -uIf -uIf -uIf -uIf -uIf +jyy +oyM +lGb +uwT +hkS +waz +jRt +rWm +rWm +uwT +qTf +wiX +qTf +qTf uIf -laa +pHW qKt tUo -aQn +cvj hFb vqv qiN @@ -194532,21 +196859,21 @@ wMj lpL wMj tBs -lry -oTA -hlS +etH +etH +rBJ wrX -uDC +wIC wBA oTA bAF irQ bAF bYm -bMe +rlt uJt uJt -oTA +bap oTA tIw wrX @@ -194561,25 +196888,25 @@ rcY lvt lvt lvt -ekN -nce -qcl -qcl -qcl -vES -mwK -vES -ybe +opE +ssj +sDB +sDB +sDB +rWm +cZf +rWm +tKY +uIf +uIf +uIf +uIf +uIf uIf -nIt -nIt -nIt -nIt -inh mWj aNu tPG -xEQ +baN qaL vqv brt @@ -194789,21 +197116,21 @@ tBs aVi vGJ tBs +cMG etH -etH -eyU -wrX -uJI +oTA +lBN +qOu xBt iih sab nMP sab qYh -oTA -avo -tTw -qfj +rkz +peX +peX +bEn vnj wrX wrX @@ -194818,29 +197145,29 @@ rcY lvt lvt lvt -mnB -tTK -rSZ -vES -uPQ -vES -eSQ -nOo -xdk -onV -stb -stb -stb -stb -iWs -mxc +ctm +iln +xPs +rWm +kZe +rWm +tkX +eLs +xNR +hqH +vAS +igM +ssH +xyI +oRH +wzU qRO -rEj +wuh qRO mEL vqv fkN -fkN +gge uIf thA thA @@ -195048,7 +197375,7 @@ aOz tBs cPq etH -etH +qUf wrX wrX ffp @@ -195057,11 +197384,11 @@ oTA syh oTA syh -oTA +hAE wrX wrX -hfm -orU +dgA +mKh wrX xMq xMq @@ -195076,24 +197403,24 @@ lvt lvt lvt lvt -asG -qcl -qcl -wnp -gAZ -tEE -lYS -jem +kWk +sDB +sDB +sDB +nPo +rCs +kwn +teQ uIf -rmp +qsa pOL pOL pOL -opD -jGR +gOA +mBY hFb mzb -rEj +wuh rRl vqv wZV @@ -195304,7 +197631,7 @@ goB goB tBs wrX -wrX +ipg wrX wrX wrX @@ -195328,26 +197655,26 @@ thA thA tjo tjo -qZG -ebX +gsd +hxJ lvt lvt lvt -kdJ +rlq lvt lvt -wnp -wnp -dqt -woV -xxZ +uwT +uwT +bvw +oDw +gyO uIf -jcC -pOL -pOL -pOL -opD -jGR +xmM +bWH +bWH +bWH +kdg +xeF hFb hFb qRO @@ -195561,15 +197888,15 @@ lvt lvt lvt lvt -lvt +scw lvt wrX wrX wrX wrX -daj +nfS wrX -crg +eoS wrX wrX wrX @@ -195586,32 +197913,32 @@ thA tjo tjo tjo -qZG -kNC -ebX +syw +wWw +hxJ lvt -kdJ +rlq lvt lvt lvt -wnp -qcl -qcl -wnp +uwT +sDB +sDB +uwT uIf -odm -odm -odm -odm -nqy -jGR +rNK +oPt +oPt +oPt +tcX +xeF qRO qRO qRO rRl ndb bnZ -ulE +eSq uIf thA thA @@ -195824,9 +198151,9 @@ lvt xMq xMq wrX -vle +wee bWp -nJZ +mCP wrX xMq xMq @@ -195845,27 +198172,27 @@ tjo tjo tjo tjo -qZG -kNC -nmy -kNC -kNC -kNC -uMU +gsd +pJm +dUm +pJm +wWw +pJm +gsd iDt -rQs -kNC -fcj -fcj -fcj -fcj -roW -roW -bId -gcy -jJG -jJG -plX +ctC +pJm +opP +opP +opP +opP +lpy +lpy +tqJ +bpY +vfj +vfj +kJF qZN akk qZN @@ -196111,14 +198438,14 @@ thA thA thA rcY -iDt -fCS -iwq -cuB -iCe -lgP -iCe -vcH +lvt +vEc +taC +duY +vgK +rGf +vgK +oBq gnq xEF qSk @@ -196367,14 +198694,14 @@ thA thA thA thA -rcY -iDt -fCS -ocd -bqX -rmG -ryX -sqH +kLd +lLA +vEc +oPu +uTx +ejN +xVB +nMv qSk sbd rEh @@ -196624,15 +198951,15 @@ thA thA thA thA -rcY -iDt -fCS -iwq -evc -wKh -aEK -wKh -odf +aDG +lvt +vEc +taC +sGT +qNt +dwj +qNt +uVf sbd jaY rhY @@ -196882,7 +199209,7 @@ thA thA thA syw -kNC +pJm bgx bgx bgx @@ -197138,16 +199465,16 @@ thA thA thA thA +iDt +iDt vzD +uAJ vzD -vzD -jdd -sHV -rTs -rEU +eYY +aUu oHo -gOq -bBb +eVw +rEU vzD thA thA @@ -197396,15 +199723,15 @@ thA thA thA vzD -yap -qXY -jCl -jCl -jCl -jCl -jCl +vzD +vzD jCl -iVY +mAn +beu +uZc +vzD +vzD +vzD vzD thA thA @@ -197653,15 +199980,15 @@ thA thA thA vzD -yap -jCl -bFq +xLv +gvr +uZc +vzD +rEU +uZc axu -dVq -xEt -jCl -jCl -iVY +rRN +xLv vzD thA thA @@ -197910,15 +200237,15 @@ thA thA thA vzD +jCl +fXQ vzD vzD +fXX vzD vzD -vzD -vzD -vzD -vzD -vzD +rRN +jCl vzD thA thA @@ -198166,17 +200493,17 @@ thA thA thA thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA +vzD +puL +phA +vzD +kfS +xYg +ibj +vzD +nQL +eYx +vzD thA thA thA @@ -198423,17 +200750,17 @@ thA thA thA thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA +vzD +nSU +ovB +vzD +kfS +hMA +iFw +vzD +bhI +uZc +vzD thA thA thA @@ -198680,17 +201007,17 @@ thA thA thA thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD thA thA thA @@ -218598,7 +220925,7 @@ wNO wNO wNO wNO -aaX +qzn vbG hHG hHG @@ -218855,7 +221182,7 @@ wNO wNO wNO wNO -fhB +liV vbG hHG hHG @@ -219114,8 +221441,8 @@ wNO bln bln bln -xDQ -xDQ +wDS +wDS bln wNO wNO @@ -219200,11 +221527,11 @@ wNO wNO wNO bln -gnZ +oEB bln hcw lSu -gnZ +oEB bln wNO wNO @@ -219216,11 +221543,11 @@ wNO wNO wNO bln -gnZ +oEB lSu weW bln -gnZ +oEB bln bln bln @@ -219371,8 +221698,8 @@ wNO bln bln bln -rPp -rPp +dTI +dTI bln wNO wNO @@ -219714,11 +222041,11 @@ wNO bln bln lSu -eqn +bln sEB sEB sEB -sjU +lSu bln lSu bln @@ -219730,11 +222057,11 @@ lSu bln lSu bln -eqn +bln sEB sEB sEB -sjU +lSu bln mQb bln @@ -220234,7 +222561,7 @@ tqR sEB fUR lSu -gnZ +oEB jNZ sEB sEB @@ -220242,7 +222569,7 @@ sEB sEB sEB rzO -gnZ +oEB lSu fUR sEB @@ -220741,7 +223068,7 @@ bln uer bln bln -umb +bln fUR mXT cJt @@ -220757,14 +223084,14 @@ sEB sEB qVo lSu -umb +bln fUR mXT cJt iMu fUR oqJ -iWb +bln lSu lSu bln @@ -220772,7 +223099,7 @@ bln bln bln bln -gnZ +oEB bln bln bln @@ -220784,7 +223111,7 @@ aBR aBR aBR aBR -gnZ +oEB aBR aBR aBR @@ -221013,7 +223340,7 @@ sEB sEB sEB sEB -ntx +rhJ lSu fUR fUR @@ -221035,7 +223362,7 @@ bln bln bln lSu -gnZ +oEB aBR aBR aBR @@ -221253,13 +223580,13 @@ bln bln bln bln -gnZ +oEB lSu -fBN +xOk fUR -irX +kod kyg -rwW +uhx uhx uhx uhx @@ -221273,15 +223600,15 @@ sEB uhx uhx uhx -rwW +uhx jHX -fJd +tLm fUR lSu fUR kod gFL -rwW +uhx uhx uhx uhx @@ -221509,7 +223836,7 @@ bln lBD bln lSu -hjU +jNZ kKU kKU rzO @@ -221773,7 +224100,7 @@ fUR fUR ykb wOy -fHb +uhx uhx uhx uhx @@ -221787,7 +224114,7 @@ sEB uhx uhx uhx -fHb +uhx bzg otG uhx @@ -221795,7 +224122,7 @@ lSu uhx ykb wOy -fHb +uhx uhx uhx uhx @@ -222024,16 +224351,16 @@ bln bln miY fUR -fNy +eYK xAk -txd +xaf fUR uRx jdY rsw rin uhx -caX +rcS sEB sEB sEB @@ -222043,7 +224370,7 @@ sEB sEB oMa uhx -tbR +pgt dcG jXm otG @@ -222055,7 +224382,7 @@ jdY rsw phu uhx -dsg +jls bln lSu bln @@ -222536,10 +224863,10 @@ bln bln fsm bln -tIc +miY fUR fUR -mXH +kVA wWS mVE nDJ @@ -222583,7 +224910,7 @@ bln bln bln bln -gnZ +oEB aBR aBR aBR @@ -222804,7 +225131,7 @@ fld ycA lpH uhx -oJH +vCm sEB sEB sEB @@ -222814,7 +225141,7 @@ sEB sEB fiv uhx -jDS +sjz lKc uMm dvO @@ -222826,7 +225153,7 @@ fld ycA lpH uhx -hgx +pSK bln lSu bln @@ -223050,15 +225377,15 @@ bln bln bln bln -hWW +miY ydI ydI -qKJ +nWM kHl mVE nDJ wOy -rwW +uhx uhx uhx uhx @@ -223072,7 +225399,7 @@ sEB uhx uhx uhx -fHb +uhx bzg dvO uhx @@ -223080,7 +225407,7 @@ lSu uhx ovm wOy -fHb +uhx uhx uhx uhx @@ -223302,9 +225629,9 @@ bln bln lBD bln +lSu bln -bln -hjU +jNZ kKU kKU sEB @@ -223566,13 +225893,13 @@ hEI hEI biY biY -kCY +rkk bLs xRI ydI ior wOy -fHb +uhx uhx uhx uhx @@ -223586,7 +225913,7 @@ sEB uhx uhx uhx -rwW +uhx bzg oVX fUR @@ -223594,7 +225921,7 @@ lSu fUR tvm wOy -rwW +uhx uhx uhx uhx @@ -223815,11 +226142,11 @@ bln bln bln bln -bln +lSu stJ bln lJO -cyV +dxI muv qVN biY @@ -223840,8 +226167,8 @@ prs sEB sEB sEB -pJb -waT +fiv +lSu fUR fUR bAo @@ -224076,17 +226403,17 @@ bln bln lJO lJO -jEB +ldJ nOx cwe dIx laB laB lJO -iku +lXA nDJ wOy -jBK +pGy fUR rzO lSu @@ -224113,19 +226440,19 @@ fUR bln uer bln -gnZ +oEB lSu bln bln bln lSu -gnZ +oEB bln bln bln bln bln -gnZ +oEB aBR aBR aBR @@ -224368,7 +226695,7 @@ wOy eyk fUR bln -iWb +bln bln bln bln @@ -224590,43 +226917,43 @@ uer bln lJO kQg -ylt +ofc ylV -gfY +gjI lJO lJO lJO lJO fUR -nmA -oor +lzU +wwi fUR fUR fUR -shT -kHq +wUf +iQd oOP ccS ccS ccS lVY -oHY +hHl xuW fUR fUR fUR -gjN -nuM +ePV +eHX fUR fUR fUR -lSF -tku +drb +tuD fUR fUR fUR fUR -stJ +rNn bln bln bln @@ -224842,7 +227169,7 @@ bln bln bln bln -bln +lSu bln bln lJO @@ -224854,24 +227181,24 @@ lJO fjF qhO lJO -lIT +iVv qpt fBQ -tHB +syL vmC syL dwb fsv cuc hgr -qsh +fbF hgr xFs fsv cmV bXx aui -qTj +bXx btW jJd eyj @@ -224879,9 +227206,9 @@ lGL bXx oMq tEc -uUu -sEg -iVi +iGd +mKJ +vKD tKI tKI tKI @@ -225111,11 +227438,11 @@ ndz hjI xmo vmx -uBL +eTe nvI nvI oTc -cQa +nvI nvI fwM fsv @@ -225127,17 +227454,17 @@ xFs fsv dpU swK -iCw +swK ubx swK swK swK wfF -rUv +swK nqD thX peM -iES +ddd mKa ldw bCQ @@ -225386,12 +227713,12 @@ jLM fUR fUR fUR -koQ -koQ +ort +ort fUR fUR fUR -krW +mYA nEA nwT nwT @@ -225400,7 +227727,7 @@ nwT tKI pgE tKI -iWb +bln lBD bln mQb @@ -225444,11 +227771,11 @@ bln bln bln bln -bln -bln -bln -bln -bln +wNO +wNO +wNO +wNO +wNO wNO wNO wNO @@ -225613,8 +227940,8 @@ bln bln stJ bln -bln -bln +lSu +lSu cyH hjI nbj @@ -225651,14 +227978,14 @@ fUR teE bKA nwT -hAo +wvJ tzM -vgj +aUM tKI bCQ tKI tKI -bln +tMa mQb bln bln @@ -225705,7 +228032,7 @@ bln bln bln bln -bln +wNO wNO wNO wNO @@ -225870,7 +228197,7 @@ lBD bln bln uer -bln +lSu bln lJO lJO @@ -225948,12 +228275,12 @@ aBR bln bln bln +mQb bln bln bln -bln -bln -bln +lSu +lSu bln bln bln @@ -226148,7 +228475,7 @@ rMu kHP cuc mVE -nAH +ich nAH nAH mVE @@ -226156,13 +228483,13 @@ xFs jLM qHO fUR -juu +nyT kBU xgX juu gNL fUR -qAB +usU cTh iJl ooa @@ -226203,17 +228530,17 @@ aBR bln bln bln +mQb bln +mQb bln +hAM +lej +eRE +qQk +tTO bln -bln -tCr -tCr -tCr -tCr -tCr -bln -bln +mQb bln bln bln @@ -226368,6 +228695,9 @@ bln bln bln bln +lSu +mQb +mQb bln bln bln @@ -226375,15 +228705,12 @@ bln bln bln bln +mQb +mQb bln bln bln -bln -bln -bln -bln -bln -bln +lSu bln lJO cKB @@ -226461,18 +228788,18 @@ bln bln bln bln +mQb +uer bln +bvb +tMa bln bln -tCr -bln -bln -bln -tCr -bln -bln -bln -bln +bvb +tMa +uer +mQb +mQb bln bln bln @@ -226621,27 +228948,27 @@ ozo bln bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -mVm -tCr -tCr -bln -bln -uer -bln -bln -bln +hPv +kdS +kdS +eRE +wvw +kdS +kdS +eRE +kdS +kdS +kdS +eRE +qQk +kdS +kdS +kdS +kdS +kdS +eRE +gSd +kdS lJO gwM xdU @@ -226670,11 +228997,11 @@ xFs jLM iYy tma -agG +juu mxQ pXU -pSd -jsh +kSA +vUI fUR tkc nsr @@ -226716,21 +229043,21 @@ bln bln bln bln +mQb +mQb bln bln -bln -bln -bln -tCr +lSu +chn bln cnx bln -tCr -bln -bln +chn bln bln +lSu bln +mQb bln bln bln @@ -226877,8 +229204,8 @@ bln bln bln bln -bln -tCr +mQb +fPc bln bln bln @@ -226887,20 +229214,20 @@ bln bln bln muK -bln +mQb bln bln hty bln -tCr -bln +mQb bln +uer mQb bln bln bln lJO -keT +eXa sHO hjI lJO @@ -226919,7 +229246,7 @@ lvW uTI cuc mVE -nAH +ich nAH nAH mVE @@ -226936,14 +229263,14 @@ nwT goI nwT nwT -aLO +fZK wRM iox tKI bCQ tKI tKI -bln +tMa stJ fsm bln @@ -226971,24 +229298,24 @@ aBR aBR bln bln -bln -tCr -tCr -tCr -tCr -tCr -bln -bln +mQb +hAM +lej +ujK +vTh +ujK +ujK +obe bln tmR -bln -bln -bln -tCr -tCr -mVm -tCr -tCr +mQb +obe +ujK +lej +vTh +qQk +ujK +hAM bln bln wNO @@ -227134,8 +229461,8 @@ bln bln bln bln -bln -tCr +mQb +fPc bln uei tmR @@ -227144,16 +229471,16 @@ bln uei tmR uei -bln +mQb uei tmR uei bln -tCr -bln +mQb bln bln bln +lSu mQb bln lJO @@ -227182,12 +229509,12 @@ mVE mVE xFs pLn -aDy +dpl tKI -ljK +wKu tXs ljK -rUa +aRe tKI hbt cTD @@ -227199,7 +229526,7 @@ tKI tKI kPq tKI -qjC +bln bln bln bln @@ -227229,23 +229556,23 @@ aBR bln bln bln -tCr -bln +vap bln +ntK bln bln bln bln bln tmR +mQb bln bln bln bln bln -bln -bln -tCr +lSu +fPc bln bln wNO @@ -227390,14 +229717,14 @@ wNO bln bln bln +uer bln -bln -tCr -bln +bvb +tMa uei tmR uei -bln +mQb uei tmR uei @@ -227407,7 +229734,7 @@ tmR uei bln bln -bln +lSu bln bln bln @@ -227441,14 +229768,14 @@ aWN pLn qFs tKI -rvW +mqa xqj vsT gXr tKI -rVt +gec ihc -bod +sJI tKI hsQ bCQ @@ -227486,8 +229813,8 @@ aBR bln bln bln -tCr -bln +fPc +mQb xxB xxB xxB @@ -227501,9 +229828,9 @@ xxB xxB xxB xxB -bln -tCr -bln +lSu +fPc +mQb bln wNO wNO @@ -227646,11 +229973,11 @@ wNO wNO bln bln +mQb bln bln -bln -tCr -bln +ebW +mQb uei tmR uei @@ -227663,10 +229990,10 @@ uei tmR uei bln -bln -bln +lSu +lSu mQb -bln +ntK bln uer bln @@ -227695,7 +230022,7 @@ npq ecU gkZ tlO -kyc +udA tKI tKI kJO @@ -227704,7 +230031,7 @@ kJO tKI tKI stP -dVX +vwi oLo tKI iUW @@ -227743,8 +230070,8 @@ aBR bln bln bln -tCr -bln +bvb +uer tmR tmR tmR @@ -227759,7 +230086,7 @@ tmR tmR tmR bln -tCr +bvb bln bln wNO @@ -227906,7 +230233,7 @@ bln bln bln bln -bln +fPc bln uei tmR @@ -227920,11 +230247,11 @@ uei tmR uei bln +lSu bln bln bln bln -sxQ bln bln miY @@ -227942,7 +230269,7 @@ esv lCb ddZ eUA -nhS +aoc oCO oCO oCO @@ -227954,11 +230281,11 @@ tKI tKI tKI tKI -jXC +hZo wBb xvk wBb -kQV +uZC tKI tKI tKI @@ -227970,15 +230297,15 @@ tKI lSu bln bln -gnZ +oEB bln bln bln -gnZ +oEB bln bln bln -gnZ +oEB bln bln bln @@ -227998,9 +230325,9 @@ aBR aBR aBR bln +mQb bln -bln -tCr +fPc bln xxB xxB @@ -228016,7 +230343,7 @@ xxB xxB xxB bln -tCr +fPc bln bln wNO @@ -228160,10 +230487,10 @@ wNO wNO bln bln -tCr -tCr -tCr -bln +hAM +kdS +kdS +obe bln uei tmR @@ -228200,7 +230527,7 @@ eUi eBB tNd nor -qiT +sst cgw mZu hjv @@ -228211,13 +230538,13 @@ tKI dat kDv tKI -kEs +jEE wBb fgo aSI nEq tKI -kCv +ybY gvp nSr tKI @@ -228257,13 +230584,13 @@ aBR bln bln bln -tCr -bln -bln +uap bln bln bln bln +mQb +mQb bln sEB bln @@ -228273,8 +230600,8 @@ bln bln bln bln -mVm -bln +fPc +mQb bln wNO wNO @@ -228417,14 +230744,14 @@ wNO wNO bln bln -tCr +fPc bln bln bln bln bln tmR -bln +mQb bln bln tmR @@ -228436,8 +230763,8 @@ bln vsI eGr eGr -oLO -nhb +eGr +hNJ sxF kjw biY @@ -228452,7 +230779,7 @@ bln efI efI lJO -jaS +mLd hBG pEs aFH @@ -228479,7 +230806,7 @@ edN jLf tlm jLf -dpZ +fsj tKI htd bln @@ -228513,8 +230840,8 @@ bln bln bln bln -bln -tCr +lSu +dzZ bln xxB xxB @@ -228530,7 +230857,7 @@ xxB xxB xxB bln -tCr +fPc bln bln wNO @@ -228673,11 +231000,11 @@ wNO wNO wNO bln -bln -tCr -bln -fbh -tZf +mQb +yfW +tMa +cnx +tmR tmR sEB sEB @@ -228712,7 +231039,7 @@ lJO wDf sAR sAR -cBD +lCn kPy dQI pPT @@ -228771,8 +231098,8 @@ bln ozo bln bln -tCr -bln +bvb +tMa tmR tmR tmR @@ -228787,8 +231114,8 @@ tmR tmR tmR bln -tCr -bln +bvb +tMa bln wNO wNO @@ -228930,10 +231257,10 @@ wNO wNO wNO bln +mQb +vap bln -tCr -bln -bln +mQb bln bln bln @@ -228944,18 +231271,18 @@ bln tmR bln bln -bln +mQb tmR -bln +mQb sEB eGr eGr -gWy +eGr pVN bvd eAh -aiT -hjI +biY +bhQ hjI hjI eUf @@ -228968,9 +231295,9 @@ lJO lJO mCT mut -lGo -xhg -pGy +kby +oLm +rbE wCL tTc wtr @@ -229006,7 +231333,7 @@ lSu lSu lSu bln -gnZ +oEB bln bln bln @@ -229027,9 +231354,9 @@ bln bln bln bln +mQb +fPc bln -tCr -muK xxB xxB xxB @@ -229044,7 +231371,7 @@ xxB xxB xxB bln -tCr +fPc bln bln wNO @@ -229188,10 +231515,10 @@ wNO wNO bln bln -tCr -mVm -tCr -bln +fYT +kdS +kdS +hPv bln uei tmR @@ -229239,7 +231566,7 @@ qnj omg hzL kRc -oWu +lNV paZ tOw iKX @@ -229283,9 +231610,9 @@ bln bln bln bln -bln -bln -mVm +mQb +mQb +fPc bln bln bln @@ -229294,15 +231621,15 @@ bln bln bln sEB +mQb bln bln bln +mQb bln bln -bln -bln -tCr -bln +ebW +mQb bln wNO wNO @@ -229448,12 +231775,12 @@ bln bln bln bln -bln -bln +fPc +mQb uei tmR uei -bln +mQb uei tmR uei @@ -229462,7 +231789,7 @@ uei tmR uei bln -bln +lSu bln bln miY @@ -229493,7 +231820,7 @@ gpp lsi xhx qnj -nct +ddQ gAB ykG ykG @@ -229507,7 +231834,7 @@ kEM vkW gak tKI -oKu +dBJ tKI nMj bln @@ -229540,9 +231867,9 @@ bln bln bln bln +mQb bln -bln -tCr +fPc bln xxB xxB @@ -229558,8 +231885,8 @@ xxB xxB xxB bln -tCr -bln +chn +mQb bln wNO wNO @@ -229702,11 +232029,11 @@ wNO wNO bln bln +mQb +uer bln -bln -bln -tCr -bln +oHg +mQb uei tmR uei @@ -229719,7 +232046,7 @@ uei tmR uei bln -bln +lSu bln bln miY @@ -229796,10 +232123,10 @@ bln bln uGo bln +mQb +mQb bln -bln -bln -tCr +bvb bln tmR tmR @@ -229815,7 +232142,7 @@ tmR tmR tmR bln -tCr +bvb bln bln wNO @@ -229959,11 +232286,11 @@ wNO wNO bln bln +mQb +mQb bln -bln -bln -tCr -bln +yfW +tMa uei tmR uei @@ -229976,7 +232303,7 @@ uei tmR uei bln -bln +lSu lJO hEI lJO @@ -230007,7 +232334,7 @@ gpp bAB xEE qnj -hlW +aOx ykG ykG rCj @@ -230026,15 +232353,15 @@ tKI mZf ooL maT -wSM -oMd +nNZ +oSK maT -oMd -bNo +vEG +rEr maT sEB bln -gnZ +oEB bln bln bln @@ -230053,10 +232380,10 @@ bln bln cWX bln +mQb +lSu bln -bln -bln -tCr +fPc bln xxB xxB @@ -230072,7 +232399,7 @@ xxB xxB xxB bln -tCr +fPc bln bln wNO @@ -230216,10 +232543,10 @@ wNO wNO bln bln -bln -bln -bln -tCr +uer +mQb +lSu +wOq bln uei tmR @@ -230233,7 +232560,7 @@ uei tmR uei bln -tCr +bln lJO khW iSn @@ -230283,11 +232610,11 @@ tKI maT maT maT -sym +xmk bde -jIE -bde -ksf +kXr +aRx +kjd maT miY xeg @@ -230312,12 +232639,12 @@ cWX bln bln bln -bln -tCr -bln -bln +lSu +pMM bln bln +mQb +mQb bln bln bln @@ -230329,7 +232656,7 @@ bln bln bln bln -tCr +fPc bln bln wNO @@ -230473,10 +232800,11 @@ wNO wNO bln bln +lSu bln bln +vap bln -tCr bln bln bln @@ -230490,7 +232818,6 @@ bln bln bln bln -tCr lJO gDZ gDZ @@ -230529,7 +232856,7 @@ neq muy muy gRp -sbv +kjh tKI plg jdW @@ -230540,16 +232867,16 @@ tKI cYo tEL maT -wSM -hFU +nNZ +jME kXr -hFU -bNo +hTk +rEr maT mZf kKU kKU -dPX +vJv bln bln bln @@ -230567,26 +232894,26 @@ bln bln cWX bln +lSu bln -bln -bln -tCr -tCr -tCr -bln -bln -bln +mQb +fPc +mQb +lSu +lSu +uer +nAx bln sEB tmR sEB -bln -bln -bln -bln -tCr -tCr -tCr +mQb +cIf +gSd +ahG +ujK +ujK +obe bln bln wNO @@ -230733,21 +233060,21 @@ bln bln bln bln -tCr -tCr -tCr -tCr -tCj -mVm -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr +obe +kdS +kdS +eRE +xAs +kdS +kdS +eRE +wvw +kdS +qQk +eRE +kdS +hBf +kdS lJO gLZ cXp @@ -230799,7 +233126,7 @@ kLZ jPc xKj hyY -pdR +xDu huI gbv maT @@ -230807,7 +233134,7 @@ kXr maT maT kXr -bln +htd bln bln bln @@ -230824,21 +233151,21 @@ bln bln cWX bln +lSu bln +mQb +fPc bln +mQb bln -bln -bln -bln -bln -bln +lSu bln bln jlJ jWl jlJ -bln -bln +aMZ +vap bln bln bln @@ -230988,18 +233315,18 @@ wNO bln bln bln +lSu bln bln bln bln -bln -bln -vbG -bln +mQb +fPc bln bln bln bln +lSu bln bln bln @@ -231024,7 +233351,7 @@ lJO qzs jnV lJO -sHy +tdY gHS iMT hqx @@ -231060,7 +233387,7 @@ kVl czv cCW wyB -gTb +mSP wyB tEj maT @@ -231078,27 +233405,27 @@ bln bln bln bln -riT -uqG -bln +xYt +atB bln bln bln +mQb pRj pRj pRj pRj pRj -pRj +mNY bln jlJ -smj +hTq jlJ bln +chn bln -bln -bln -bln +uer +mQb bln bln bln @@ -231247,20 +233574,20 @@ bln bln bln bln +lSu +lSu bln bln -bln -bln -vbG +fPc bln bln uer bln mQb bln -bln +ntK stJ -bln +lSu bln bln bln @@ -231319,8 +233646,8 @@ huI huI huI uqg -ndK -kXr +pUi +maT bln bln bln @@ -231337,24 +233664,24 @@ ptf pRj pRj uqG -sEB -sEB -sEB +kKU +kKU +rzO bln pRj -dMO -vZp -dcQ +emx +kpn +awt wAW -pRj +mNY nxm -ifA +jlJ rbb -gFx jlJ +jlJ +obe bln -bln -bln +mQb bln bln bln @@ -231500,15 +233827,15 @@ wNO wNO wNO bln -bln +mQb bln ozo bln bln +lSu +mQb bln -bln -bln -vbG +uap bln fsm lBD @@ -231518,7 +233845,7 @@ bln bln bln bln -bln +lSu bln bln lJO @@ -231565,7 +233892,7 @@ hbY tKI tKI tKI -ghl +kUF ajw ajw otd @@ -231576,8 +233903,8 @@ otd otd uqn kLZ -huI -maT +jcJ +kXr bln bln bln @@ -231603,15 +233930,15 @@ rej iaT daS swS -cRX +mNY mNY smj smj iCX glh bln -bln -bln +mQb +mQb bln bln bln @@ -231757,16 +234084,16 @@ wNO wNO wNO bln +mQb bln +ntK bln +lSu +lSu +mQb bln -bln -bln -bln -bln -bln -vbG -bln +ebW +lSu bln bln bln @@ -231806,7 +234133,7 @@ hMg cke kTC qnj -qwn +dei wpC vZg gta @@ -231840,7 +234167,7 @@ qjQ qjQ qjQ qjQ -rLo +jDl qjQ bln bln @@ -231850,7 +234177,7 @@ qPw csE hRw pRj -vZW +eDJ ptf daS ptf @@ -231862,12 +234189,12 @@ mRU qAI snw mNY -kkp +qDS ooU ipE glh -bln -bln +mQb +uer bln bln bln @@ -232014,20 +234341,20 @@ wNO wNO wNO bln +uer bln bln +lSu +lSu bln +uer bln +fPc bln +lSu bln bln -bln -vbG -bln -bln -bln -bln -bln +mQb stJ bln bln @@ -232048,7 +234375,7 @@ hEI lJO lJO dDV -sFN +oaR lJO lJO lJO @@ -232105,26 +234432,26 @@ ptf hZQ cZN ybu -jYL +qrr pRj ycS -vGi +pRj lDr -sup +pRj ptf pRj kqK dnM swS mXN -vUz +gDv mNY qIf fFx czR glh -bln -bln +mQb +mQb bln bln bln @@ -232272,19 +234599,19 @@ wNO wNO bln bln +hMQ +mQb bln bln bln +hMQ bln -bln -bln -bln -vbG +fPc bln bln stJ bln -bln +uer bln bln bln @@ -232341,7 +234668,7 @@ ajw mmi wiz mmi -vmn +sln wam wam wam @@ -232353,9 +234680,9 @@ ajw tAS hoD hoD -gAY +hoD wjZ -sJn +get qjQ bln ptf @@ -232364,24 +234691,24 @@ sUS ybu vUW pRj -nkI -daS -daS +mKA +yiR daS -vYd +iJh +wRu pRj pRj kuR -bGf +kCC lDh pRj mNY -bCc +mNY pyI mNY glh -bln -bln +mQb +uer bln bln bln @@ -232529,15 +234856,15 @@ aBR tGr tGr tGr -mSQ -atc -atc -atc -atc -pLe +umh +jZo +jZo +jZo +jZo +umh tGr -tCj -sDl +xAs +jbe bln bln bln @@ -232564,14 +234891,14 @@ hEI hjI wPr oSy -sDl +pLg ybQ ybQ ybQ ybQ ybQ ybQ -sDl +vsF jOt ozw eRw @@ -232579,7 +234906,7 @@ gpp gJz nQv nDY -tEu +tzP tKI wuA nAr @@ -232591,7 +234918,7 @@ nAr nAr wNR tKI -ssg +jnp ajw ajw ajw @@ -232821,14 +235148,14 @@ hEI hjI wPr oSy -sSA +sDl ybQ gGZ lye ebL edn ybQ -sDl +sCK jOt ozw aJA @@ -232855,7 +235182,7 @@ vlN ajw wiz ajw -vmn +nNu wam wam wam @@ -232878,7 +235205,7 @@ ace ybu thW pRj -uhX +ntO dnM nzp wEW @@ -233084,22 +235411,22 @@ oPI khR khR eRh -uiM +ybQ jOt jOt ozw aJA xSL gJz -uXy +eUx imO kGF tKI wBb tKI -skw -ipF -qpp +xua +llR +fOs dsf xjF xem @@ -233126,12 +235453,12 @@ jAq qxb nrm hoD -rea +qIP qjQ bln pRj vSE -eGX +mqI qOl ujj pRj @@ -233139,7 +235466,7 @@ dOH hjH qTS dNC -xBX +iRJ pRj wls qxY @@ -233148,11 +235475,11 @@ cjL gfC pRj daS -viE +mxg pRj pRj pRj -vsI +oMa bln bln bln @@ -233342,7 +235669,7 @@ bnz jxq sOz vGI -ptk +oRZ lEE idO aJA @@ -233352,9 +235679,9 @@ tKI tKI tKI tKI -qRR +blY tKI -aes +wrP alT taf kGQ @@ -233392,11 +235719,11 @@ kYF jOJ qzM pRj -dOH +qFC uIx osI osI -hjH +xbq pRj nDy hUI @@ -233405,11 +235732,11 @@ nVR iWZ bse xHe -pBB +oBZ lPE daS nNr -sEB +qVo bln bln bln @@ -233559,7 +235886,7 @@ tGr bln bln bln -gnZ +oEB bln tGr tGr @@ -233611,7 +235938,7 @@ pdf pdf wBb tKI -pPE +aiQ alT dcs kin @@ -233647,13 +235974,13 @@ pRj csE kSD csE -nOk +uwd pRj -xOl +poO hjH daS pXv -kNZ +kEC pRj bxV uKP @@ -233662,11 +235989,11 @@ hUI lLm mLa qSY +daS pRj +igG pRj -pRj -pRj -vsI +qVo bln bln bln @@ -233849,14 +236176,14 @@ hEI hjI xJJ oSy -sSA +sDl ybQ egF jYV jDW hPf ybQ -sDl +eaG jOt ozw ons @@ -233869,11 +236196,11 @@ tKI wBb bcx qiK -tda +rrB lit qiP -noF -dqV +fgc +obQ nxD rbC kXr @@ -233901,7 +236228,7 @@ qjQ bln bln pRj -rKQ +wVr drs pRj pRj @@ -233920,10 +236247,10 @@ pRj pRj wFg pRj -bln -bln -bln -bln +pRj +pRj +pRj +eHC bln bln bln @@ -234106,21 +236433,21 @@ hEI hjI wPr oSy -sDl +pLg ybQ ybQ ybQ ybQ ybQ ybQ -sDl +vsF jOt ozw ons gpp lGz pMv -qaD +bso dBB tKI wBb @@ -234155,15 +236482,15 @@ qdC jBf dhY qjQ -sEB -sEB +oot +oot pRj daS tut qai qoK pXv -exy +pXv pXv pXv pXv @@ -234178,9 +236505,9 @@ ptf xHe ptf bln -bln -bln -bln +uer +uer +mQb bln bln bln @@ -234390,7 +236717,7 @@ tKI dMv pdf tKI -drG +iUM ssc cXl wRx @@ -234436,8 +236763,8 @@ xHe ptf bln bln -bln -bln +mQb +mQb bln bln bln @@ -234584,7 +236911,7 @@ tGr miY bln bln -gnZ +oEB mZf bln lSu @@ -234618,7 +236945,7 @@ lJO lJO lJO lJO -mzy +kcZ biY biY sDl @@ -234879,19 +237206,19 @@ sTj hos biY sDl -uqV +sDl sDl hDU -ksU -cFX -fHY +dAQ +fVU +iYe hDU gpp aJA gpp fUr pMv -cOb +eAQ pHy tKI tKI @@ -234906,8 +237233,8 @@ rCC gLN rCC eVl -wBF -uDr +rCC +dXh cHb cHb mOA @@ -234940,7 +237267,7 @@ bln bln bln bln -sEB +jNZ nME bln bln @@ -235139,7 +237466,7 @@ hDU hDU hDU hDU -heG +lyy aJm iFj hDU @@ -235183,8 +237510,8 @@ hoD abz qjQ qjQ -sEB -sEB +oot +oot pRj uWW daS @@ -235196,9 +237523,9 @@ bln bln bln bln -sEB +jNZ xbV -sEB +qVo bln bln bln @@ -235208,7 +237535,7 @@ ptf bln bln bln -bln +mQb bln bln bln @@ -235392,10 +237719,10 @@ hEI qGU biY biY -kqx +mSY mQh xKb -vMc +njD xMW apI tOi @@ -235433,7 +237760,7 @@ nZh lNG tue qjQ -hxE +jBf nvx lis aud @@ -235455,7 +237782,7 @@ bln bln fkF cPp -sEB +rwt bln bln bln @@ -235463,11 +237790,11 @@ ptf xHe ptf bln +ntK bln -bln -bln -bln -bln +mQb +uer +mQb bln bln bln @@ -235682,7 +238009,7 @@ vlL qxQ eBe hnC -qmi +cah aSh ycQ nZh @@ -235711,7 +238038,7 @@ bln bln bln bln -sEB +lbc bln bln bln @@ -235722,7 +238049,7 @@ ptf bln bln bln -sEB +mQb bln bln bln @@ -235744,8 +238071,8 @@ bln bln bln bln -tCr -tCr +bln +bln bln bln bln @@ -235922,7 +238249,7 @@ wvK aKs tgH gst -vSw +iXM vWW vWW vWW @@ -235968,7 +238295,7 @@ bln bln bln bln -sEB +tIC bln bln bln @@ -235990,20 +238317,20 @@ eoL ptf bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr +mQb +bln +bln +bln +bln +bln +mQb +bln +bln +bln +bln bln bln bln -tCr -tCr bln bln bln @@ -236156,7 +238483,7 @@ bln bln lJO oXf -rlX +xSx fdF lJO vqS @@ -236179,15 +238506,15 @@ kFu sJr vBu gst -iFh +sbY xAy xAy tge ozH bZg gst -tZR -nsq +hYG +jYG dOw dOw yhe @@ -236247,20 +238574,20 @@ nkO ptf bln bln -tCr -bln -bln +uer +mQb +mQb bln bln bln bln +uer bln -tCr bln +mQb bln bln bln -tCr bln bln bln @@ -236382,7 +238709,7 @@ tGr tGr bln jNZ -gnZ +oEB jNZ bln ntK @@ -236412,7 +238739,7 @@ bln bln dvY lJO -eKX +nLE erl oDH fVm @@ -236420,10 +238747,10 @@ ndz oIB biY biY -hhN +gNC iLi oJT -spV +wwO gad gAk tMI @@ -236441,10 +238768,10 @@ sto lpj gst gst -oiK +npP bLW xjP -sXf +qcI gxO dKK xmN @@ -236461,7 +238788,7 @@ iOS mYs fxn pRj -kCn +mgo daS pRj iaT @@ -236498,24 +238825,24 @@ lDF wSU ovy pRj -bHZ +qYR qvk tXb ptf bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr bln bln +mQb bln +lSu +bln +mQb +mQb +bln +bln +mQb +mQb bln bln bln @@ -236685,9 +239012,9 @@ biY biY biY biY -wkC -lnE -wkC +ede +iKj +bPp bXm lnc lnc @@ -236708,11 +239035,11 @@ wEh rCC sOn aBh -tNY -dqX +eaE +wkN aBh sOn -rzm +sOn tue tue tue @@ -236749,7 +239076,7 @@ suR pRj pRj ick -pRj +ivm pRj pRj mNY @@ -236759,21 +239086,21 @@ mNY mNY mNY mNY +hPv +lej +hBf +eRE +ujK +ujK +eRE +ujK +ujK +eRE +ujK +hPv bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +uer +mQb bln bln bln @@ -236919,14 +239246,14 @@ xAs xAs xAs xAs -tCj -wPN +xAs +hIv wPN wPN -aeV lJO lJO -vNK +lJO +otM hDc wGG psR @@ -236957,8 +239284,8 @@ bep dnq gOy dnq -sIg -pTB +srw +yld pTB pTB pTB @@ -236969,8 +239296,8 @@ dnq dyN rGl hJE -kzC -wLU +vYA +hzV rGl vTo oMO @@ -236980,7 +239307,7 @@ ptd obj obj obj -iAt +obj obj obj obj @@ -237014,24 +239341,24 @@ gBv tjH aUK gGs -qAq +bbU aUj aUj +nce +mQb +mQb bln +lSu bln +mQb +mQb bln bln -bln -bln -bln -bln -bln -bln -bln -tCr -tCr -tCr -bln +yfW +fCR +ujK +ujK +dMo bln bln bln @@ -237181,15 +239508,15 @@ sDl sDl sDl hEI -iwj -kEB +sop +bJX fFb rtq lJO lJO lJO lJO -baE +htJ apX hjI hdh @@ -237214,7 +239541,7 @@ cKq cKq qsy iwz -oTg +dLQ iwz xwC jwt @@ -237227,7 +239554,7 @@ rQn iwz iwz iwz -eYP +uag iwz nQO bmv @@ -237268,7 +239595,7 @@ mXa qCl mNY aUj -uNu +vWy kLc oFY sIN @@ -237284,11 +239611,11 @@ pXY vyU uOE bln +chb bln -tCr -bln -tCr +ntK bln +chb bln bln bln @@ -237438,9 +239765,9 @@ sDl sDl sDl hEI -giR -rkd -rmU +nFG +sjp +rqk ure lJO bZx @@ -237471,8 +239798,8 @@ xIS mgj mgj mgj -mZS -mgV +srw +jOy ljp gHe sni @@ -237480,11 +239807,11 @@ bep qrJ uLC xzh -dnq +aNE qcu bDR wXW -mpy +cYj bep ylU dnq @@ -237505,7 +239832,7 @@ pRj rAO fhW mNY -vjx +anz mDf nLb kNp @@ -237522,8 +239849,8 @@ kCn kCn kCn kCn -xtX -azC +ioQ +jMn pZG toq uDE @@ -237531,7 +239858,7 @@ xFB rkc gxR uaG -kAK +iLY iLY iLY bxa @@ -237541,12 +239868,12 @@ pXY pXY fcP bln +chb bln -tCr -bln -tCr -bln +mQb bln +bvb +jHb ozo bln bln @@ -237681,7 +240008,7 @@ ooL tDg tDg oFI -gnZ +oEB sgW akQ lSu @@ -237700,15 +240027,15 @@ lJO lJO lJO lJO -wrN +bZx bZx bWn -huM +seL nUr ibk xwr xgg -aFx +xId whQ kka fmm @@ -237735,14 +240062,14 @@ gfb pYB gfb gfb -nqU +vtg rcE rcE rcE hVc jII jII -dnq +rLl ylU dnq jII @@ -237753,7 +240080,7 @@ jqT hcL hcL bln -bln +mQb bln bln bln @@ -237794,15 +240121,15 @@ iLY lqE pXY pXY -vyU -vyU +pXY +pXY uOE bln +chb bln -tCr -bln -tCr +uer bln +chb bln bln bln @@ -237941,10 +240268,10 @@ kyy cJi abb oFI -gnZ +oEB abb oFI -gnZ +oEB abb oFI rzG @@ -237956,7 +240283,7 @@ bZx bZx bZx bZx -snv +mgs kQi oWk bWn @@ -237977,11 +240304,11 @@ pAZ ucn tLi pAZ -xyl -dnq -qjm +tVd +uLC +jCT dxK -hbp +xax oyp phf sEl @@ -237992,9 +240319,9 @@ odN iZq dpH gfb -ydT +mYG iIA -fSC +fGQ iIA cvg qQb @@ -238003,15 +240330,15 @@ okb ylU jwl jII -bln +kps hcL bXF kcm mGm hcL bln -bln -bln +uer +mQb bln ptf ptf @@ -238027,12 +240354,12 @@ fxR aQR csT csT -cQH +csT mNY kCn mNY dUn -eEm +thC cpH kbJ kbJ @@ -238043,23 +240370,23 @@ epY vWe kIt kMY -wRc +omT lha -kAK +iLY iLY iLY bxa pXY pXY -vyU -vyU +pXY +pXY xLS bln +chb bln -tCr -bln -tCr +lSu bln +chb bln bln bln @@ -238213,11 +240540,11 @@ bZx bZx bZx bZx -snv +gYm krQ skZ bWn -eOK +nch xMX xIz bIc @@ -238234,11 +240561,11 @@ pAZ wtj lBD bcN -bQV -hIS -bfl +qzy +adP +adP dxK -wvw +wzk wzk wzk wzk @@ -238295,14 +240622,14 @@ kbJ kbJ wkw yaL -wrc +saO eVV rat dNG sth aUj aUj -stI +rNZ iLY iLY lqE @@ -238312,13 +240639,13 @@ pXY vyU uOE bln +chb bln -tCr -bln -tCr -bln +mQb bln +chb bln +mQb bln bln wNO @@ -238447,15 +240774,15 @@ aWk diC bJj lyG -jko +teq bXy feJ xWb jDM brx rai -twP -sPK +amn +hzG wZD iDq bln @@ -238470,11 +240797,11 @@ bZx bZx bZx bZx -snv +gYm krQ gYp bWn -lvm +iUO egL ssF pSu @@ -238492,7 +240819,7 @@ mQb bNy qWZ oVR -jOi +apo oVR dxK xVq @@ -238506,12 +240833,12 @@ dkb kmi iYb xaA -vXV -wjv +ovx +gMq pec fJl xMR -bJy +fYE cpm dnq ylU @@ -238519,9 +240846,9 @@ dnq paM paM hcL -fUI +jqT hdj -ssr +jqT hcL paM paM @@ -238533,7 +240860,7 @@ pRj pRj daS mNY -prF +gFI bdR xaI xaI @@ -238559,7 +240886,7 @@ ycB qtj qtj aUj -kAK +iLY iLY iLY bxa @@ -238568,14 +240895,14 @@ pXY pXY pXY fcP +lSu +chb bln -bln -tCr -bln -tCr -bln -bln -bln +uer +mQb +bvb +tMa +mQb bln bln wNO @@ -238716,10 +241043,10 @@ fDc eGA iDq jSt -kvh +mfH wPN -tCj -sDl +xAs +jbe sDl sDl bHI @@ -238727,11 +241054,11 @@ bZx bZx bZx bZx -snv +gYm krQ thI bWn -oQE +tsz xMX hSl ueS @@ -238748,9 +241075,9 @@ pAZ stJ fsm qWZ -aDZ -mpP -uLp +lvA +gKU +aoW dxK fbw hue @@ -238768,7 +241095,7 @@ ool jRC cgC jaq -cua +vvT cpm dnq ylU @@ -238809,14 +241136,14 @@ yaL yaL yaL yaL -sSJ +pmi bTF nHe jDP wTg -jWJ +bRj gyR -clG +fhX kAK iLY lqE @@ -238826,11 +241153,11 @@ pXY pXY uOE bln +yfW +jKQ bln -tCr -bln -tCr -bln +mQb +ebW bln bln bln @@ -238984,7 +241311,7 @@ bZx bZx bZx bZx -snv +gYm krQ gYp bWn @@ -239002,14 +241329,14 @@ xhw eJe pXn pAZ -nyE +jDB qWZ qWZ qWZ -ldT +wrk qWZ dxK -wzk +cct hue xit wfK @@ -239019,7 +241346,7 @@ iYb iYb iYb iYb -rpu +kFW ybI nnR tuz @@ -239027,11 +241354,11 @@ eRZ qpZ rAA cpm -mpy -sYu -ckc +ooV +bwD +qdI paM -sqq +pdg nBk nBk oSY @@ -239039,7 +241366,7 @@ nBk nBk aCX paM -gZk +tUG jZU uFh hwx @@ -239062,7 +241389,7 @@ mNY akL tvF tvF -aYS +qya gTK ruO fKe @@ -239071,10 +241398,10 @@ aQW pVK wRd gGt -yhC +uJR rIX -kAK -nRV +iLY +lqE fcP cSx vyU @@ -239083,14 +241410,14 @@ vyU vyU fcP bln +pMM +mQb +lSu bln -tCr -tCr -tCr -bln -bln -bln -bln +fYT +tTO +mQb +mQb bln wNO wNO @@ -239241,27 +241568,27 @@ bZx bZx bZx bZx -snv +gYm gMK huT bWn -exq +ukJ xMX vvu joh mdM -bZB -rDq +wBa +fSP iMw -wZp +rRd bWn piB eJe utR pAZ -lBD +kIL qWZ -qHD +vij bMZ paK aVH @@ -239289,7 +241616,7 @@ ylU bep paM xxQ -nnM +gMl kzO gdP ykL @@ -239337,17 +241664,17 @@ aZH fDn fDn gka +uMs +mQb bln +fPc +mQb bln bln bln +chb bln -bln -bln -bln -bln -bln -bln +mQb bln wNO wNO @@ -239488,7 +241815,7 @@ iDq iDq ciG mfH -sDl +jbe sDl sDl sDl @@ -239498,7 +241825,7 @@ bZx bZx bZx bZx -snv +gYm lwO vTg bWn @@ -239522,7 +241849,7 @@ xCv vWL nci tPC -uks +xkI gnM aHW clP @@ -239532,7 +241859,7 @@ clP clP clP clP -rya +rwn eWc nDA vvi @@ -239540,7 +241867,7 @@ xpJ vYs suL gCn -hUl +qIx dZQ aNs dnq @@ -239553,7 +241880,7 @@ nBk nBk iiT paM -jZU +wxY hFi bts nlr @@ -239601,10 +241928,10 @@ gka gka gka gka +aao +bvb +tMa bln -tCr -tCr -tCr bln wNO wNO @@ -239738,7 +242065,7 @@ feJ uGr uGr iDq -pLx +jBr lAL gPp iDq @@ -239756,10 +242083,10 @@ psN psN psN wqx -gEb +cJd gYp bWn -tEn +bTJ cGt wRI qdE @@ -239769,22 +242096,22 @@ ntK mQb bln jII -gMx -lsH -jJr +ooV +wTL +eff qWZ qWZ qWZ -bpf +svR xRw nYv qVp xKJ -rmM +veH pZh oYI aCk -uPY +wzk knU kPv dxK @@ -239838,7 +242165,7 @@ dth bTF wRd gka -swe +igw lAu vWr vWr @@ -239859,9 +242186,9 @@ lhC maY gka bln -tCr +chb +bln bln -tCr bln wNO wNO @@ -240035,7 +242362,7 @@ grA fwQ nOH gxU -jJR +gZq ybv ybv ybv @@ -240115,10 +242442,10 @@ brY lhC lhC gka -bln -tCr -bln -tCr +lSu +chb +uer +mQb bln wNO wNO @@ -240265,7 +242592,7 @@ sDl sDl sDl psN -eUR +xir nTp nTp kxp @@ -240273,7 +242600,7 @@ kQc cxz nnx bWn -sfz +rkV npu oMS npu @@ -240283,7 +242610,7 @@ nSo jII pAZ pAZ -dnq +rLl eJe utR tmQ @@ -240316,7 +242643,7 @@ dnq vrX pua paM -pEY +wik vJI uud gdP @@ -240324,7 +242651,7 @@ pjl uOn msU paM -khu +lxi bbo pbE vja @@ -240347,7 +242674,7 @@ mNY ixG aPf dzJ -neV +drd twt mEw sSJ @@ -240373,9 +242700,9 @@ rQf mUs gka bln -tCr +chb bln -tCr +mQb bln wNO wNO @@ -240522,9 +242849,9 @@ sDl sDl sDl psN -nUI +riB dkY -nCW +wLc hzY bRn fng @@ -240538,7 +242865,7 @@ bWn bWn mae pAZ -usz +mDy eZL ljx nxW @@ -240548,7 +242875,7 @@ qXF dMX gER nOH -bQd +xVc ybv xzT cHO @@ -240561,7 +242888,7 @@ bln kta jLa rBL -fYF +uMN clE jQI qnr @@ -240591,13 +242918,13 @@ dPT pRj pMu gVD -gSQ +kPu ajF qwe uJH -hHF +iAc roj -rIr +gXN pRj kCn mNY @@ -240609,7 +242936,7 @@ gTK myX sSJ gka -eEh +oAs fab eDC uIV @@ -240629,10 +242956,10 @@ viH viH rQf gka +mQb +bvb +jHb bln -tCr -bln -tCr bln wNO wNO @@ -240787,11 +243114,11 @@ pfe aeQ mdX pfe -ktK -fGr -olt -qSP -eSm +oyd +vws +mjf +wEb +sIZ pfe pfe jII @@ -240858,10 +243185,10 @@ xtQ hIH kCn mNY -wiM +hFJ tMD ehJ -xFM +fMt twt tXB sSJ @@ -240869,7 +243196,7 @@ gka uXC fab fNv -iEd +wuo wuo nnw spv @@ -240886,10 +243213,10 @@ lhC lhC lhC gka +mQb +chb bln -tCr bln -tCr bln wNO wNO @@ -241014,8 +243341,8 @@ lQc lQc nbp mgU -nbt -ioi +bvX +ccF fad azx tDw @@ -241039,11 +243366,11 @@ iiH teP teP teP -kGJ +qbk gMK fng rHc -oOt +mxF uog vVY uog @@ -241051,7 +243378,7 @@ uog nfU bzI uog -qzU +yaF mny dnq wmK @@ -241076,8 +243403,8 @@ kta kta dHa kta -wal -wDi +kta +cPK qQC jtN aYq @@ -241086,7 +243413,7 @@ kta qQG nlT krv -ylF +hyc fdy fdy fdy @@ -241106,7 +243433,7 @@ cLN cLN cLN fdy -oXc +eKb nzq cLN cLN @@ -241115,7 +243442,7 @@ kKH pRj eAj sro -apL +dgp qkT kzA whW @@ -241127,7 +243454,7 @@ glc fab ktw bny -qDj +jQe xBp bYw bYw @@ -241144,9 +243471,9 @@ phL lhC gka bln -tCr +chb +bln bln -tCr bln wNO wNO @@ -241270,7 +243597,7 @@ bln npb bln lSu -rhf +hIO rPP eNl vbF @@ -241300,7 +243627,7 @@ vDb vvh vPC pvm -tJZ +dMi cvC kQc iYG @@ -241308,7 +243635,7 @@ kQc kOV kQc kQc -kkr +iJN gOy gOy fKF @@ -241316,7 +243643,7 @@ qjg utR tmQ lkI -smI +lvl aog ktl dEI @@ -241343,7 +243670,7 @@ xXt gET gMM jba -iot +mKC oQp oQp lCY @@ -241363,7 +243690,7 @@ oQp oQp oQp oQp -lEK +mxX oQp oQp kPg @@ -241374,7 +243701,7 @@ fFy mNY bTq xUP -fQU +gRt rpF twt fcg @@ -241400,10 +243727,10 @@ efE kJU lhC gka +tMc +chb bln -tCr bln -tCr bln wNO wNO @@ -241527,7 +243854,7 @@ bln npb bln bln -rhf +hIO vyd ePr kGc @@ -241537,7 +243864,7 @@ mgU kqc kqc kqc -wAq +jct jaw xwf aPd @@ -241551,21 +243878,21 @@ bgN bgN uwB lvS -xLO +dYA fGM -aac +hrO nUJ qbA csB -stB +gtB tny dLo fBF xUU wYZ aKI -xUU -avd +peq +obb qJV vBh fiE @@ -241574,9 +243901,9 @@ utR tmQ axf kzD -kJP +nsj lhv -heS +sDV ybv xwm vzT @@ -241590,8 +243917,8 @@ kta kta eoJ kta -wal -tEK +kta +lEJ qQC hNg rFD @@ -241600,8 +243927,8 @@ kta vtz fuM vXh -jZB -rWn +hyc +tdK mJa gDV fxl @@ -241619,8 +243946,8 @@ eQX rWn rWn gDV -cSP -dAk +tro +eKb jRV uOL gQq @@ -241639,9 +243966,9 @@ wfn ras fkj fab -nsK +iag dfq -ghj +ein xBp imd imd @@ -241657,10 +243984,10 @@ lhC gsk lhC gka +lSu +chb bln -tCr bln -tCr bln wNO wNO @@ -241784,12 +244111,12 @@ bln miY oot oot -rhf +hIO jDt wtg diq -ehy -vtZ +uet +ptr mgU fUj kcc @@ -241885,20 +244212,20 @@ hOc bID qnC vkz -uoF +aom pcg deD -fLH +unG qnC isX eBI oEt gka -gFR +vKy fab fyQ wuo -vuK +wuo nnw cDK uvk @@ -241915,9 +244242,9 @@ lhC lhC gka bln -tCr +chb +bln bln -tCr bln wNO wNO @@ -242041,9 +244368,9 @@ bln npb bln bln -rhf -rhf -rhf +hIO +hIO +hIO bUx bUx bUx @@ -242071,7 +244398,7 @@ jOQ jOQ jOQ jOQ -cyZ +deY deY fhz deY @@ -242080,7 +244407,7 @@ deY deY deY wAZ -oAz +tVd uLC xQg fwm @@ -242133,7 +244460,7 @@ vvv tTV jtA bID -rlL +obo miw gCK cMd @@ -242141,13 +244468,13 @@ lHC vzU ahm qnC -xBh +bjK qGQ sOE wcx -mGV +fVy qnC -sIp +nAw uif wRd gka @@ -242172,9 +244499,9 @@ vBm lfp gka bln -tCr +bvb +hZu bln -tCr bln wNO wNO @@ -242339,7 +244666,7 @@ skl skl pAZ pAZ -dnq +rLl gOy utR tmQ @@ -242398,7 +244725,7 @@ dcC jGB akz sCA -aSw +mta ojv bAT eri @@ -242428,10 +244755,10 @@ rQf rQf mUs gka -bln -tCr -bln -tCr +mQb +chb +mQb +mQb bln wNO wNO @@ -242643,7 +244970,7 @@ oyj gwK nEV bry -fDM +vPc fLq hro tKi @@ -242657,9 +244984,9 @@ wHj mBB juH ojv -hut +lqi mDw -jDT +tbH qKQ aTj uif @@ -242685,10 +245012,10 @@ fyR lhC lhC gka -bln -tCr -bln -tCr +mQb +chb +uer +mQb bln wNO wNO @@ -242829,7 +245156,7 @@ kpj fGq eig jNp -sDl +jbe sDl sDl sDl @@ -242853,18 +245180,18 @@ vXU drZ yfF jII -gMx -oas -jJr +eff +kxA +eff qWZ qWZ qWZ -dWX +aCP wKI iFs qVp lpM -mjs +slP hsx hpR pIk @@ -242922,7 +245249,7 @@ rGu eZO wRd gka -xNn +lzJ snO pIm vWr @@ -242943,9 +245270,9 @@ pMC qWJ gka bln -tCr +chb +bln bln -tCr bln wNO wNO @@ -243081,7 +245408,7 @@ kzw kzw cAC xAQ -voA +iMg jNp jNp jNp @@ -243092,7 +245419,7 @@ sDl sDl sDl skl -jOQ +uFS skl nOl oCF @@ -243103,24 +245430,24 @@ ygB mJO oCF ygB -bLa +bSW oCF ygB lBD jII jII jII -ifd +aVr xwC utR pAZ bln qWZ -oxe +bGc vmj aqB pVq -nVZ +rkI oRk mvc mvc @@ -243128,9 +245455,9 @@ rAW kwz ghJ uEm -sqU +aEz lpM -klP +rEo euf jzn mhQ @@ -243167,7 +245494,7 @@ bDz rSC inE oPU -wuV +xpc qnC qnC sCA @@ -243199,10 +245526,10 @@ gka gka gka gka +aao +bvb +tMa bln -tCr -tCr -tCr bln wNO wNO @@ -243352,28 +245679,28 @@ skl jOQ skl ygB -xkp +gQI ygB ygB -qBd +ugX ygB ygB -lOz +nJH ygB ygB -oTh +rsV ygB fEZ ygB -hXm -fZO -uLR +tSb +aab +dcI sNI bUH pAZ -wXn +hLw qWZ -eWP +ydk tGF iUT aVH @@ -243386,12 +245713,12 @@ hCV nkb ptB mvc -olH +lzb anu jly fXb mhQ -eeq +oYN jUD nZb lRf @@ -243407,13 +245734,13 @@ uwO rSx kRP kRP -lSw +uFV cAR kNk tmA bNE hht -gMN +hxe xnE tvd egV @@ -243426,13 +245753,13 @@ vzU pZn bBd xSv -aIg -rjh +gyR +lLD xZl qaF pna -aIg -ktx +gyR +cod uif jKe wRd @@ -243455,9 +245782,9 @@ haC haC haC haC -qCB -bln -bln +hso +lSu +chb bln bln bln @@ -243619,20 +245946,20 @@ rMN alO alO qCI -xKT +fhg alO -qhF -kVj -kVj -qsY +fEe +hYD +hYD +waU xwC kKX pAZ -odi +luG qWZ qWZ qWZ -tUO +qKn qWZ lpM xxx @@ -243646,16 +245973,16 @@ xLF lpM oGQ wKw -vFb +mZT mhQ hUV aks nLH xex mhQ -ufw -rpG -jtY +cBk +kdA +reb xVK tfx tyK @@ -243674,13 +246001,13 @@ guU ayq hpI bID -sSS +iKh rOU -rcN -qxy -siz -iUx -kTQ +qXt +jEo +fEL +boX +vjQ lCD pNO nFc @@ -243706,16 +246033,16 @@ bEa dCy dMK gka +nce bln bln bln bln bln -bln -bln -bln -bln -bln +lSu +hAM +sds +ntK bln bln wNO @@ -243878,7 +246205,7 @@ iPm iPm iPm iPm -mVW +pcx hay cfr dct @@ -243888,9 +246215,9 @@ pAZ wtj eJK qWZ -kjY -bCW -uLp +kGe +lWd +dOF lpM byx aJN @@ -243926,32 +246253,32 @@ kQf hDh vnt keP -xJi +qTa ctr avk gxP bID -tZO +phw uCK -nKj -fwW -uxp -afK -bOy +gJN +ckX +iub +inn +oUw vfU pdV -hqV -pie +gyR +psu uGT qWy pna -hqV -uge +gyR +jmD xrg dxn aPD aPD -vlb +rHx fKf pst bWQ @@ -243964,13 +246291,13 @@ uYO rOe gka bln +mQb +mQb +lSu +lSu +mQb bln -bln -bln -bln -bln -tCr -bln +chb bln bln bln @@ -244115,7 +246442,7 @@ nmq kqG pVL pVL -sDl +jbe sDl sDl skl @@ -244133,12 +246460,12 @@ wVD uja uja uja -bsn +iyJ uja uja uja uja -vdO +uHN vrX utR pAZ @@ -244146,7 +246473,7 @@ eAu hFr qWZ oVR -sNQ +lfo oVR lpM dbs @@ -244173,7 +246500,7 @@ vXh cvS ewi cvS -eUI +svV kwX gDp egp @@ -244183,7 +246510,7 @@ pJQ pJQ pJQ keP -tJv +vei bTx nvW xxs @@ -244191,9 +246518,9 @@ bID bID bID bID -cfT -kvH -uIz +nnp +res +eLM bID bID bID @@ -244207,10 +246534,10 @@ gyR gyR gyR aPD -wqc +lQe umz sbK -wij +tOk gka gka gka @@ -244220,15 +246547,15 @@ fDn fDn fDn gka -bln -bln -bln -bln -bln -bln -tCr -bln -bln +ujK +gSd +lej +ujK +ujK +ujK +yhY +bvb +ftY bln bln bln @@ -244382,29 +246709,29 @@ skl eFW rlV ygB -xEJ +jMx gJC akD qIU -keL +uUM uja jHG -yjF +jcF vVw -yjF +jcF qSh hsB uja -jcy +ltY iuv utR pAZ fsm efv bcN -jYd -ugI -lIs +yan +fVf +epC lpM vPF uEm @@ -244419,7 +246746,7 @@ sIt sIt sIt log -aTG +kpA hGh raf raf @@ -244429,7 +246756,7 @@ iuv pDi cvS cGA -rgi +cGA pNq lBS aTp @@ -244468,23 +246795,23 @@ cht eiI bum wWM -vvf +hVf pcI ehP uDi -uLr -bDl -sEB +aPD +tfk sEB +qVo +chb bln +lSu bln bln bln bln bln -bln -tCr -bln +chb bln bln bln @@ -244638,18 +246965,18 @@ jOQ skl dxh xri -vAo +ttI cmL lLf asa kCu -gHj +uKR uja -sfD -gjT -szK -upx -uOy +lsF +pBs +eYF +sNj +fKR hsB uja ise @@ -244659,11 +246986,11 @@ pAZ bln lBD pAZ -mDv -sUi -tEd +hZf +rYE +xUg lpM -eEC +luk aTw iFL hpe @@ -244675,7 +247002,7 @@ dGU wdg bVv wdg -sTV +ukR pwf oUL qKz @@ -244708,7 +247035,7 @@ uAK wSo wSo vZt -iHm +qhI rXe hHN bJD @@ -244733,16 +247060,16 @@ lzy sEB sEB sEB +xhA bln bln +uer bln bln -tCr -tCr -tCr -tCr bln bln +chb +uer bln bln bln @@ -244896,14 +247223,14 @@ skl ddr ccp ygB -kCb +vrD gya tfO urd xTU uja aty -gjT +pBs uja uja uja @@ -244934,11 +247261,11 @@ sIt sIt log mhQ -rXN +pOH mhQ mhQ mhQ -dnq +rLl jtE vXh cvS @@ -244947,7 +247274,7 @@ bRH caZ hgK caZ -gDp +rqN btg pGo uoE @@ -244959,7 +247286,7 @@ jlV hHN hHN iRw -cYf +vuf bSG uop tHj @@ -244982,26 +247309,26 @@ daM pyM kxY ccz -okk +xCs lVm -qrm +aPD mzz aPD bDl -sEB -sEB -bln -bln -bln -bln +ooL +qVo +chb bln +lSu bln +mQb bln -tCr bln bln +chb bln bln +mQb bln wNO wNO @@ -245142,13 +247469,13 @@ lbk sDl sDl skl -yhL +vaW deY skl gDz xlH kbN -dym +nzn skl ygB ygB @@ -245160,25 +247487,25 @@ maB fpa uja oiz -gjT +pBs uja kDz -xVc +mBm twU uja -bvu -eXZ +uPT +poL vBh -qMf -qMf -qMf -qMf -qMf -wVR +wRk +wRk +wRk +wRk +wRk +cRu mfW -toT +vKZ mfW -aeF +uxm eta brp mfW @@ -245187,12 +247514,12 @@ ccs amN hHu tZZ -vBh -vBh -dqs +mfW +mfW +oyY aVw gxq -rlb +aVw vBh vBh vBh @@ -245204,7 +247531,7 @@ iGa caZ vpR caZ -oDk +sqN kRP fwO fwO @@ -245220,7 +247547,7 @@ cEw cEw cEw cEw -rII +woc fwq hHN lRR @@ -245244,21 +247571,21 @@ iaY duh duh duh +mQb bln -bln -sEB -bln -bln -bln -bln -bln +lbc +bvb +jHb bln bln -tCr +mQb bln bln bln +chb +mQb bln +mQb bln wNO wNO @@ -245389,7 +247716,7 @@ ihb bnM iRM kkl -tAK +xiq gUs ykw lbk @@ -245413,18 +247740,18 @@ ygB ybE eKJ ulk -rgM +ugZ uja uja uja -jnh +kqP uja uja uja hsB uja -uuh -lyh +ehq +kOq iuv vrX iuv @@ -245433,7 +247760,7 @@ iuv iuv iuv vrX -maX +uJN iuv xNF ylU @@ -245446,7 +247773,7 @@ iuv iuv iuv iuv -rpG +uJN iuv iuv iuv @@ -245475,7 +247802,7 @@ dUv cEw rLs xUV -xmL +rLs cEw cmJ rwC @@ -245501,21 +247828,21 @@ dFo kKy duh bln +ntK bln +lbc +chb bln -sEB -bln -bln -bln -bln -bln +lSu bln +mQb bln -mVm bln bln +chb bln bln +mQb bln wNO wNO @@ -245666,44 +247993,44 @@ ykA skl lQr lkj -ipx +iov seH lvY mmA -apC +whk uja -vmp -vmp -uNp +aJi +aJi +eCT uja oUO -hxB +msG xWG uja kyL -eph +hNU kyL kyL -jnU -rbh -kZm -njM -rbh -rbh -qPD -jIY +rwZ +oTu +ucu +adv +oTu +oTu +srw +kfr dKW ylU lDo dnq iuu dnq -dnq +ebH dnq apb dnq bep -mpy +srw dnq dnq ivo @@ -245758,19 +248085,19 @@ lhO fFi duh bln +mQb bln +lbc +chb bln -sEB -bln -bln -bln -bln -bln +lSu bln bln -tCr +uer bln bln +bvb +tMa bln bln bln @@ -245913,33 +248240,33 @@ bln bln fsm bUx -uek -wph +buR +kVe fnS skl -qpU -xsm +hir +kAT jOQ skl pOo piC ygB -fXo +noJ aos -cUH -rfW -beF -vme -lrE -gUw +uWo +iUs +ozk +nsu +fdV +kux uja uja uja hsB uja mdZ -hMM -lEb +ros +bnm mdZ exw hmb @@ -245949,9 +248276,9 @@ hmb hmb exw tLF -gIf -dBA -gIf +lFb +qRE +lFb azw azw mao @@ -246015,20 +248342,20 @@ alb nTL cHf qHg -tmR -bln -sEB -bln -bln -bln -bln +umg +mQb +lbc +chb +mQb bln bln bln -mVm bln +mQb bln +chn bln +uer bln bln wNO @@ -246170,60 +248497,60 @@ bUx bUx bUx bUx -maM -aXx +oBV +aXq fnS skl -eoV -npZ -qQV +bVx +idP +irn skl gmW gmW gmW ltV -tip -gxT +lAW +ksl ltV uja -mqy -mqy +tXk +tXk tUn uja jlP -azt +dHg twU uja -eUC -yjr -nvw -nPS -eav -bBa -iiB -ycE -iuE -gWl -hKn -lHi +dka +fKV +jLK +tJY +phr +eik +cby +otW +jLc +lvb +xWk +sTH lso dEV bai azw jqE kZb -tSK +cJk azw -fMg +xxi fqW -pHS +sfd nCb kWL cvS pjF nhw cvS -bEB +aMh kNA mOo jPh @@ -246271,20 +248598,20 @@ njm njm njm duh -sEB +mZf ipM bln -sEB -bln -bln -bln -bln -bln -bln +lbc +chb +mQb bln bln +lSu bln +mQb bln +chb +mQb ozo bln bln @@ -246349,7 +248676,7 @@ wNO wNO wNO bln -aaX +qzn vbG tkU tkU @@ -246421,7 +248748,7 @@ fhu bLI ykw skl -blX +ugA deY skl kQE @@ -246432,15 +248759,15 @@ skl hDV skl byP -blX -eHX -ceU -bZU -efU -qfJ -seB -mcT -xwL +ugA +hNp +tFI +eHb +hcs +bdp +nmH +tiI +hLW bVI uja uja @@ -246451,18 +248778,18 @@ uja uja uja uja -scG -cKJ -hJS -jMJ -nyj -fju -lvy -fLG -nxc -lgb -xre -lHi +sJC +aSM +fjN +xhV +mPl +ybb +fJS +hFR +rxJ +lGN +xul +sTH lso dEV bai @@ -246471,7 +248798,7 @@ rEp fTC blU azw -eul +bbO hhT vnN pQp @@ -246520,9 +248847,9 @@ qwF qwF qwF wYJ -bln -bln -bln +sEB +sEB +sEB kUu bln bln @@ -246531,19 +248858,19 @@ bln bln oxR bln -sEB -bln -bln -bln -bln -bln +lbc +chb +mQb bln +lSu bln -mVm bln bln bln +chb bln +uer +mQb bln wNO wNO @@ -246606,7 +248933,7 @@ wNO wNO wNO bln -fhB +liV vbG tkU tkU @@ -246678,48 +249005,48 @@ ekW vRN fEA uHF -jyE -jyE +wjj +wjj qdK eqq -ejY +krZ eqq eqq eqq eqq -mkM +xuL eqq -fjO +lrl qvh skl -erH +eFG ffZ vfW vfW mZK lvk -qiG -czo +gzI +gIN kKL -rDI +mBr kKL -uUw -cmK -css +pyE +suo +qZg rxY -cQp -dpj -uil -sHi +ryn +eDs +vTm +sxt shh -tjA +bHJ xgy xgy -ffr -nxc -lgb -uSE -hyQ +uYE +rxJ +lGN +ozU +fuc lso dEV kHI @@ -246728,7 +249055,7 @@ feU fTC qEj azw -tJV +rUQ orE aTE hMH @@ -246777,27 +249104,27 @@ sMg sMg qwF aPD -bln -bln -bln +nQr +sEB +sEB nyA +htd +uer bln -bln -bln -bln +mQb bln nFO -bln -sEB -bln -bln +mQb +lbc +chb bln bln +lSu bln bln bln -tCr bln +chb bln bln bln @@ -246934,56 +249261,56 @@ aML iLv hSJ ykw -fNz -wSc -blX -jee -blX -oCw +ygL +jTw +ugA +eym +ugA +aBK fhz -blX +ugA fhz -acg +vjg byP mOf -aYO +vHJ mOf skl -nJq +opt eOl -uOe -day -day -sRc -lPQ -szt +qFE +cGB +cGB +gsI +tLL +spy kKL kKL kKL -csZ -oPr -qGh +qUI +lik +tWj rxY -rra -iFz -nQm -ktY -gMi +jCK +jdV +bZm +uQc +mYR mpU -hbL +ryJ xgy -ivC -rRs -jik -lJW -lHi +faW +dHf +rWI +cOy +sTH lso dEV bai azw hnV fTC -xSu +nej azw azw azw @@ -247033,30 +249360,30 @@ kfa qCn tCB qwF +sEB +sEB +sEB +sEB +fdb bln bln -bln -bln -czY -bln -bln -bln +mQb bln bln nFO bln -sEB -bln -bln -bln -bln +lbc +chb bln +mQb bln bln -tCr bln bln bln +bvb +jHb +mQb bln bln wNO @@ -247196,60 +249523,60 @@ rFP rFP skl skl -utW -kiI +wYS +tYF skl -blX -tAt +ugA +goY skl -qMD +cFr cQx -qMD +cFr skl -eDy +fRq vfW -qrM +tBw nUj mpH -skQ -fyL -kcs +aAe +xjT +spy kKL -igH -yhV -dCV -gyP -utG +jZy +aqV +lgx +xay +lko rxY -bzF -dXR +ntE +rhG mdZ mdZ mdZ exw exw exw -kXS +dRB exw exw exw tLF -cwh +bDB dEV -whg +dYU azw -eub +xbB eyc qPt -uTc +goa biR dmI tdE veU -vEQ +pkf kRP kRP -oiB +rWH kRP pao cGA @@ -247281,7 +249608,7 @@ xGM gHl flH afR -rPn +iVg kqq cnq nqb @@ -247290,29 +249617,29 @@ uxx sMg sMg qwF -bln -bln +sEB +sEB hDG -bln -czY -bln -bln -bln -bln -bln -oxR -bln sEB +fdb +mQb bln +mQb bln bln +oxR bln +lbc +chb bln +mQb +uer bln -bln -tCr +lSu bln bln +ebW +mQb bln bln bln @@ -247453,44 +249780,44 @@ bln lBD bln skl -rWA +dow skl skl -gZV -ePd +giO +hFw skl -nSX -fgz -cnS +hED +jlk +pSF skl -cVa +eXf vfW -xqP +qfG iay dCF -skQ -fYX -pYD +aAe +fbM +kVa kKL -ddR +nWG kKL kKL -jZJ -pKo +bYC +isC rxY fzK -wPe +iIm fzK jRA -rMm -sCX -sPS -vvn -xsy -wBr +wXb +bOZ +gpM +jZj +luP +dWI lEO -wqt -jae +lRj +msE lso kjK bai @@ -247505,7 +249832,7 @@ tdE fBR fKi tHr -euR +rRA soK kRP nMN @@ -247547,11 +249874,11 @@ qwF qwF qwF qwF -bln -bln -bln -bln -czY +sEB +sEB +sEB +sEB +fdb bln bln bln @@ -247559,18 +249886,18 @@ bln bln nFO bln -sEB -bln -bln -bln -bln -bln +lbc +bvb +jHb bln bln -tCr bln +lSu +lSu bln +uap bln +mQb bln bln wNO @@ -247710,43 +250037,43 @@ ntK mQb bln skl -bkM -oWV +eZW +deY skl -lzc +vhF jPv -osN -pfy -lzc -lZP +rhv +dEL +vhF +vsx skl -aEx +hYL vfW -cWz -cCe -cCe -kkb -lPQ -fsO +sul +eGM +eGM +soI +tLL +erd kKL -uLZ -jyN +mfP +qgH kKL -mTL -uiV -ixp -edO -hjO +vJJ +awu +uzu +tbL +cEe fzK +sZB jRA -jRA -ptv -iBM -vYp -fWW -mMZ -bid -nzt +toT +spz +jHe +mPr +gOa +jKs +gDq lso lCi dEV @@ -247759,7 +250086,7 @@ azw fVK rGw azw -eiY +ePT tZm pBA aQZ @@ -247772,7 +250099,7 @@ esC eUI kRP qyR -bve +qyR kRP gDp cvS @@ -247801,32 +250128,32 @@ uQy swu swu swu -swu -swu -swu -swu -swu -swu -swu -bmT -bln -bln +dvZ +dvZ +dvZ +dvZ +dvZ +dvZ +dvZ +heE bln +mQb bln +mQb bln nFO -bln -sEB -bln -bln -bln +mQb +lbc +chb bln bln +mQb bln bln -mVm bln bln +chn +uer bln bln bln @@ -247965,46 +250292,46 @@ bln bln bln bln -gDh +stJ skl -tSd +sNL skl skl -koj +jOK deY -osN -hrd -vOd -mnn +rhv +eLN +iDe +dyA skl -ruX +gaC vfW eOl vfW vfW lvk -jiU -qVG -wpm -nBO -qPQ +crv +acN +mch +mzX +qBi kKL kKL -llm +tjG rxY -gFW -rrL -riB -nxj -gDY -crO -iBM -fVh -qlS -qSU +uWS +hjl +xBj +ddw +hjz +wqo +spz +eYS +arZ +eME hSq -pdC -pdC +jLt +ieJ vwO hHg jyp @@ -248018,7 +250345,7 @@ sEz jFZ uoV gnb -gTi +pZB whh pQL nCV @@ -248028,7 +250355,7 @@ kRP kRP kRP kRP -qyR +wCI qyR kRP gDp @@ -248055,34 +250382,34 @@ gtg cEw bCT kfs -sEB -bln -bln -bln -bln -bln -bln -bln -bln +kfs +kfs +qVo bln bln +mQb bln +mQb bln bln +yfW +jHb +mQb bln +uer bln cwn bln -sEB -bln -bln -bln -bln +lbc +chb bln +uer +mQb bln +mQb bln -tCr bln +chb bln bln bln @@ -248223,55 +250550,55 @@ bln bln bln bln -aHh +oUb ooL skl -lsh +cwT deY deY skl -edt -hqv -wHK +ygS +oGr +pDA skl -mOH +pyl uRo uRo uRo nCu cZt cZt -qtG +vnw kKL lli uar gAt kKL -nxw +jcs fzK -kQx -poV -ahh -ezk -dzD -fwi -tsu -bpv -hLy -tsu +mbm +dTa +sav +ymf +nuD +pQD +lsA +xmD +awe +lsA lEO -far -cql -gVh +atS +lmQ +lBB dEV bai azw -nNU +pdm vYH -nah +etv azw -cXu -frP +dnI +vHo oIJ nRd lwQ @@ -248282,8 +250609,8 @@ art tHr tHr tHr -bpZ -chW +xDX +qkR pBA xfb dpB @@ -248312,36 +250639,36 @@ gtg hpI qAT kfs +dtc kfs -kfs -sEB -bln -bln -bln +qVo +mQb bln bln bln bln +mQb bln +chb bln bln bln bln bln shH -vsI -sEB -bln -bln -bln +mjY +qVo +bza bln bln bln bln -mVm bln bln bln +chb +mQb +mQb bln bln wNO @@ -248483,9 +250810,9 @@ bln bln bln skl -fpF +cwH deY -hJF +ugA skl skl skl @@ -248493,44 +250820,44 @@ gmW gmW dGO dGO -tEs +kBc dGO dGO -tEs +kBc dGO dGO gmW gmW -tpZ -mGF +lgw +lJn kKL -mcQ -gNc -gNc -oPd -qhQ -qhQ -wGm -ptv -iBM -cxT -nFQ -iEY -ptO -wBa -cql -fqX +kAQ +jJA +jJA +sRw +vNU +vNU +tvt +peP +spz +qOG +dnE +gpr +izC +hku +lmQ +epw dEV -kIK +hjA azw pxV oQD vDh azw -fNA -eqp +aXg +bGq cTV -fHz +bOp lwQ qfi sEK @@ -248538,12 +250865,12 @@ eHg ahL wVw xyy -bCr +whU bYK srn pBA drH -vSx +tNz kRP gDp cvS @@ -248569,37 +250896,37 @@ uUH vuu xvj rCW -lfF +ygl fJe sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -tmR +oot +oot +oot +oot +oot +oot +oot +sjh +oot +oot +oot +oot +oot +pcb jrI -oaQ +iXg oaQ oaQ oaQ qHg -tmR -tmR -tmR -mVm -bln -bln -bln -bln +uAL +uAL +uAL +rzO +bvb +tMa +sMy +mQb bln wNO wNO @@ -248738,11 +251065,11 @@ bln fsm bln uer -yjo +bln skl skl -qiL -qiL +qFA +qFA skl fsm tlH @@ -248758,34 +251085,34 @@ knl knl knl gmW -ijw -bRO +aJa +gJD kKL -vto -kVo -jrv -qJy -iew -pqZ -wGm -ptv -iBM -fXF -nFQ -jxr +jOC +uWy +xBf +byJ +mNP +foI +tvt +peP +spz +pau +dnE +uTq izC -tNH -vbI -gVh +qiv +saF +lBB kjK -arZ +gdc azw mwF sbc qYV azw gIY -iBj +dDR mcW sFG lwQ @@ -248828,32 +251155,32 @@ loV kfs kfs kfs -sEB -bln -bln -bln -bln -bln -bln +qVo bln bln +mQb +mQb bln bln bln +chb bln +mQb bln bln bln bln +mQb +mQb bln bln bln -vsI +hMM mHR sEB tmR -tCr -bln +sEB +rrh bln bln bln @@ -248996,12 +251323,12 @@ bln bln stJ bln -bln +qtD skl -qjn -iRa +wMY +lWG skl -tlH +oFc tlH dGO knl @@ -249015,31 +251342,31 @@ knl knl knl dGO -ksR -rEH +jMu +duT kKL -giH -qiA -uiq -iPP -iew -qhQ -wGm -fwi -tsu -tZo -cxD -tsu +tdU +fXw +abZ +qfz +mNP +vNU +tvt +pQD +lsA +nwn +fSs +lsA lEO -szj -vbI -gVh +ksc +saF +lBB dEV bai hgh -czS +qlD fVo -qbd +etW rzS hgh pLt @@ -249051,7 +251378,7 @@ juw nji tkf ikz -oSQ +vyW tHr pBA pBA @@ -249061,7 +251388,7 @@ jbC kRP gDp cvS -sEB +rsh qwF qwF qwF @@ -249083,39 +251410,39 @@ sEB hpI loV kfs -bln -sEB sEB sEB -sEB -bln -bln -bln -bln -bln -bln -bln +qVo bln +mQb +mQb bln bln +mQb bln +yfW +jHb bln +mQb bln +mQb +mQb bln bln bln +mQb bln bln -sdr +tJK sEB tmR sEB -sEB -sEB -sEB -sEB -sEB -sEB +fAW +ajx +ajx +ajx +kKU +kKU mfD mfD mfD @@ -249179,7 +251506,7 @@ bln bln lBD bln -rST +xZq bln bln qRv @@ -249189,7 +251516,7 @@ hHG wNO wNO wNO -khz +pUa wNO wNO wNO @@ -249254,10 +251581,10 @@ bln bln bln bln -gbM -iRa -iRa -gbM +bxS +lWG +lWG +bxS tlH tlH dGO @@ -249273,36 +251600,36 @@ knl knl dGO uar -bXb +lby kKL -xFz -jFu -qRF -tbE -iew -kea -wGm -ptv -iBM -gkH -rji -oqB -oNN -kGD -kGD -rbE -woX +rAY +fYJ +qMF +jpg +mNP +qpm +tvt +peP +spz +tsu +uGe +fDf +mbw +rDN +qbG +qbG +onP jyp hgh -qit +kbS xxg -nDl +ehU uau hgh kBL xPT cxA -lka +bij vkD cey lux @@ -249350,28 +251677,28 @@ wvI wvI pwF wvI -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -bln -bln +nyZ +kKU +kKU +kKU +kKU +ajx +ajx +mgv bln bln +mQb +mQb bln jqx -vsI +jEK tmR -vsI -bln -bln -bln +jEK +ktX +mQb +uer bln -sEB +mZf mfD mfD xow @@ -249440,10 +251767,10 @@ lBD bln bln bln -xDQ -xDQ +wDS +wDS bln -khz +pUa wNO wNO wNO @@ -249511,10 +251838,10 @@ bln bln tlH tlH -gbM -iRa -iRa -gbM +bxS +lWG +lWG +bxS tlH tlH dGO @@ -249530,36 +251857,36 @@ knl knl dGO uar -wla +sVW kKL -eTT -ohP -kqo -qJy -iew -sBY -wGm -ptv -iBM -dpw -qMS -oVn -cKp -hKL +dBN +kOx +hye +byJ +mNP +aoO +tvt +peP +spz +sAt +bSp +jWm +tay +rRt lso -jqZ +mRy dEV -bai -xjg -wiO +eKI +hgh +hmE mnF -lKZ -xGh +tjv +xYS fCM qQx mcW cxA -lyl +bZI nMu wDe hxs @@ -249583,7 +251910,7 @@ lvG cvS cvS lvG -bVZ +cvS tYZ kRP wOn @@ -249599,35 +251926,35 @@ pzn wvI bBM mIE -mdQ +ldr hBE kJK -kmD -nDq +iZr +sHs jXr aLJ puf +dyg haC haC haC -haC -qCB -bln -bln +fOU bln bln bln bln bln +uer +mQb bln sdr dZX xcZ dZX swF -bln -bln -bln +xEn +mQb +mQb bln mfD khy @@ -249636,7 +251963,7 @@ ghY ccw cQL pbs -xHY +uvu bPc ptY ptY @@ -249644,7 +251971,7 @@ ptY ptY ptY ptY -vyt +dLL vyt vyt vyt @@ -249697,8 +252024,8 @@ lBD bln lBD bln -wUD -wUD +vOy +vOy bln wNO wNO @@ -249768,10 +252095,10 @@ bln tlH tlH tlH -uUq -gHL -iRa -gbM +aDM +aEj +lWG +bxS tlH tlH gmW @@ -249786,28 +252113,28 @@ knl knl hNx gmW -sDM +uKY gAt kKL -xcO -fco -fco -gua -qhQ -qhQ -wGm -xtH -xKq -umc -aGf -rvO +asN +bUy +bUy +gBJ +vNU +vNU +tvt +ulR +qjW +qmh +iuL +tii lEO -uLJ -reX +fPI +ghb mqq vSa fuY -clK +oXb pKb eTM vkG @@ -249816,7 +252143,7 @@ lUb vWm pbW sco -amJ +iBo lzM wbw ddu @@ -249841,20 +252168,20 @@ gDp gDp gDp cvS -cGA +muX kRP -uyU -gGC -heQ -nll +fYY +qwo +sOd +eUK ign ebr iJK ebr bzE dYI -vep -nDi +wvI +wTB xke ldr vhT @@ -249864,7 +252191,7 @@ gRI lwd mka wvI -msd +rnp wvI bln bln @@ -249875,11 +252202,11 @@ bln bln bln bln -bln +lSu bln sdr dZX -nto +gpB ote swF swF @@ -249896,7 +252223,7 @@ uVp sTx vyt vyt -yfT +vyt vyt vyt vyt @@ -249954,8 +252281,8 @@ bln bln lBD lBD -wUD -wUD +vOy +vOy bln wNO wNO @@ -250025,10 +252352,10 @@ bln tlH tlH tlH -uUq -gHL -gHL -uUq +aDM +aEj +aEj +aDM tlH tlH dGO @@ -250043,32 +252370,32 @@ aBf knl knl dGO -gdK -qgT +rVE +oqY kKL kKL kKL -kVq -pgv -uGe -byO -qMI -pba -ion -sft -pNi -eVi +sIb +uXd +iiE +oIj +quS +jNo +hvQ +gUv +tCk +fYz izC izC tLF -jgd +fqR qEM lso -dCs +ioE mJM jOz dEg -vBD +hmx hgh eei niu @@ -250085,7 +252412,7 @@ hRH dXi mmh ikz -piI +hTx cvS kRP kRP @@ -250110,7 +252437,7 @@ vXv hGs gOY ylM -vep +wvI jWt cXV nDq @@ -250119,25 +252446,25 @@ swx ldr ldr rSW -xgr -mVe +aHt +wvI fVE wvI +mQb bln +uer bln bln +mQb bln bln bln -bln -bln -bln -bln +lSu dZX tis -qci +dZX tWy -dqg +dZX swF swF qFu @@ -250211,8 +252538,8 @@ lBD lBD bln bln -wUD -wUD +vOy +vOy bln wNO wNO @@ -250282,10 +252609,10 @@ bln bln tlH bln -uUq -gHL -gHL -uUq +aDM +aEj +aEj +aDM tlH tlH dGO @@ -250302,26 +252629,26 @@ knl dGO uar lli -dwq -any +nkE +xwq kKL -vSu -iUi +mzf +blM fzK -orZ -gVX -dSs -dSs -dSs -iCS -vVA -gYN +cax +fFe +gcP +gcP +gcP +kJr +tpO +gpS izC -gdO +xHr lso vwO lso -dCs +ioE mJM obG dEf @@ -250357,7 +252684,7 @@ uep vsZ hnd kRP -lop +wCN don gJs gJs @@ -250367,7 +252694,7 @@ iJK ebr bzE pMq -vep +wvI bHu cAu xwc @@ -250375,17 +252702,17 @@ raA vRC nSw qUu -qUu +imJ fvR kiE fTB pwF +mQb +mQb bln bln bln -bln -bln -bln +uer bln bln bln @@ -250468,8 +252795,8 @@ bln lBD bln bln -rPp -rPp +dTI +dTI bln wNO wNO @@ -250538,12 +252865,12 @@ bln bln bln bln -bln +qtD kKL -oEC -gHL +cMr +aEj kKL -tlH +oFc tlH dGO knl @@ -250557,38 +252884,38 @@ knl knl knl dGO -xPf +bZW lRs tml kKL kKL -aft -jsR +uFE +xqk cpY cpY -rEY -xWI -wuc -qod -xWI -pLo -cGI +hhO +tLI +uoY +xqU +tLI +fNZ +fKZ cpY tLF -ivJ +nOj vwO -pxn -xjg -swI +gnT +hgh +ohb mTS obu mjI fCM -qPu -niu -uOW +dIL +hDq +tXc lwQ -ade +gkX oeW aTZ fle @@ -250605,7 +252932,7 @@ vSY ubq lfL gdz -isP +iPz cwu kRP kRP @@ -250615,7 +252942,7 @@ hlp cGA kRP npD -wfu +npD npD npD gGj @@ -250644,11 +252971,11 @@ bln bln bln bln -bln -bln -bln +ntK +mQb +mQb dZX -kJI +vGw fgU hPe vMA @@ -250660,7 +252987,7 @@ fQu aiY pnR xfg -rjH +uza iAk aRD hHb @@ -250679,7 +253006,7 @@ euc ujs mYh ogF -lIK +hfy uBi uBi lqz @@ -250724,14 +253051,14 @@ lBD bln bln bln -kPS +dHF hHG hHG hHG -khz +pUa wNO wNO -khz +pUa wNO wNO wNO @@ -250794,11 +253121,11 @@ wNO bln bln fsm -yjo +bln kKL kKL -odZ -odZ +wsr +wsr kKL tlH tlH @@ -250815,40 +253142,40 @@ knl knl gmW uar -hNK -bfy +gUa +uNN kKL -pOC -ncc -syd +rBz +sSX +pns cpY -gDB -sJg -sJg -sJg -sJg -sJg -sJg -kqP +vzH +uuO +uuO +uuO +uuO +uuO +uuO +guA cpY lkr lso vwO -nCz +fME nKa dqO icA joa dqO nKa -tWZ -niu +qYx +qWe agK lwQ lwQ bEL -sjX -moE +weI +syv bEL lwQ lwQ @@ -250858,7 +253185,7 @@ lwQ bEL lwQ qQp -bXT +gGI isP ePi rdG @@ -250866,7 +253193,7 @@ vQP rdG jzY xlh -jQt +hKY uep uep uep @@ -250880,9 +253207,9 @@ noR wDg rqD wDg -uin -vep -xEL +edw +wvI +ksb xyT jvR fFC @@ -250890,7 +253217,7 @@ nnn iIs iDQ msN -gVC +drK lyH isu lmy @@ -250902,8 +253229,8 @@ bln bln bln bln -bln -bln +uer +mQb dZX lIW fgU @@ -250919,7 +253246,7 @@ frq rlS cfe mXi -nDz +mzZ mRI bLz bLz @@ -251053,9 +253380,9 @@ bln efv bln kKL -xIh +uUp lli -eEr +sQS kKL kKL kKL @@ -251063,60 +253390,60 @@ gmW gmW gmW gmW -tEs +kBc dGO dGO -tEs +kBc gmW gmW gmW gmW -kav -lCO -oEe -omS -mTA -nbO -hxY +oOw +aOW +dXx +rOw +ctS +qjJ +nPc cpY -aMI -arW +mmw +oKX fkk fkk fkk fkk -spj -cmd -vrw -jlT +dkZ +dlH +aBP +ofl lso vwO -dKf +ePP nKa -kyW +dGq wKe vHf cZd nKa -mPG -ted +lIP +cJX krS -qkc +aOU mbB rDa mrB jQD slc -dMB -rjC +wZu +xza qjF pPO -wbN +qOj iyK -tOO +uzr qQp qQp -lWj +wjD rZm sOO lRD @@ -251138,15 +253465,15 @@ lmA oqc oAD xKX -vep +wvI pBI sCm -gGo -bTQ -xAm -qSC -ldr -oOx +xFf +kdC +kRw +fUW +jeR +pMN mgD oKL elT @@ -251160,21 +253487,21 @@ bln bln bln bln -bln +lSu +dZX dZX dZX dZX dZX -oOO iDp swF osm iqu fcu -uOk +vQz pnR oTS -oPv +uxG iAk mWw hHb @@ -251187,8 +253514,8 @@ pza pza pza pza -rcO -wLK +iHp +cFM mEx ujs mYh @@ -251311,54 +253638,54 @@ gsK kKU kKL cvF -xUt +sQS lli kKL -gDL +tRq iyY tlH -vww +uMW tlH dGO iyg hHq -aNj -xTI +hfd +syC gmW -abm -qyZ +cvH +kbL kKL -emF -pwz +soE +neE kKL kKL -vfw -xqa -rAx -skH -cdX -sHs -xQS +cvn +btK +aUt +vnA +ooG +oUp +syI xbn -tnz -gcf +hJo +vaL gtw -iZD -vrw -sLy +wAJ +aBP +xVo lso qEM pJC nKa -dhk +jWO cDT -iTE +rLL cAI cMN -uYm -kcj +met +idm krS -bna +ljB xtc wxH voj @@ -251368,7 +253695,7 @@ laD xPv mGO tAx -wbN +qOj grT lEo shy @@ -251389,7 +253716,7 @@ sZF sZF wDK npD -tZG +cbC nZH xbC dPj @@ -251399,30 +253726,30 @@ npD npD npD npD -fvX -fvX -cnh -cnh -oSw -ybF +mdI +npD +npD +npD +wvI +fTH wvI wvI wvI wvI vep wvI +mQb bln bln bln bln bln +lSu bln bln bln -bln -bln -bln -bln +mQb +mQb mwo swF eDh @@ -251549,73 +253876,73 @@ wNO wNO wNO wNO -reu -jas -jas -bYx -hzw -ike -jas -bYx -jas -jas -jas -bYx -jas -jas -cQE +hAM +kdS +kdS +eRE +qQk +cvJ +kdS +eRE +kdS +kdS +kdS +dop +kdS +kdS +kdS kKL -aPP +enY kKL kKL -xea -isj -gBs -lyv +eaQ +lqL +aiu +ijd iyY tlH tlH tlH dGO -ubK +brm uRo -aNj -udA +hfd +jDX gmW -gAG -wWB +bkR +pAX kKL -ddJ -rbp +hfg +hQW kKL -eGg -dSY -vlz -vlz -nvc -hXD -mMi -xnc +soR +yfg +odF +lia +dgR +haJ +tYt +nRW gtw -dpa -vlU +aoM +niO gtw -iZD -vrw -krE +wAJ +aBP +kNf lso cbs nGA nKa nTV jPl -bGD +jGJ kXM nKa -xXV +uze eYn wjL -wbN +niU iWP xIW lrc @@ -251625,10 +253952,10 @@ lCC iKl iKl xyc -dVw +sPJ bkV ree -mpR +lOV qQp tQc jbx @@ -251638,12 +253965,12 @@ tQc tQc qQp hRA -lal +dBb rkL cga api sZF -sKf +tKH wRr npD cmw @@ -251651,29 +253978,27 @@ nZH msT npD npD -hRe -hRe +ouW +aQj alq dFA sZF -nBQ -sZF -bln -bln -bln -bln -bln -bln -bln -bln +gTi +emT +wzv +oCE +gcT +gcT +lSu bln bln bln bln +mQb +mQb bln bln bln -uer bln bln bln @@ -251681,6 +254006,8 @@ bln bln bln bln +mQb +mQb swF jsq ben @@ -251806,8 +254133,7 @@ wNO wNO wNO wNO -ngh -bln +chb bln bln bln @@ -251816,50 +254142,51 @@ bln bln bln bln +mQb bln bln bln bln bln kKL -aXv -bSi +fOq +lli kKL -acm +tAN tDy kKL -tts +ftk iyY tlH tlH tlH dGO -nOI +vxW uRo -aNj -xBS +hfd +rsy gmW -akb +oiU xQU kKL kKL -qDk +kuJ kKL -gmt -cgd -kKn -vlz -lMe -gbC -vAW -cki -cki +cqb +aYu +gYT +lia +njj +qEn +tFe +eay +eay gtw gtw aHZ -nsH -vrw -jlT +ehL +aBP +ofl lso qEM xwz @@ -251874,13 +254201,13 @@ gOb gOb aSo aSo -cCD +gLn sZD lnC klc lDM -kNa -ica +dVS +bAj lDM klc rWR @@ -251893,40 +254220,34 @@ laD laD laD xLK -nHX +pDL hRA ist rkL uFz tFV sZF -edT -wRr +ecW +fed npD bPY rwe wGO npD -vMN -hRe -ves -dFA +umD +pgc +dws +dhR iye sZF -lNE -sZF -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +xkr +gTi +cip +oCE +lSu +mQb +mQb +lSu bln bln bln @@ -251934,7 +254255,13 @@ bln bln bln bln +uer +mQb +mQb bln +mQb +uer +mQb bln bln bln @@ -251952,7 +254279,7 @@ wSw fPZ itl tQM -koX +itl itl qCU vyt @@ -252063,8 +254390,8 @@ wNO wNO wNO wNO -ngh -bln +chb +mQb uei tmR uei @@ -252079,11 +254406,11 @@ uei bln bln kKL -aPP +enY kKL kKL -jRt -fTn +eRf +lfU kKL kKL kKL @@ -252093,30 +254420,30 @@ mMb kKL kKL iyY -fvm +vFT kKL kKL kKL rCf -hlt +uOm kKL -iqA +rsf kKL kKL -tUm +tSF kKL kKL cpY -nvh -hDu -eLv -nbI -oaJ -rqQ -fhS -pAn +twn +nBt +jJQ +rlE +mBL +vjA +uDv +aFh cpY -bao +pxp lso brj mbk @@ -252129,15 +254456,15 @@ lQG oxU pxX bCf -kmf -qOW -hDC +wor +wor +mfX sZD vgx lDM -pjZ -vzN -oXq +dxO +omo +jdm xWT klc uiF @@ -252157,44 +254484,44 @@ lGs rfo vzs sZF -wUb -mlo +sKf +naF npD ebr iJK -iBz +ebr npD -gMT -tFt -hRe +olM +xUW +sKf tbQ -iye +sKf sZF ddA -vjZ -bln -bln -bln +sZF +sZF +sZF bln +quy uer bln +mQb +mQb bln bln bln bln bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +hPv +ujK +ujK +hBf +eRE +ujK +ujK +ujK +iNl +ujK swF swF swF @@ -252206,7 +254533,7 @@ kCV bkr qOy pbs -rAL +nZN qMH ptY ptY @@ -252214,7 +254541,7 @@ ptY ptY ptY ptY -vyt +dLL vyt vyt vyt @@ -252320,8 +254647,8 @@ wNO wNO wNO wNO -vHT -bln +sAd +tMa uei tmR uei @@ -252336,47 +254663,47 @@ uei bln bln mMb -hAW -jVm -sON -sON +nJK +puz +kSc +kSc lRZ lRZ -ygP +tYS lRZ -wco +vjq lRZ lRZ -wco -leP +vjq +pbS lRZ lRZ -rmR -vXm +iLn +niE bMF -pns -uMj +pJi +ovz kKL -xUt -fKk +sQS +sna kKL -xOE +nFt kKL kKL kKL kKL kKL kKL -nXs +pcM kKL kKL kKL kKL kKL kKL -oFB -opH -oFB +glz +kjN +hAl vBG rMS pKw @@ -252388,16 +254715,16 @@ rZR bCf wor wor -kqN +qxG vFW noW -uvi +nOh bNH bNH rIc -tVB +gpR klc -tDA +ooy gsT eDH iYs @@ -252407,54 +254734,54 @@ dVc nfD sUT bIQ -fFJ +gib hRA npo woa -oiW -kho +uQj +htH sZF -sKf +akd mlo npD -ebr +tMS iJK cpl npD fWL -qUM -fZT +qHt +iiB dFA -axC +nhO sZF -uNw +awO vjZ +mQb bln bln bln bln bln bln +mQb +mQb +mQb bln bln bln +yfW +nTX bln +lSu bln bln bln +uer +mQb bln bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +mQb +mQb bln oiy oiy @@ -252577,7 +254904,7 @@ wNO wNO wNO wNO -ngh +chb bln uei tmR @@ -252586,7 +254913,7 @@ bln uei tmR uei -bln +mQb uei tmR uei @@ -252594,49 +254921,49 @@ bln bln kKL kKL -tOe -rkm -fEY -nDm -kda +aeS +plI +whe +chc +dDz kKL -xUt -xUt +sQS +sQS lli -xUt +sQS lli kKL -tbK +kRV ssM lli -jRt +eRf kKL kKL kKL kKL lli -xUt +sQS lli -vYY -imk -feV -sus -tIL -nVO +uwE +tnu +eUU +sdf +vmO +eYm kKL tvZ kKL -vEh -nTP -kbu -bcu +kVv +wgo +lcs +eGg kKL -lso +rjP vwO pxn vBG -mQr -idp +ulL +kGm rZZ opc qPI @@ -252645,14 +254972,14 @@ cgs bCf wor wor -apt +kjP amE vgx lDM -kAZ +oXq gUg amv -cTJ +sxs klc aSo aSo @@ -252671,24 +254998,24 @@ tMO tMO tMO sZF -hil +nfF mlo npD wPE iJK pyY npD -vBa -vLo -hyL -tbQ +lYT +waF +jmY +ptp iye sZF -cBn +eZu vjZ +mQb bln -bln -bln +mQb bln bln bln @@ -252699,7 +255026,7 @@ iAf iAf iAf bln -bln +fPc bln bln bln @@ -252834,7 +255161,7 @@ wNO wNO wNO wNO -ngh +chb bln uei tmR @@ -252843,7 +255170,7 @@ bln uei tmR uei -bln +mQb uei tmR uei @@ -252857,8 +255184,8 @@ mMb kKL kKL kKL -qUo -pjM +fsJ +ekj nLY lli gAt @@ -252866,29 +255193,29 @@ kKL lIC lRZ pQa -eDD -nhv +rOv +fuf lli -pAW -jYI -mmf +kDO +wsk +hVR lli -uWf +obt xWM -brC +dku kKL nqn lHA -rfj +ddi kKL tvZ kKL -iYY -iIv -dig -pbF +pdB +oBD +lqM +aYk kKL -rjP +vpx qEM bbM vBG @@ -252915,7 +255242,7 @@ dDw qHz ekE fzo -czF +fGY qaU jtH qpb @@ -252928,16 +255255,16 @@ jDc tMO nMb sZF -qwO +oGN wRr npD ebr hcG -bEH +nZH npD vtr -mmC -iQw +giv +aQj dFA oMs sZF @@ -252945,8 +255272,8 @@ eZu vjZ bln bln -bln -bln +mQb +mQb bln bln bln @@ -253088,10 +255415,10 @@ wNO wNO wNO wNO -reu -xog -xog -raq +hAM +kdS +kdS +nyZ bln uei tmR @@ -253117,33 +255444,33 @@ bxe bxe mHB kKL -gEl +ycO kKL kKL aIE lRZ -cCR +rmP lli -mRN -xUt -gEZ -xUt -gEZ +pKX +sQS +qdq +sQS +qdq lli -gEZ -xUt +qdq +sQS unu -cOQ -vgU -kdw -qpQ +hxa +kXW +saC +xWr kKL tvZ cDw lli lli lli -iXB +nfE kKL cwO vwO @@ -253163,7 +255490,7 @@ ubk ndJ rHz fdY -xuM +vjN wXh xCQ ufN @@ -253177,7 +255504,7 @@ nmC cEo kQJ mFE -dRe +bdT bsi cmy nAN @@ -253185,21 +255512,21 @@ kCo ezf cnb sZF -sKf -wRr +uTV +fed npD npD -czO +nvh npD npD sZF -iqr +fzO sZF sZF sZF sZF eZu -sZF +vjZ bln bln bln @@ -253214,7 +255541,7 @@ weR lQO hJD iAf -bln +mQb bln wNO wNO @@ -253345,7 +255672,7 @@ wNO wNO wNO wNO -ngh +chb bln bln bln @@ -253353,7 +255680,7 @@ bln bln tmR bln -bln +mQb bln tmR bln @@ -253368,41 +255695,41 @@ bln vsI acE acE -wtX -eqJ -ktJ +acE +kXQ +gWV oBQ mHB gUY -rmR +iLn lli kKL kKL lRZ -hfG -xUt -tNb -dge -oBJ -xUt -tNb -rNV -hrA -fkq -vIL -feV -lVN -bBn -bIq +pEc +sQS +wfE +opU +ykd +sQS +wfE +qch +gyd +tTK +aXc +eUU +iCo +kiX +enH kKL tvZ kKL -xGi -fce -jzR +lne +rrg +atI fpA kKL -tXg +rtf qEM lso bGT @@ -253410,11 +255737,11 @@ vBG wvW moG vBG -ayR +rWg oMR -hsC +cNL vBG -uSS +eTY xrb qhN amE @@ -253423,16 +255750,16 @@ klc pgY hXU oRu -hIe +ccR uKj dDw -fWn +fsz qgu tYA vds mrD liz -rKX +txH mFE nEc klk @@ -253442,27 +255769,27 @@ sSj tMO jYy sZF -vwr -wRr -eZu -lcz +jPi +fed +nGv +hQK eZu -rHo +pGG sZF -bFS -eZu +dlS +pZZ xpT hEZ sZF -kCh +lGH eZu sZF sZF vjZ sZF -gar +lSu bln -fBN +xOk vYq iAf tUh @@ -253602,8 +255929,8 @@ wNO wNO wNO wNO -wHr -bln +sAd +ftY cnx tmR tmR @@ -253628,24 +255955,24 @@ kxv fIs kxv jju -lXC +qNZ lFG -rlH +qRo gxh gxh gxh kKL gAt -hfG +pEc gAt -xUt -gPo +sQS +hFm kKL kKL mMb mMb kKL -cjh +xds kKL kKL kKL @@ -253664,16 +255991,16 @@ vwO mqq ivB vBG -loG -iOu +dxq +jAG sZF sZF -puB +jbf sZF sZF sxw ayI -ktD +jdA mSM ozN sZF @@ -253686,10 +256013,10 @@ sZF fLQ mjH qLy -obr -xMM +vds +iCj nqd -ttO +eUN mFE fil pWY @@ -253699,34 +256026,34 @@ oqT tMO vIe sZF -xsA +gWh wRr -dDo +lMa +frz +dhv +pZZ +hLX +pZZ +pZZ sKf -tfG -eZu -iaz -eZu -sZF -nGk eGK sZF -eZu -eZu +cXR +aTc xpT bdx sKf cmq -gar -bln +lSu bln +lSu vYq fWS weR jdJ xVO jAQ -bln +mQb bln bln bln @@ -253859,8 +256186,8 @@ wNO wNO wNO wNO -ngh -bln +chb +mQb bln bln bln @@ -253882,7 +256209,7 @@ bln sEB acE acE -het +acE lQf swt xTp @@ -253890,41 +256217,41 @@ pDQ xBL wJM wJM -rlH +qRo kKL dnL -hfG +pEc kKL pVl kKL kKL -kbp +xUd tlH tlH kKL -diK +rEM kKL tlH tlH bln kKL -emx -vIL -fOg -kQH -snR +dYS +aXc +amW +qmq +kWV asg kKL kdF qGV hUx -bSC +xVv sZF sZF sZF sZF sZF -sKf +ayd wEV sKf sZF @@ -253932,7 +256259,7 @@ sZF sZF sZF lpC -uWp +sZF sZF pwV pwV @@ -253958,32 +256285,32 @@ sZF sZF hEZ mlo -fUx -sKf -sZF +lCc +lRK +xKx +bHc sZF sZF sZF sZF sZF sZF -sZF -eZu +sVA sZF sZF sZF vjZ sZF -gar +lSu bln -fBN +xOk vYq iAf qPY tUh xVO jAQ -bln +mQb bln bln bln @@ -254116,15 +256443,15 @@ wNO wNO wNO wNO -dqA -jas -jas -nIe +fYT +kdS +kdS +wSp bln uei tmR uei -bln +mQb uei tmR uei @@ -254150,7 +256477,7 @@ bqe gxh kKL hOu -hfG +pEc hJx lli fAF @@ -254159,7 +256486,7 @@ kKL mMb mMb kKL -cjh +xds kKL mMb mMb @@ -254175,7 +256502,7 @@ kKL xcy rvZ hUx -veq +cie aLX vng gNT @@ -254191,7 +256518,7 @@ xwM daR mQg lRW -hkt +qDm hkt hkt hkt @@ -254210,28 +256537,28 @@ sWs sXK xTQ sWs +rzV sWs sWs -sWs -sWs +rzV xTQ vwN +rzV +rzV +rzV +vtO sWs sWs sWs sWs -leE -sWs -sWs -sWs +skI osn -osn -cmv +nzN ktf sZF bln -bln -bln +mQb +mQb bln bln bln @@ -254241,7 +256568,7 @@ jAQ iAf iAf bln -bln +mQb bln bln wNO @@ -254376,7 +256703,7 @@ wNO wNO wNO wNO -ngh +chb bln uei tmR @@ -254404,47 +256731,47 @@ cvF lli kKL mwu -rlH +qRo kKL kKL -gRL +lwI kKL jhS tOX kKL -kaI -xIh -wvJ +hVz +uUp +khs kKL -cjh -emx -fOg -fOg -fOg -fOg -maw +xds +dYS +amW +amW +amW +amW +rkh igX igX kKL -neQ +mVS kKL kKL kKL fyZ hUx -veq +cie sZF eFS sZF sZF sZF sZF -npD +sZF eZi sKf mFj npD -bEo +eMn sou mZH sZF @@ -254460,32 +256787,33 @@ sKf sKf sKf ktf -dPP -sKf +tEe sKf sKf +lVS oLn -pqK +jgL gCu -jGY -wrU -sKf +elE +xJv +bge sKf +jgL sKf -yfS -mFj +jgL xpT -jPi -hil -ktf -sKf sKf +ktf +mFj sKf +jgL sKf sKf +jgL wRr wEV sZF +mQb bln bln bln @@ -254494,11 +256822,10 @@ bln bln bln bln +fPc +mQb bln -bln -bln -bln -bln +mQb bln bln wNO @@ -254633,12 +256960,12 @@ wNO wNO wNO wNO -ngh -bln +chb +mQb uei tmR uei -bln +mQb uei tmR uei @@ -254664,16 +256991,16 @@ qqB gxh kKL weF -hfG +pEc kKL moF cjI kKL pQa -erq -erq -oPw -srU +wWo +wWo +oPO +jPq xWM kKL kKL @@ -254683,18 +257010,18 @@ kKL kKL kKL kKL -nLs +meZ aJG sQE hwE hwE cMe -veq +cie uvt tlP wIg vzX -bJJ +gAz cyX sZF npD @@ -254702,7 +257029,7 @@ npD npD npD npD -mSv +hTu npD npD npD @@ -254720,8 +257047,8 @@ npD npD npD npD -tvx -qNX +npD +gDE npD npD npD @@ -254747,14 +257074,14 @@ bln bln uer bln +mQb bln bln bln bln -bln -bln -bln -bln +yfW +mQb +uer bln bln bln @@ -254890,8 +257217,8 @@ wNO wNO wNO bln -vHT -bln +sAd +tMa uei tmR uei @@ -254921,12 +257248,12 @@ hJx qFW kKL hOu -hfG +pEc hJx mzM hUi kKL -uar +eqP unu kKL kKL @@ -254940,13 +257267,13 @@ jSC bdS dtb hUD -bOh +nNi rvZ lso lso rCu cYE -tCG +hZT idi cZU kBl @@ -254958,8 +257285,8 @@ awK ppQ mrA mtI -axc -wgR +dAh +mYp owC tsr moL @@ -254968,12 +257295,12 @@ wHc aEA dng dAB -ubh -ubh -ubh -ubh -ubh -ubh +rHi +rHi +rHi +rHi +rHi +rHi qLY pnA qFp @@ -255001,15 +257328,15 @@ pHR wEV vjZ bln +mQb bln bln +mQb +mQb bln -bln -bln -bln -bln -bln +mQb uer +fPc bln bln bln @@ -255147,7 +257474,7 @@ wNO wNO wNO bln -vnS +uap bln uei tmR @@ -255178,13 +257505,13 @@ lli gxh kKL kKL -hfG +pEc kKL kKL kKL kKL kIl -nNI +cqN kKL eIk xry @@ -255199,11 +257526,11 @@ qMm hUD sOH hUx -rek +igt rek hUx rNQ -tCG +hZT idi aID gky @@ -255213,24 +257540,24 @@ cgZ uvt iBa pra -dyW +axZ mtI lUf keZ owC -jIP +pXt qOH -veX +jIP wHc -fPO +sgL pTU itt -ubh -ubh -ubh -ubh -ubh -ubh +rHi +rHi +rHi +rHi +rHi +rHi qLY baF fvk @@ -255259,16 +257586,16 @@ wEV vjZ bln bln +mQb bln bln +mQb bln +mQb bln -bln -bln -bln -bln -bln -bln +fPc +mQb +mQb bln bln bln @@ -255404,7 +257731,7 @@ wNO wNO wNO bln -ngh +chb bln bln bln @@ -255456,11 +257783,11 @@ qMm hUD pyJ lPh -rBp +hUD hUD ebb cYE -tCG +hZT idi aID ddk @@ -255475,19 +257802,19 @@ mtI uxj eNK owC -wAx +xGA jTZ -ftt +xGA wHc -oMT +xKk emK uvU -ubh -ubh -ubh -ubh -ubh -ubh +rHi +rHi +rHi +rHi +rHi +rHi qLY oCA fvk @@ -255508,22 +257835,22 @@ tgx tgx tgx tgx -ctF -tmR +qLY +xSE sZF rzL gea sZF +mQb bln +mQb bln bln bln bln +mQb bln -bln -bln -bln -bln +pMM bln bln bln @@ -255661,28 +257988,28 @@ wNO wNO wNO wNO -dqA -jas -jas -bYx -jas -jas -jas -bYx -jas -jas -wQN -bYx -jas -jas -jas -bYx -jas -nMD -bYr -bYx -jas -ike +fYT +kdS +kdS +eRE +kdS +kdS +kdS +eRE +kdS +kdS +xFn +eRE +kdS +kdS +kdS +eRE +kdS +gSd +lej +eRE +kdS +lVr kKL hTB sRI @@ -255715,9 +258042,9 @@ nVr wFO bzA hUD -lso +eaT byK -hMs +sDd bRd fqQ wIg @@ -255756,13 +258083,13 @@ hfc ocD diL qVz -pNY -edp -dcr -aRl -bCL -ofr -sBx +luD +tfl +dXI +pTT +eLm +jVs +hfc hfc jCE adY @@ -255771,19 +258098,19 @@ sZF pHR wEV sZF +mQb +uer +mQb +mQb +ntK bln bln +mQb bln +yfW +nwD bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +mQb bln bln wNO @@ -255956,7 +258283,7 @@ kKL kKL gkP kKL -wKY +ilq eSn bJQ qCA @@ -255974,7 +258301,7 @@ vfo hUD lso cYE -nYY +fkw ult bsG wGF @@ -255999,7 +258326,7 @@ mfV xpA uHc cpg -gUX +gRA cpg cdl pMF @@ -256015,11 +258342,11 @@ dbr aFJ xJj xJj -lvh +klW iVT ogl -ffz -bzB +eyR +goe diL vTJ apT @@ -256028,20 +258355,20 @@ vjZ laf wEV vjZ +mQb bln bln +mQb +uer bln bln +mQb +mQb +fPc bln bln -bln -bln -bln -bln -bln -bln -bln -bln +mQb +uer bln wNO wNO @@ -256213,7 +258540,7 @@ nqn kKL gkP kKL -yfY +tgv huB ogd hff @@ -256231,7 +258558,7 @@ cLJ iQQ lso cYE -uIS +gAZ ult wjz tXh @@ -256243,7 +258570,7 @@ pKJ rIU tLM mtI -vtA +nRX sfY owC bYS @@ -256257,7 +258584,7 @@ jbU jbU jbU jbU -bFr +bkQ drr qhL qhL @@ -256287,18 +258614,18 @@ wEV vjZ bln bln +uer +mQb bln +mQb bln bln +mQb +fPc bln bln -bln -bln -bln -bln -bln -bln -bln +mQb +mQb bln wNO wNO @@ -256466,11 +258793,11 @@ tml kKL kLb qpd -oNy +obl kKL gkP kKL -flV +sTA ivH lVF pup @@ -256488,7 +258815,7 @@ bwl hUD uff cYE -hXt +gAZ ult hpC rIU @@ -256498,10 +258825,10 @@ irA uzi pdy fiS -uTL +agJ mtI -nRX -jVL +vtA +muP owC owC owC @@ -256510,8 +258837,8 @@ wHc mYq nyH lFW -rEd -pZA +jzH +mde gSN jbU wnX @@ -256521,10 +258848,10 @@ pvB ehd ehd ehd -wmX +ehd ooo rtn -qEv +huq vDu lva lva @@ -256543,15 +258870,15 @@ pHR wEV vjZ bln +uer bln +mQb +mQb +mQb bln bln bln -bln -bln -bln -bln -bln +yfW bln bln bln @@ -256732,7 +259059,7 @@ bla sil hUD hUD -fgm +pGT qok iZn xzd @@ -256745,7 +259072,7 @@ wND iQQ rvZ cYE -uIS +aPl ult vuq tfM @@ -256778,13 +259105,13 @@ wve hfc hfc hfc -iWI -kRI -nXp -gvM -kva -oXT -uPa +mns +hEP +wGt +dAl +hWt +ocJ +mBs ccQ aCb wAY @@ -256800,6 +259127,7 @@ pHR wEV sZF bln +mQb bln bln bln @@ -256807,9 +259135,8 @@ bln bln bln bln -bln -bln -bln +fPc +mQb bln bln bln @@ -256988,7 +259315,7 @@ kCg gjc bLQ vaE -tSt +hUD hUD hUD hUD @@ -257000,9 +259327,9 @@ sEi sEi naP hUD -jed -iIk -jed +tRo +iQa +tRo ult ult wBk @@ -257028,7 +259355,7 @@ gaT bZc qlO jbU -ily +hzb hdH qhL dkK @@ -257050,25 +259377,25 @@ vVP vVP vVP vVP -ctF -tmR +qLY +xSE sZF pHR wEV sZF +mQb +mQb bln -bln -bln -bln +uer bln vzD vzD vzD gQw gQw -vsI -bln +oMa bln +uer bln bln wNO @@ -257241,13 +259568,13 @@ lIC lli unu kKL -hno +nMT poy poy -vvJ +nRV hUD -ybr -bpL +ygf +dsZ pIw hUD ktz @@ -257260,7 +259587,7 @@ iQQ lso rNQ lso -aop +pkg yar mdl rIU @@ -257281,9 +259608,9 @@ jbU pEE cAG nbq -hAq -nDB -nfW +iNY +kiQ +xGK jbU lhu hdH @@ -257314,8 +259641,8 @@ wRr wEV vjZ bln -bln -bln +uer +mQb bln bln vzD @@ -257323,8 +259650,8 @@ oIR vzD jCl kir -sEB -bln +qVo +lSu bln bln bln @@ -257498,7 +259825,7 @@ bcC eFO unu kKL -hno +tUO poy poy vvJ @@ -257518,7 +259845,7 @@ dFO cYE lso hDb -azU +exm nIl nVC abM @@ -257535,10 +259862,10 @@ ujP htO sqn jbU -iyP +gEy dUe ank -wgH +baX fUM wlW jbU @@ -257571,17 +259898,17 @@ wRr sKf vjZ bln -bln -bln -bln +mQb +mQb +mQb bln vzD vzD vzD kir vzD -sEB -bln +rwt +mQb bln bln bln @@ -257755,12 +260082,12 @@ weF fMc aME kKL -qLf +kIr poy poy -lNk +tav hUD -nbL +uZu rGd whC hUD @@ -257780,8 +260107,8 @@ gqK nxU gjg dxg -gJi -fVC +ivG +aYi dkr cHQ jDm @@ -257795,11 +260122,11 @@ jbU anP cRK uMK -udQ +rep oMT -qwJ +ppz jbU -whc +uQR iZQ llw aus @@ -257837,9 +260164,9 @@ ydh dFG uZc gQw +mQb bln -bln -bln +lSu bln bln wNO @@ -258012,7 +260339,7 @@ nLY lli aME kKL -ttv +ptS poy poy hUe @@ -258055,23 +260382,23 @@ pbQ pbQ pbQ pbQ -eQQ +jbU lKq pMY kLy bGA lKq -bNu -hUf -bKm +tYW +oYn +cfR xMT hjE -sJP +lqN bkS pJc iBO -tPx -trn +xfp +agd bgx buv jhC @@ -258094,9 +260421,9 @@ uZc cDk sGZ gQw -bln -bln -bln +mQb +mQb +lSu bln bln wNO @@ -258261,15 +260588,15 @@ iwO uYR kKL kKL -tfu +kKL aMa -tfu kKL kKL -xUT +kKL +iVD uZn kKL -ttv +ptS prg prg caY @@ -258280,7 +260607,7 @@ gEE gEE gEE oNC -gEE +nmD gEE gEE tva @@ -258294,7 +260621,7 @@ sxZ oOo xvy wLl -axc +tKD oLg eLr wtT @@ -258302,10 +260629,10 @@ mbK jQS eNK aYJ -sSz +jpN aYJ aYJ -bXL +dwZ eLr eaa via @@ -258313,15 +260640,15 @@ aYJ lAw aYJ aYJ -aYJ +wib eLr hAm via via tPz iRN -via -ojP +odR +leo qFt pTY lcu @@ -258352,7 +260679,7 @@ gTq fNa gQw bln -bln +mQb bln bln bln @@ -258526,9 +260853,9 @@ kKL pzV uZn kKL -xXU -spW -kVE +jbz +nKb +god xse iQQ gEE @@ -258551,7 +260878,7 @@ pJV mZG mZG qEZ -axc +urk dFW aYJ aYJ @@ -258559,7 +260886,7 @@ aYJ aYJ wUt urK -xjU +mNt nJT urK urK @@ -258577,8 +260904,8 @@ pJV pJV pJV aYJ -aYJ -sSE +cTR +leo wOX efk jTr @@ -258609,6 +260936,7 @@ gQw gQw vzD bln +lSu bln bln bln @@ -258671,7 +260999,6 @@ wNO wNO wNO wNO -wNO "} (181,1,3) = {" wNO @@ -258774,11 +261101,11 @@ kKL kKL kKL kKL -qAS +cDv fUc jaX glI -gZR +mRY kKL kKL mbG @@ -258788,7 +261115,7 @@ hUD hUD hUD hUD -gEE +cEz gEE gEE gEE @@ -258802,13 +261129,13 @@ gqj emp cYE lso -kvG +qbp wLl -qXp +qfA uxA pUn wLl -dzg +jYF fXr dFj dFj @@ -258816,26 +261143,26 @@ uZB oni nxa qwN -tkS +cLK +dFj dFj dFj -gwm dFj -niC +xnM xnM xnM fLl wMm +xnM wqb -niC xnM xnM xnM xnM lYg xYj -pIt -kfZ +kkX +leo qFt bYu qkH @@ -258866,13 +261193,13 @@ bln bln bln bln +lSu +bln +lSu bln bln bln bln -wNO -wNO -wNO wNO wNO wNO @@ -259031,15 +261358,15 @@ iSQ qji pyD kKL -mqO +gCs fUc sBi xYA ldi lUC -vhm +cZc oLG -jbu +eQF oxV oxV jbG @@ -259070,31 +261397,31 @@ wnT wnT oHK oHK -cbF -dEC +xer +wKi oHK oHK -vjj -fLU -rDH -usP -wLl -wol +umv +cPt +nOa hnP -gPE -bpD -wLl -wLl -wLl -wLl -wLl -wLl -wLl -wLl -wLl -wLl +nsZ +fki +iIJ +hYE +iIJ +dia +nsZ +nsZ +uoC +nsZ +uoC +nsZ +nsZ +nsZ +nsZ hjE -vWo +xSg fOl cyL jAI @@ -259120,14 +261447,12 @@ bRz vzD bln bln +mQb bln bln -bln -bln -bln -bln -bln -bln +mQb +uer +lSu bln bln bln @@ -259186,6 +261511,8 @@ wNO wNO wNO wNO +wNO +wNO "} (183,1,3) = {" wNO @@ -259318,12 +261645,12 @@ cYE lso pHX nDd -qWh -lmY -haQ +soz +faq +ofi snI bZQ -elf +gSq ojF rQW ftN @@ -259331,26 +261658,26 @@ bxP vvE tJG oHK -goq -goq -rDH -usP -wLl +hJH +hJH +tPL +eOx +nsZ nsZ uoC -rhi +gzH uoC nsZ -iqx -awa -awa -awa -awa -xUk +nsZ +fFQ +igd +mzg +tIq +tIq cQs bdQ nsZ -bkF +pnK cSw cmx yeC @@ -259375,6 +261702,10 @@ lEz kPw dAx gQw +mQb +mQb +uer +mQb bln bln bln @@ -259387,11 +261718,7 @@ bln bln bln bln -bln -bln -bln -bln -bln +wNO wNO wNO wNO @@ -259546,7 +261873,7 @@ fLb oHh kKL bpQ -bsc +kcT oih dmL lUC @@ -259588,22 +261915,22 @@ vaA gXJ wgU oHK -pnq -goq -rDH -pvU -wLl -jUX +nWe +hJH +tPL +oiZ +nsZ +izD wbR -uXh -tur -aJz -iqx -awa -awa -awa -awa -xUk +djG +eqj +bjI +tqs +sqt +sqt +sqt +sqt +sqt aWg xgK nsZ @@ -259632,14 +261959,13 @@ lbf esF bRz gQw +mQb bln bln bln bln -bln -bln -bln -bln +lSu +mQb bln bln bln @@ -259700,6 +262026,7 @@ wNO wNO wNO wNO +wNO "} (185,1,3) = {" wNO @@ -259802,11 +262129,11 @@ eOm kKL kKL kKL -dvS +mly pwd glI tsR -gZR +mRY lUC tXV kvX @@ -259816,7 +262143,7 @@ qrQ wrX wrX wrX -gEE +cEz gEE gEE gEE @@ -259830,9 +262157,9 @@ urw emp bvI lso -mtT -pLa -jJF +cUB +nYm +mNi yeB uuC hDb @@ -259847,20 +262174,20 @@ hhP oHK iZl iZl -ieb +sVi iZl -wLl -tur +nsZ +fBJ +tkp tur -eqj -eqj -oro -iSk -awa -awa -awa -awa -xUk +bjL +sjl +fZy +fZy +fZy +fZy +fZy +gPC wvz srW nsZ @@ -259890,14 +262217,13 @@ bRz bVL vzD bln +fsm bln bln +uer bln bln -bln -bln -bln -bln +lSu bln bln bln @@ -259957,6 +262283,7 @@ wNO wNO wNO wNO +wNO "} (186,1,3) = {" wNO @@ -260063,11 +262390,11 @@ pfP apD ugG gIt -fkc +mnW lUC ccT nyC -opw +eUz oTA oTA hIN @@ -260105,13 +262432,13 @@ aju gPY qWu fbl -foy -krY -awa -awa -awa -awa -jvc +rlu +nsZ +mFb +aHX +aHX +aHX +xgF awa awa awa @@ -260127,7 +262454,7 @@ ihu epH rDZ rDZ -tBP +ePu rDZ rDZ bgx @@ -260146,17 +262473,17 @@ gQw gQw vzD vzD +lSu bln bln bln +lSu bln bln bln bln -bln -bln -bln -bln +lSu +lSu bln bln bln @@ -260322,7 +262649,7 @@ lUC lUC lUC lUC -daX +wrX pxi wrX tLQ @@ -260336,7 +262663,7 @@ gEE gEE iKQ cpq -gEE +ueF gEE gEE tva @@ -260362,13 +262689,13 @@ wgO fTT bUa wgL -phB -krY +bhm +nsZ +awa awa awa awa awa -jvc awa awa awa @@ -260378,7 +262705,7 @@ xUk aSB tHT nsZ -lHm +vmK oZn sFj rck @@ -260399,22 +262726,22 @@ vzD vzD bln bln +mQb bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -mVm -tCr -tCr -tCr -tCr -tCr +fYT +eRE +ujK +ujK +eRE +wOq +eRE +ujK +ujK +eRE +lej +lej +hAM bln bln bln @@ -260579,8 +262906,8 @@ tlH tlH tlH nXb -ngY -iQt +wrX +tuQ oHH tAA efH @@ -260601,31 +262928,31 @@ jbG nzV cYE dfB -wck +ymj pFg hXC -mrw +qad kuV cAi qWn -nQq +dik fOR tFF tia qNn -hek +uIQ gNi -krY -clo +oHK +dUh bUa fbl -nHf -krY +aDr +nsZ +awa awa awa awa awa -jvc awa awa awa @@ -260635,13 +262962,13 @@ xUk sqt duE nsZ -ijW -xsP -rms -sXC +xDa +abT +jJZ +tuy rDZ rDZ -rnu +mBk rDZ rDZ bgx @@ -260655,8 +262982,8 @@ vzD bln bln bln -bln -bln +mQb +uer bln bln bln @@ -260671,8 +262998,8 @@ bln bln bln bln -tCr -bln +chn +lSu bln bln bln @@ -260837,27 +263164,27 @@ tlH tlH nXb wrX -xun +iqW wrX oHH oHH oHH oHH qPL -nCa +qiL erI gGE qPL -pRG -mtN +pdD +asv dFt vHI vHI dFt dFt -jub -hQO -cMv +fdj +lah +asU qPL elw elw @@ -260874,15 +263201,15 @@ mEJ mEJ krY srP -pGp +rou lIk srP -krY +nsZ +awa awa awa awa awa -jvc awa awa awa @@ -260910,10 +263237,10 @@ vzD vrO vzD bln +mQb bln -bln -bln -bln +mQb +mQb bln bln sUN @@ -260928,8 +263255,8 @@ sUN tmR sUN bln -tCr -bln +sFJ +nwD bln bln bln @@ -261111,7 +263438,7 @@ gVt pCI pCI vsM -vns +avc nfB cMJ eBg @@ -261119,7 +263446,7 @@ kCs omh peV elw -tZe +oOc nvY qpu oPP @@ -261134,12 +263461,12 @@ vJS bUa ubY qHn -krY +nsZ +awa awa awa awa awa -jvc wQY nmz nmz @@ -261167,11 +263494,11 @@ jCl vpg gQw bln +uer bln bln -bln -bln -bln +mQb +ntK bln sUN tmR @@ -261184,8 +263511,8 @@ bln sUN tmR sUN -bln -tCr +hty +uap bln bln bln @@ -261391,20 +263718,20 @@ ciS bUa jPx jxb -luJ -bEJ +dqI +oEE bEJ mXe bEJ qbb -piM -hLO -hLO -hLO -hLO -uAx -pFl -cyG +miK +xRv +xRv +xRv +xRv +goy +hWD +oiI nsZ uCJ hjE @@ -261423,17 +263750,17 @@ vrO vrO vrO gQw +mQb +ntK +mQb bln bln -bln -bln -bln -bln +mQb bln sUN tmR sUN -bln +mQb sUN tmR sUN @@ -261442,7 +263769,7 @@ sUN tmR sUN bln -tCr +dzZ bln bln bln @@ -261607,7 +263934,7 @@ tlH tlH tlH nXb -tlH +oFc tlH tlH tlH @@ -261647,18 +263974,18 @@ gpj oQn iBl pLr -hRF -krY +mKO +sPq xLq xLq aoo vIg -ykE +jED qEV -wpi -gZx -tIq -tIq +cRq +qVZ +ybf +ybf vaa xLq xLq @@ -261682,15 +264009,15 @@ pxQ vzD bln bln +mQb bln bln -bln -bln +uer bln sUN tmR sUN -bln +mQb sUN tmR sUN @@ -261699,7 +264026,7 @@ sUN tmR sUN bln -bln +chb bln bln bln @@ -261773,7 +264100,7 @@ wNO wNO wNO wNO -khz +pUa wNO vbG hHG @@ -261905,22 +264232,22 @@ fbl eIC trK qEz -krY -xLq +nsZ +vyz xLq kvR -rYZ +qVZ kgo sCx -gWr iHc -ybf -gXv +qVZ +nQj +auK vaa xLq -grs +xLq nsZ -pdO +ufb dDm rDZ rDZ @@ -261956,10 +264283,10 @@ sUN tmR sUN bln -bln -tCr -tCr -tCr +rdJ +ujK +lej +hAM bln bln wNO @@ -262032,14 +264359,14 @@ wNO wNO wNO wNO -kPS +dHF hHG hHG hHG -khz +pUa wNO wNO -khz +pUa wNO wNO wNO @@ -262129,7 +264456,7 @@ tlH tlH sEB qPL -qgn +nbK vXy ixv qPL @@ -262162,7 +264489,7 @@ gVe whP mOc gYt -krY +nsZ oOb ezJ iba @@ -262170,18 +264497,18 @@ gas rjK nlP xTV -imy -dHM +rGY +nzA auK vaa xLq xLq nsZ rDZ -pxu +rDZ rDZ swa -pxu +rDZ rDZ bgx vzD @@ -262191,10 +264518,10 @@ vzD geJ sMo bgx -tfm +rkH qbh oGm -axy +mJq mJq mJq sEB @@ -262208,15 +264535,15 @@ bln bln tmR bln -bln +mQb bln tmR bln bln +fsm +mQb bln -bln -bln -tCr +vap bln bln wNO @@ -262290,8 +264617,8 @@ wNO wNO bln bln -xDQ -xDQ +wDS +wDS bln bln bln @@ -262408,21 +264735,21 @@ fTW dxm sHM elw -aFt +cIb hAT xyE hDp -kjr +hDp elw omh omh omh omh -cbq +eHV elw nsZ nsZ -vdM +qaz nsZ nsZ bgx @@ -262473,8 +264800,8 @@ tmR tmR cnx bln -tCr -bln +sFJ +tMa bln wNO wNO @@ -262547,8 +264874,8 @@ wNO wNO bln bln -wUD -wUD +vOy +vOy bln bln bln @@ -262665,17 +264992,17 @@ dbw omh sHM elw -sVf +jqw axN qvE nhI hDp elw -uKx +qrP rpV fTW bwM -hds +xGx lEv clV wmG @@ -262683,12 +265010,12 @@ jLW nkh tLT wvv -fHC +lEP lEP oEj xmR oEj -oEj +ohU oEj myO oEj @@ -262703,12 +265030,12 @@ oEj xmR oEj dww -dFZ -mbT -nBB +ygm +bgx +qUQ xQh xCz -mjt +mJq mJq mJq vsI @@ -262727,10 +265054,10 @@ bln tmR bln bln +mQb bln bln -bln -tCr +vap bln bln wNO @@ -262804,8 +265131,8 @@ wNO wNO bln bln -rPp -rPp +dTI +dTI bln bln bln @@ -262898,7 +265225,7 @@ bln bln bln bln -sEB +miY tpd wwI tPY @@ -262928,23 +265255,23 @@ elw elw elw elw -rft +lxR icE idt -fMq -pSz +nCd +bXD elw -pbH +puY opN faG -kdo +tKO hyV bgx -gti -bhk -cYI -jCl +tHw +tVx +ltP jCl +uZc jCl jCl vzD @@ -262970,7 +265297,7 @@ bln bln bln bln -bln +mQb bln sUN tmR @@ -262984,10 +265311,10 @@ sUN tmR sUN bln -bln -tCr -tCr -tCr +cIf +lej +ujK +fYT bln bln wNO @@ -263155,7 +265482,7 @@ bln bln bln bln -sEB +miY tpd hOt ejn @@ -263175,10 +265502,10 @@ udw jZM sEB omh -amK +jrX omh sED -xSw +gjM upv gjM gjM @@ -263187,24 +265514,24 @@ gjM tIW gjM aUl -xnt -egR +lmx +mHq pSz elw -gEe +pIu mEU enq -kuy +nkH qQa bgx gti -lOq +wpn jCl xWo axu bFq jCl -jCl +uZc jCl jtn jCl @@ -263222,13 +265549,13 @@ bln bln bln bln +chb +mQb +uer +mQb bln -bln -bln -bln -bln -bln -bln +nEa +mQb sUN tmR sUN @@ -263241,8 +265568,8 @@ sUN tmR sUN bln -bln -bln +chn +lSu bln bln bln @@ -263314,17 +265641,17 @@ wNO wNO wNO wNO -khz +pUa wNO -aaX +qzn vbG hHG hHG hHG -khz +pUa wNO wNO -khz +pUa wNO wNO wNO @@ -263412,22 +265739,22 @@ bln lSu lSu bln -sEB +miY +tpd tpd tpd -ljj qKq -qmV +qPL fPX -xdM +dFt jZM dFt jZM -xdM +dFt nJo -hdz +dFt quK -xdM +dFt jZM jZM sEB @@ -263438,15 +265765,15 @@ omh omh omh omh -omh -fTW +cNe +dbw rpV jYc fTW cJs fTW -fTW -omh +tlf +pSz elw mWf mWf @@ -263454,7 +265781,7 @@ mWf hyV trm bgx -vzD +gti vzD vzD vzD @@ -263472,24 +265799,24 @@ twZ bMb rEU vXd -jCl +uZc mwQ vzD bln bln bln bln +pMM bln +mQb bln bln -bln -bln -bln -bln +uer +mQb sUN tmR sUN -bln +mQb sUN tmR sUN @@ -263498,10 +265825,10 @@ sUN tmR sUN bln -tCr -bln +ebW bln bln +lSu bln bln wNO @@ -263573,7 +265900,7 @@ wNO wNO wNO wNO -fhB +liV vbG hHG hHG @@ -263669,50 +265996,50 @@ bln bln bln bln -vsI -sEB -sEB +hMM +ooL +ooL jZM xVG jZM xVG jZM -sEB -gZa -sEB +ooL +ooL +ooL jZM xVG jZM xVG jZM -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB -sEB +ooL +ooL +ooL +ooL +ooL +ooL +ooL +ooL +ooL +nXb +buU omh skW omh omh omh -omh skW omh +pSz omh -bln -bln -bln -bln +ooL +ooL +ooL hyV trm bgx -bln -bln +gti +vzD bln bln bln @@ -263724,9 +266051,9 @@ bFq jCl nuj jCl -gUT -jCl -jCl +mEz +uZc +uZc syT vzD jCl @@ -263736,12 +266063,12 @@ bln bln bln bln +chb bln bln bln bln -bln -bln +mQb bln sUN tmR @@ -263750,15 +266077,15 @@ bln sUN tmR sUN -bln +mQb sUN tmR sUN bln -tCr -bln +chb bln bln +lSu bln bln wNO @@ -263951,25 +266278,25 @@ bln bln lSu lSu -bln +nXb +omh omh -fTW xTy qNV rCT xTy qNV -mhq omh -bln +omh +omh bln bln bln hyV fiU bgx -bln -bln +vzD +vzD bln bln bln @@ -263993,12 +266320,12 @@ bln bln bln bln -bln -bln -bln -bln -bln -mVm +obe +ujK +eRE +ujK +ujK +dMo bln sUN tmR @@ -264012,8 +266339,8 @@ sUN tmR sUN bln -tCr -bln +sFJ +tMa bln bln bln @@ -264187,19 +266514,19 @@ bln lSu bln dFt -kAm +tsP jZM -gBI +vYw dFt -bln +tMa bln bln dFt -kAm +tsP jZM -gBI +vYw dFt -bln +tMa bln bln bln @@ -264218,13 +266545,13 @@ vJk vJk qbW omh +hZN bln bln bln bln bln -bln -bln +hZN bln bln bln @@ -264241,7 +266568,7 @@ bln bln bln vzD -caU +lPq vzD bln bln @@ -264255,9 +266582,7 @@ bln bln bln bln -tCr -bln -bln +chb bln bln bln @@ -264269,9 +266594,11 @@ bln bln bln bln -mVm bln bln +vap +lSu +lSu bln bln bln @@ -264430,137 +266757,137 @@ wNO wNO wNO wNO -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -jZM -xVG -jZM -xVG -jZM -bln -bln -bln -jZM -xVG -jZM -xVG -jZM -bln -bln -bln -bln -bln -bln -bln -bln -bln -lSu -mLJ -bqY -qXf -tQX -wLk -nXg -tRX -drm -omh -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -vzD -ltk -vzD -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -bln -bln -bln -bln -bln -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +jZM +xVG +jZM +xVG +jZM +bln +bln +bln +jZM +xVG +jZM +xVG +jZM +bln +bln +bln +bln +bln +bln +bln +bln +bln +lSu +mLJ +bqY +qXf +tQX +wLk +nXg +tRX +pIy +omh +bln +bln +bln +bln +bln +lSu +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +vzD +ltk +vzD +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +bln +obe +lej +iNl +ahG +ujK +ujK +lej +eRE +lej +ujK +ujK +eRE +wvw +ujK +bFP +lSu +bln +bln +bln +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO wNO wNO wNO @@ -264702,18 +267029,18 @@ bln bln jZM oeh -kLs +jZM vmR jZM -bln +htd bln bln jZM vmR -kLs +jZM woU jZM -bln +htd bln bln bln @@ -264737,6 +267064,7 @@ bln bln bln bln +lSu bln bln bln @@ -264753,10 +267081,9 @@ bln bln bln bln -bln -vsI -sEB -sEB +hMM +ooL +rwt bln bln bln @@ -264788,7 +267115,7 @@ bln bln ozo bln -bln +wNO wNO wNO wNO @@ -264947,7 +267274,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -264978,23 +267305,23 @@ bln bln bln bln -fBN -bln -bln +xOk +lSu +lSu cSx -vyU -vyU +pXY +pXY xuR vyU -vyU -uOE -bln -bln +pXY +oOB bln +lSu bln bln bln bln +lSu bln bln bln @@ -265045,7 +267372,7 @@ bln bln bln bln -bln +wNO wNO wNO wNO @@ -265238,12 +267565,12 @@ bln bln bln bln -nRV -vyU -vyU -vyU -vyU +lqE vyU +pXY +pXY +pXY +pXY fcP bln bln @@ -265251,6 +267578,7 @@ bln bln bln bln +lSu bln bln bln @@ -265300,9 +267628,8 @@ bln bln bln bln -bln -bln -bln +wNO +wNO wNO wNO wNO @@ -265555,11 +267882,11 @@ bln bln bln bln -bln -bln -bln -bln -bln +wNO +wNO +wNO +wNO +wNO wNO wNO wNO @@ -266022,7 +268349,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -266232,8 +268559,7 @@ wNO wNO wNO bln -fBN -bln +xOk bln bln bln @@ -266263,8 +268589,8 @@ bln bln bln bln -fBN bln +xOk bln bln bln @@ -266280,6 +268606,7 @@ bln bln bln bln +lSu bln wNO wNO @@ -266536,7 +268863,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -267307,7 +269634,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -267414,9 +269741,9 @@ wNO (215,1,3) = {" wNO wNO -wNO -wNO -tNN +bln +bln +fwx kDs kDs kDs @@ -267517,8 +269844,7 @@ wNO wNO wNO bln -fBN -bln +xOk bln bln bln @@ -267548,8 +269874,8 @@ bln bln bln bln -fBN bln +xOk bln bln bln @@ -267565,6 +269891,7 @@ bln bln bln bln +lSu bln wNO wNO @@ -267671,9 +269998,9 @@ wNO (216,1,3) = {" wNO wNO -wNO -wNO -wNO +bln +bln +bln kDs kDs kDs @@ -267821,7 +270148,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -267928,9 +270255,9 @@ wNO (217,1,3) = {" wNO wNO -wNO -wNO -wNO +bln +bln +bln bln hHG hHG @@ -268078,7 +270405,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -268185,10 +270512,10 @@ wNO (218,1,3) = {" wNO wNO -wNO +bln tkU tkU -lgH +fwx hHG hHG hHG @@ -268592,7 +270919,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -268802,7 +271129,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -268833,8 +271160,7 @@ bln bln bln bln -fBN -bln +xOk bln bln bln @@ -268850,6 +271176,7 @@ bln bln bln bln +lSu bln wNO wNO @@ -268959,7 +271286,7 @@ wNO tkU tkU tkU -uFg +bln hHG hHG hHG @@ -269106,7 +271433,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -269216,7 +271543,7 @@ wNO tkU tkU tkU -lgH +fwx hHG hHG hHG @@ -269363,7 +271690,7 @@ bln bln bln bln -bln +lSu bln wNO wNO @@ -269619,8 +271946,8 @@ bln bln bln bln -bln -bln +lSu +lSu bln wNO wNO @@ -269876,9 +272203,9 @@ bln bln bln bln +lSu bln -bln -bln +lSu wNO wNO wNO @@ -270087,7 +272414,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -270118,7 +272445,7 @@ bln bln bln bln -fBN +xOk bln bln bln @@ -270133,10 +272460,10 @@ bln bln bln bln -fBN -bln -fBN +xOk bln +xOk +lSu wNO wNO wNO @@ -270758,7 +273085,7 @@ wNO wNO tkU tkU -lgH +fwx hHG hHG hHG @@ -271270,7 +273597,7 @@ wNO wNO wNO wNO -wNO +bln tkU bln hHG @@ -271372,7 +273699,7 @@ wNO wNO bln bln -fBN +xOk bln bln bln @@ -271403,7 +273730,7 @@ bln bln bln bln -fBN +xOk bln bln wNO @@ -271527,7 +273854,7 @@ wNO wNO wNO wNO -wNO +bln tkU bln hHG @@ -271784,7 +274111,7 @@ wNO wNO wNO wNO -wNO +bln tkU bln hHG @@ -272041,7 +274368,7 @@ wNO wNO wNO wNO -wNO +bln tkU bln hHG @@ -272297,10 +274624,10 @@ wNO (234,1,3) = {" wNO wNO -wNO -wNO -wNO -lgH +bln +bln +bln +fwx hHG hHG hHG @@ -272554,9 +274881,9 @@ wNO (235,1,3) = {" wNO wNO -lgH -wNO -wNO +fwx +bln +bln bln hHG hHG @@ -272811,9 +275138,9 @@ wNO (236,1,3) = {" wNO wNO -aaX -wNO -wNO +qzn +bln +bln bln hHG hHG @@ -273068,9 +275395,9 @@ wNO (237,1,3) = {" wNO wNO -fhB -wNO -wNO +liV +bln +bln bln hHG hHG @@ -273325,10 +275652,10 @@ wNO (238,1,3) = {" wNO wNO -wNO -wNO -wNO -lgH +bln +bln +bln +fwx hHG hHG hHG @@ -273584,7 +275911,7 @@ wNO wNO wNO wNO -wNO +bln bln hHG hHG @@ -274613,7 +276940,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -274629,7 +276956,7 @@ vbG hHG hHG hHG -aaX +qzn wNO wNO wNO @@ -274886,7 +277213,7 @@ vbG hHG hHG hHG -fhB +liV wNO wNO wNO @@ -275384,7 +277711,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -275397,8 +277724,8 @@ wNO wNO bln bln -xDQ -xDQ +wDS +wDS bln bln wNO @@ -275654,8 +277981,8 @@ wNO wNO bln bln -wUD -wUD +vOy +vOy bln bln bln @@ -275911,8 +278238,8 @@ wNO wNO bln bln -rPp -rPp +dTI +dTI bln bln bln @@ -276412,7 +278739,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -277183,7 +279510,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index a3b90c665b221..64fe3288fba40 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -268,6 +268,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/main) +"afW" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "afZ" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment, @@ -278,6 +282,11 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"agd" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/closet/secure_closet/security/cargo, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "agi" = ( /obj/effect/spawner/random/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -448,6 +457,20 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) +"aiy" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/computer/records/security{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "aja" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1216,14 +1239,6 @@ "ayr" = ( /turf/open/floor/iron, /area/station/engineering/break_room) -"ayz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ayH" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -1479,6 +1494,14 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"aCO" = ( +/obj/machinery/computer/exodrone_control_console{ + dir = 8 + }, +/obj/structure/railing, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "aCQ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -1621,6 +1644,10 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/commons/dorms) +"aFz" = ( +/obj/machinery/vending/autodrobe, +/turf/open/floor/plating, +/area/station/maintenance/port) "aFW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/mirror/directional/west, @@ -1961,17 +1988,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) -"aKN" = ( -/obj/structure/chair/office, -/obj/machinery/requests_console/directional/north{ - department = "Quartermaster's Desk"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/landmark/start/depsec/supply, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "aKO" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2307,6 +2323,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/server) +"aQb" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "aQe" = ( /obj/machinery/light/small/directional/west, /obj/machinery/camera/directional/west{ @@ -2503,6 +2528,14 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"aUU" = ( +/obj/machinery/light/directional/east, +/obj/machinery/light_switch/directional/east, +/obj/structure/rack, +/obj/effect/decal/cleanable/greenglow/filled, +/obj/effect/spawner/random/maintenance/no_decals/eight, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aVd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2830,6 +2863,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"aZz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/item/stock_parts/power_store/cell/lead{ + pixel_y = 1; + pixel_x = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aZA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3163,6 +3207,30 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"bfw" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2"; + name = "Sort and Deliver"; + pixel_x = -2; + pixel_y = 12 + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "packageExternal"; + name = "Crate Returns"; + pixel_x = -5; + pixel_y = -3 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/effect/turf_decal/trimline/white/corner, +/obj/structure/disposalpipe/segment, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "bfM" = ( /obj/machinery/door/airlock/public/glass{ name = "Art Storage" @@ -3198,11 +3266,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"bgx" = ( -/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) "bgS" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/camera/directional/west{ @@ -4097,28 +4160,6 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"bvl" = ( -/obj/machinery/newscaster/directional/east, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -7; - pixel_y = 10 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_y = 16 - }, -/obj/machinery/digital_clock/directional/north, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bvJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -4951,11 +4992,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/service/cafeteria) -"bLj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/brown/filled/warning, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bLm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/green, @@ -4967,19 +5003,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/airless, /area/space/nearstation) -"bLY" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "bMa" = ( /obj/structure/disposaloutlet{ dir = 4; @@ -5088,6 +5111,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"bNw" = ( +/obj/structure/railing/corner, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "bNE" = ( /obj/machinery/light/directional/east, /obj/structure/cable, @@ -5182,18 +5213,6 @@ /obj/item/bodypart/arm/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"bQl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Cargo Office"; - name = "Cargo Office Fax Machine" - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bQN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/computer/security/telescreen/entertainment/directional/north, @@ -5777,6 +5796,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"cap" = ( +/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, +/area/station/cargo/sorting) "caO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -6488,14 +6513,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"cqy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "cqD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -7454,6 +7471,15 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"cIl" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "cIK" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/effect/turf_decal/tile/yellow/fourcorners, @@ -7527,21 +7553,6 @@ /obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"cJS" = ( -/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/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "cJT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -7581,6 +7592,20 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) +"cKD" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = 3 + }, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/exodrone{ + pixel_y = 11 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "cKN" = ( /obj/structure/table/wood, /obj/structure/cable, @@ -8029,6 +8054,11 @@ }, /turf/open/floor/wood, /area/station/security/office) +"cUt" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "cUw" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -8195,15 +8225,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/office) -"cXE" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/cargo/sorting) "cXH" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -8595,6 +8616,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/theater) +"dfa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/item/storage/test_tube_rack/full, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "dfh" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -8627,15 +8656,6 @@ "dfC" = ( /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"dfK" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/cargo_technician, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dfO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8648,11 +8668,6 @@ /obj/effect/turf_decal/box/corners, /turf/open/floor/iron, /area/station/engineering/atmos) -"dfU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "dgc" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -9359,6 +9374,16 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"dsJ" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + 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/cargo/storage) "dsQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -9386,35 +9411,24 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"dtw" = ( +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/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, +/turf/open/floor/iron, +/area/station/cargo/sorting) "dtB" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 }, /turf/open/floor/iron, /area/station/engineering/atmos) -"dtE" = ( -/obj/structure/table/reinforced, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/pen/red{ - pixel_y = 10 - }, -/obj/item/dest_tagger{ - pixel_x = 9; - pixel_y = 10 - }, -/obj/item/pen/screwdriver{ - pixel_x = -7; - pixel_y = 7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dtY" = ( /obj/machinery/meter/monitored/waste_loop, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ @@ -9727,12 +9741,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison) -"dAk" = ( -/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/cargo/storage) "dBb" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/structure/window/reinforced/spawner/directional/north, @@ -9997,14 +10005,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"dGC" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/trimline/brown/filled/end{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dGD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10042,15 +10042,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/cargo/lobby) -"dHz" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "dHG" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 @@ -10272,6 +10263,7 @@ /obj/item/food/popsicle/creamsicle_orange, /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/dark_blue/half/contrasted, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, /turf/open/floor/iron/kitchen_coldroom, /area/station/medical/coldroom) "dLq" = ( @@ -10725,32 +10717,6 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"dSH" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/shipping{ - pixel_x = -6; - pixel_y = 15 - }, -/obj/item/multitool{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/flashlight/lamp{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/storage/box/shipping{ - pixel_x = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dSJ" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/sign/poster/random/directional/north, @@ -11099,25 +11065,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/security/courtroom) -"dYi" = ( -/obj/structure/table, -/obj/item/stock_parts/micro_laser{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/stock_parts/micro_laser{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stock_parts/micro_laser{ - pixel_x = 2 - }, -/obj/item/stock_parts/micro_laser{ - pixel_x = 6; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "dYl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -11264,12 +11211,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) -"ebg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "ebr" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=0-SecurityDesk"; @@ -11782,6 +11723,32 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"ejD" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/wrapping_paper, +/obj/item/paper_bin/carbon{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/pen/fourcolor{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/wrapping, +/obj/item/sales_tagger{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/dest_tagger{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ejF" = ( /obj/effect/turf_decal/trimline/brown/warning{ dir = 5 @@ -11852,13 +11819,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"ekb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ekh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -12003,19 +11963,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"elz" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = 3 - }, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = -3 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "elJ" = ( /turf/closed/wall/r_wall, /area/station/science/server) @@ -12054,15 +12001,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"eml" = ( -/obj/machinery/light/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/cargo/lobby) "emN" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -12329,6 +12267,16 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/wood, /area/station/service/library) +"erU" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/computer/cargo/request{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "esd" = ( /obj/item/reagent_containers/cup/glass/drinkingglass{ pixel_x = 4; @@ -12702,6 +12650,13 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) +"exB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/brown/filled/warning, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "exC" = ( /obj/effect/turf_decal/plaque{ icon_state = "L3" @@ -12932,6 +12887,12 @@ }, /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) +"eDO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "eDX" = ( /obj/structure/sign/departments/science/directional/east, /obj/effect/turf_decal/tile/purple{ @@ -13270,7 +13231,6 @@ /turf/open/floor/iron, /area/station/service/hydroponics) "eKG" = ( -/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -13905,6 +13865,10 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"eVG" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "eVX" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -14350,13 +14314,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"fea" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "fec" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/closed/wall/r_wall, @@ -15245,9 +15202,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) -"fru" = ( -/turf/closed/wall, -/area/station/cargo/drone_bay) "frw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -15388,14 +15342,6 @@ /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/storage) -"fwd" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fwz" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/iron/dark, @@ -15536,6 +15482,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, /area/station/solars/port/fore) +"fzo" = ( +/obj/effect/turf_decal/stripes/line, +/obj/item/stock_parts/micro_laser{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fzr" = ( /obj/structure/window/spawner/directional/south, /obj/structure/window/spawner/directional/west, @@ -15743,6 +15699,13 @@ /obj/structure/cable, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"fEV" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Cargo" + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "fEW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16111,15 +16074,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"fLp" = ( -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "fLq" = ( /obj/machinery/door/window/left/directional/north{ name = "Inner Pipe Access"; @@ -16156,6 +16110,14 @@ /obj/machinery/power/tracker, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) +"fMa" = ( +/obj/structure/rack, +/obj/effect/spawner/random/trash/ghetto_containers, +/obj/effect/spawner/random/trash/ghetto_containers, +/obj/effect/spawner/random/trash/ghetto_containers, +/obj/effect/spawner/random/trash/ghetto_containers, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fMf" = ( /obj/structure/chair/office{ dir = 1 @@ -16192,6 +16154,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"fMC" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/depsec/supply, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "fMN" = ( /obj/machinery/firealarm/directional/west, /obj/structure/disposalpipe/segment{ @@ -16601,14 +16573,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"fWn" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/closet/crate, -/turf/open/floor/iron, -/area/station/cargo/sorting) "fWw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16825,6 +16789,25 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"gav" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/table, +/obj/machinery/photocopier{ + pixel_y = 9 + }, +/obj/item/paper/fluff{ + pixel_y = 8; + pixel_x = 4; + default_raw_text = "Next CT to photocopy their ass is getting thrown under the shuttle. I'm serious here.
- QM"; + name = "note" + }, +/obj/machinery/newscaster/directional/east, +/obj/item/pen/screwdriver{ + pixel_x = 1; + pixel_y = 11 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "gaG" = ( /obj/effect/spawner/random/maintenance, /obj/structure/cable, @@ -17034,22 +17017,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/grass, /area/station/medical/virology) -"geR" = ( -/obj/structure/table, -/obj/item/papercutter{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stamp/granted{ - pixel_x = -7 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "geV" = ( /obj/structure/sink/directional/east, /obj/machinery/light_switch/directional/west, @@ -17150,6 +17117,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ggW" = ( +/obj/machinery/space_heater/improvised_chem_heater, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ggZ" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment{ @@ -17739,6 +17710,19 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"gsV" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/structure/railing/corner/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gsW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass{ @@ -18026,32 +18010,6 @@ }, /turf/open/floor/iron/checker, /area/station/engineering/atmos/storage/gas) -"gxM" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = 1; - pixel_y = 6 - }, -/obj/item/stack/package_wrap{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/dest_tagger{ - pixel_x = -9; - pixel_y = 12 - }, -/obj/item/hand_labeler_refill{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/item/stack/wrapping_paper, -/turf/open/floor/iron, -/area/station/cargo/sorting) "gya" = ( /obj/structure/table, /obj/item/storage/box/hug{ @@ -19005,6 +18963,10 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/engine, /area/station/science/xenobiology) +"gOO" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gOS" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -19047,24 +19009,15 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"gPw" = ( +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "gPA" = ( /obj/structure/table/wood, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"gPN" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "gPY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19243,9 +19196,6 @@ /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/brown/filled/line{ - dir = 1 - }, /obj/structure/fake_stairs/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) @@ -19524,6 +19474,16 @@ /obj/effect/mapping_helpers/mail_sorting/service/kitchen, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"gZq" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/structure/chair/office/light, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "gZu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19559,6 +19519,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/main) +"hab" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/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, +/area/station/cargo/sorting) "hav" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -19595,6 +19565,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/main) +"haZ" = ( +/obj/item/reagent_containers/cup/glass/mug/britcup, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hbv" = ( /turf/closed/wall/r_wall, /area/station/medical/coldroom) @@ -20053,9 +20029,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"hkj" = ( -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "hko" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -20207,6 +20180,10 @@ }, /turf/open/floor/engine/vacuum, /area/space/nearstation) +"hlT" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hmf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -20437,11 +20414,6 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"hrC" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/security/checkpoint/supply) "hrG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20473,17 +20445,6 @@ dir = 8 }, /area/station/service/chapel/office) -"hsx" = ( -/obj/machinery/door/airlock/mining{ - name = "Drone Bay" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/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/plating, -/area/station/cargo/drone_bay) "hsF" = ( /obj/machinery/door/airlock{ id_tag = "AuxToilet3"; @@ -20655,31 +20616,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating, /area/station/security/checkpoint/customs) -"hvk" = ( -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 5 - }, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/stack/package_wrap, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/structure/table, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) -"hvo" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "hvr" = ( /obj/machinery/camera/directional/south{ c_tag = "Central Primary Hallway - Fore - Courtroom" @@ -20704,6 +20640,7 @@ "hvB" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/brown/filled/warning, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/sorting) "hvI" = ( @@ -21157,6 +21094,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"hCh" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "hCl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -21236,11 +21183,6 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/white, /area/station/security/prison) -"hDX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/security/checkpoint/supply) "hEc" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -21559,6 +21501,7 @@ /obj/effect/turf_decal/arrows/red{ dir = 4 }, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/cargo/storage) "hKV" = ( @@ -21609,12 +21552,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"hLL" = ( -/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) "hLZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/junction{ @@ -21722,6 +21659,7 @@ /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/brown/filled/warning, /obj/structure/disposalpipe/segment, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/sorting) "hOp" = ( @@ -21890,6 +21828,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/brig) +"hRJ" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/item/paper_bin/carbon, +/obj/item/pen/red/security, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "hRQ" = ( /obj/machinery/disposal/bin{ pixel_x = -2; @@ -22195,9 +22140,6 @@ /area/station/command/teleporter) "hWC" = ( /obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, /obj/structure/fake_stairs/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) @@ -22211,13 +22153,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) -"hWK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "hWW" = ( /obj/structure/bookcase/random, /turf/open/floor/iron, @@ -22652,6 +22587,24 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/cargo/sorting) +"ieD" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/hypospray/medipen/pumpup, +/obj/item/reagent_containers/hypospray/medipen/pumpup{ + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/mortar{ + pixel_x = 3 + }, +/obj/item/extinguisher/crafted{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/item/pestle{ + pixel_x = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ieH" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -22992,10 +22945,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) -"ikL" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "ikO" = ( /obj/machinery/newscaster/directional/north, /obj/structure/table/glass, @@ -23149,6 +23098,15 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"imT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "imU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24123,24 +24081,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/range) -"iDG" = ( -/obj/structure/table, -/obj/item/stock_parts/scanning_module{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/stock_parts/scanning_module{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/stock_parts/scanning_module{ - pixel_x = -5 - }, -/obj/item/stock_parts/scanning_module{ - pixel_x = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "iDN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24314,16 +24254,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) -"iHS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Cargo" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "iId" = ( /obj/machinery/conveyor{ id = "mining" @@ -24816,6 +24746,24 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/brig) +"iQb" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 9 + }, +/obj/item/pen/red{ + pixel_y = 7; + pixel_x = 9 + }, +/obj/machinery/recharger, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/requests_console/auto_name/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "iQd" = ( /obj/machinery/door/poddoor/shutters{ id = "supplybridge" @@ -26177,12 +26125,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"jmR" = ( -/obj/structure/closet/secure_closet/security/cargo, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "jmT" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/neutral{ @@ -26379,16 +26321,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port) -"jqr" = ( -/obj/machinery/computer/security/mining{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "jqQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -26424,6 +26356,11 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"jrQ" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "jrY" = ( /obj/machinery/door/airlock/external{ name = "Transport Airlock" @@ -26957,6 +26894,17 @@ "jzp" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) +"jzq" = ( +/obj/structure/table/wood, +/obj/structure/chem_separator{ + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/glass/trophy{ + pixel_y = 15; + pixel_x = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jzw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -27076,29 +27024,6 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron, /area/station/cargo/storage) -"jBy" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/conveyor_switch/oneway{ - id = "packageSort2"; - name = "Sort and Deliver"; - pixel_x = -2; - pixel_y = 12 - }, -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "packageExternal"; - name = "Crate Returns"; - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/effect/turf_decal/trimline/white/corner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jBC" = ( /obj/structure/table, /obj/item/clothing/head/soft/grey{ @@ -27165,6 +27090,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay/central) +"jCs" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/vending/boozeomat, +/turf/open/floor/wood, +/area/station/maintenance/port/aft) "jCw" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -27418,6 +27348,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"jHM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jHQ" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 @@ -27428,12 +27367,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/medical/break_room) -"jHW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/brown/filled/warning, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jHX" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -28010,28 +27943,6 @@ "jRg" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"jRo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/hand_labeler_refill{ - pixel_x = 12; - pixel_y = -3 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/stack/package_wrap{ - pixel_x = -6; - pixel_y = 18 - }, -/obj/item/hand_labeler, -/obj/item/stack/package_wrap, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jRz" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -28250,11 +28161,11 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable, /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) "jUu" = ( @@ -28915,6 +28826,20 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) +"kgZ" = ( +/obj/structure/sign/poster/official/random/directional/south, +/obj/item/wallframe/camera{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/structure/fermenting_barrel, +/obj/item/clothing/head/fedora{ + pixel_y = 13; + name = "porkpie hat"; + desc = "This hat reeks of bad decisions and chemical compounds. There's some odd white dust covering it." + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kha" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/east, @@ -29078,6 +29003,13 @@ /obj/machinery/atmospherics/pipe/smart/simple/supply/hidden, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"kkA" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/computer/security, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "kkB" = ( /obj/machinery/mineral/ore_redemption{ dir = 4; @@ -29626,17 +29558,6 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/station/solars/port/fore) -"kuS" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/brown/anticorner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"kuW" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "kvd" = ( /obj/machinery/light/directional/west, /obj/structure/cable, @@ -29695,14 +29616,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"kwh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "kwp" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -29834,6 +29747,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"kyf" = ( +/obj/machinery/computer/exoscanner_control, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_y = 19; + pixel_x = -6 + }, +/obj/structure/sign/departments/exodrone/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "kyh" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -30110,6 +30033,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"kDb" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/depsec/supply, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "kDk" = ( /obj/machinery/door/airlock/security/glass{ name = "Permabrig Visitation" @@ -30200,15 +30130,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"kFa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cargo_technician, -/obj/structure/chair/office{ +"kFb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ dir = 4 }, /turf/open/floor/iron, -/area/station/cargo/sorting) +/area/station/cargo/storage) "kFg" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -30237,6 +30168,16 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/service/library) +"kFQ" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "kFS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -30394,6 +30335,24 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"kJk" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/directional/west, +/obj/item/dest_tagger{ + pixel_x = -9; + pixel_y = 12 + }, +/obj/item/hand_labeler_refill{ + pixel_x = -11; + pixel_y = -3 + }, +/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, +/area/station/security/checkpoint/supply) "kJx" = ( /obj/structure/chair/office, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31385,14 +31344,6 @@ /obj/effect/spawner/random/trash/janitor_supplies, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"lak" = ( -/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/cargo/sorting) "lav" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -31494,6 +31445,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) +"lcI" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lcJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31795,10 +31762,10 @@ /turf/open/floor/iron, /area/station/cargo/storage) "liX" = ( -/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/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) "lje" = ( @@ -31867,6 +31834,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/bridge) +"ljT" = ( +/obj/machinery/exodrone_launcher, +/obj/item/exodrone, +/obj/effect/turf_decal/box, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "lkc" = ( /obj/machinery/barsign, /turf/closed/wall, @@ -32087,10 +32060,6 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"lpt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "lpA" = ( /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, @@ -32258,27 +32227,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"lsU" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = 1 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/dest_tagger{ - pixel_x = 7; - pixel_y = 1 - }, -/obj/item/stack/wrapping_paper{ - pixel_x = -4; - pixel_y = -7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lsV" = ( /obj/effect/turf_decal/siding/purple{ dir = 10 @@ -32451,11 +32399,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"lvY" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/vending/boozeomat/all_access, -/turf/open/floor/wood, -/area/station/maintenance/port/aft) "lvZ" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -32583,6 +32526,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"lzD" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + 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/cargo/sorting) "lzJ" = ( /obj/structure/cable, /turf/open/floor/iron/solarpanel/airless, @@ -34908,12 +34860,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"muq" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "mur" = ( /obj/machinery/light/directional/north, /obj/machinery/status_display/evac/directional/north, @@ -35048,14 +34994,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"mwP" = ( -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "mwY" = ( /obj/effect/spawner/random/trash/garbage, /obj/effect/landmark/generic_maintenance_landmark, @@ -35090,13 +35028,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) -"mxx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/cargo/sorting) "mxI" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable, @@ -35164,10 +35095,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"myZ" = ( -/obj/machinery/vending/autodrobe/all_access, -/turf/open/floor/plating, -/area/station/maintenance/port) "mzg" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/red, @@ -35175,16 +35102,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"mzj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "mzm" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ @@ -36390,12 +36307,6 @@ /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"mUF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "mUL" = ( /obj/machinery/door/airlock/atmos{ name = "Hypertorus Fusion Reactor" @@ -37272,6 +37183,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"nkq" = ( +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "nkG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /obj/machinery/meter, @@ -37554,6 +37469,16 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"npX" = ( +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/trimline/brown/filled/line{ + 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/cargo/storage) "npY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -37938,12 +37863,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/office) -"nut" = ( -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) "nuB" = ( /obj/structure/secure_safe/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -38147,6 +38066,15 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/bar/backroom) +"nxI" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/stairs, +/area/station/cargo/storage) "nxO" = ( /obj/structure/chair/office{ dir = 8 @@ -38829,20 +38757,6 @@ }, /turf/open/space/basic, /area/space) -"nKu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_y = 48; - pixel_x = 9 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nKE" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, @@ -38896,13 +38810,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/wood, /area/station/service/library) -"nLx" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nLz" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -39729,17 +39636,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/commons/dorms) -"obF" = ( -/obj/machinery/computer/exoscanner_control{ +"oby" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Drone Launch Room"; - pixel_x = 14 +/obj/machinery/computer/security/mining, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, +/obj/machinery/light/small/directional/north{ + pixel_x = -11 }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "obG" = ( /turf/closed/wall, /area/station/service/theater) @@ -40240,6 +40147,15 @@ /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/service) +"omc" = ( +/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 = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "omd" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -41448,6 +41364,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) +"oHm" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs, +/area/station/cargo/storage) "oHw" = ( /obj/structure/cable, /turf/open/floor/iron/white/corner, @@ -41751,6 +41673,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/medical/office) +"oNR" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "oOl" = ( /obj/machinery/flasher/directional/north{ id = "AI" @@ -41796,6 +41723,12 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space, /area/space/nearstation) +"oOY" = ( +/obj/structure/rack, +/obj/item/fuel_pellet, +/obj/item/fuel_pellet, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "oOZ" = ( /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, @@ -41924,6 +41857,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"oRx" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "oRM" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -42020,16 +41962,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"oTw" = ( -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "oTD" = ( /obj/structure/frame/computer, /turf/open/floor/plating/airless, @@ -42296,6 +42228,11 @@ /obj/machinery/light/small/red/directional/west, /turf/open/floor/plating/airless, /area/space/nearstation) +"oYs" = ( +/obj/machinery/vending/autodrobe, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/commons/locker) "oYv" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/bed, @@ -42396,15 +42333,6 @@ "paD" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) -"paQ" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/cargo/request{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/sorting) "paU" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -42782,14 +42710,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"phP" = ( -/obj/structure/table, -/obj/item/exodrone{ - pixel_y = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "phR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42899,6 +42819,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) +"pjX" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment, +/obj/structure/tank_holder/extinguisher, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pke" = ( /obj/effect/turf_decal/siding/red{ dir = 6 @@ -42916,13 +42849,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) -"pkF" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pkH" = ( /obj/structure/rack, /obj/item/restraints/handcuffs, @@ -43082,6 +43008,15 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"pnl" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/wallframe/apc, +/obj/item/phone, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pnx" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -43135,6 +43070,12 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) +"pog" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/security/checkpoint/supply) "poj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43886,19 +43827,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/medical/break_room) -"pCs" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Mailroom" - }, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/white/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pCt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43944,6 +43872,13 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) +"pDf" = ( +/obj/machinery/requests_console/directional/south{ + department = "Mining"; + name = "Mining Requests Console" + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "pDl" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/window/left/directional/north{ @@ -44136,6 +44071,11 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"pGJ" = ( +/obj/item/chair/wood/wings, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pGZ" = ( /obj/machinery/shower/directional/east, /obj/structure/cable, @@ -44634,6 +44574,16 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/security/interrogation) +"pPm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/wrapping, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pPp" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/chair/comfy/black{ @@ -44969,6 +44919,20 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/grimy, /area/station/security/interrogation) +"pVK" = ( +/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/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "pVM" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/directional/south{ @@ -45826,6 +45790,12 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"qlh" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "qlz" = ( /obj/effect/spawner/random/vending/colavend, /obj/machinery/light/directional/north, @@ -45856,6 +45826,11 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/construction/storage_wing) +"qme" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/item/storage/test_tube_rack/full, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "qmf" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/table/wood, @@ -46042,12 +46017,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/library) -"qqr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "qqs" = ( /obj/structure/table, /obj/item/multitool{ @@ -46108,13 +46077,6 @@ /obj/machinery/computer/security/telescreen/minisat/directional/south, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"qrF" = ( -/obj/machinery/computer/exodrone_control_console{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "qrL" = ( /obj/effect/decal/cleanable/oil/streak, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -46909,12 +46871,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/port) -"qHa" = ( -/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/cargo/drone_bay) "qHh" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 9 @@ -46948,6 +46904,10 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qHW" = ( +/obj/item/storage/test_tube_rack/full, +/turf/closed/wall/r_wall, +/area/station/security/prison/safe) "qHY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -47062,11 +47022,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"qJH" = ( -/obj/machinery/vending/autodrobe/all_access, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/commons/locker) "qJU" = ( /obj/structure/sign/map/right{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -47354,6 +47309,13 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"qNL" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "qNO" = ( /obj/structure/table/glass, /obj/item/folder/blue{ @@ -47463,16 +47425,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"qOZ" = ( -/obj/machinery/requests_console/directional/south{ - department = "Mining"; - name = "Mining Requests Console" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "qPs" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/indigo, @@ -47731,9 +47683,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"qST" = ( -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "qTf" = ( /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 @@ -48469,18 +48418,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"rgL" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/mug/britcup{ - pixel_x = -6; - pixel_y = 11 - }, -/obj/item/phone{ - pixel_x = 6; - pixel_y = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "rgS" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -48490,6 +48427,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/lab) +"rgW" = ( +/obj/machinery/exodrone_launcher, +/obj/effect/turf_decal/box, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "rgZ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -48708,6 +48650,14 @@ /obj/item/target/syndicate, /turf/open/floor/engine, /area/station/science/explab) +"rkX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rla" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48781,13 +48731,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/lawyer, /turf/open/floor/plating, /area/station/maintenance/fore) -"rmL" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rmO" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -48929,16 +48872,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"roG" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/obj/structure/sign/poster/official/random/directional/south, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rps" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -49165,6 +49098,20 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"rtG" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 6 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/cargo/lobby) "rtI" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, @@ -49691,6 +49638,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"rBB" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + 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, +/area/station/security/checkpoint/supply) "rBU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49920,6 +49876,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"rGk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/modular_computer/preset/cargochat/cargo, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rGm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters{ @@ -50249,6 +50217,10 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"rMd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rMe" = ( /obj/structure/table, /obj/machinery/button/door{ @@ -50338,6 +50310,10 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"rNA" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rNI" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -50449,13 +50425,6 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/wood, /area/station/commons/lounge) -"rPO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "rQd" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -50678,8 +50647,8 @@ /turf/open/floor/iron, /area/station/commons/locker) "rUd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/sorting) "rUo" = ( @@ -51184,14 +51153,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"sbP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) "sbX" = ( /obj/machinery/hydroponics/soil, /obj/effect/decal/cleanable/dirt, @@ -51418,6 +51379,12 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"sgZ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/sorting) "shl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51650,16 +51617,6 @@ /obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"sml" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "smt" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ dir = 4 @@ -51921,6 +51878,30 @@ /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, @@ -51988,33 +51969,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"sul" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/folder/yellow{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/folder/yellow{ - pixel_x = -9; - pixel_y = 1 - }, -/obj/item/paper{ - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sus" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52352,6 +52306,13 @@ /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"sAt" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sAv" = ( /obj/machinery/stasis, /obj/machinery/defibrillator_mount/directional/north, @@ -52857,6 +52818,7 @@ "sHX" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/effect/decal/cleanable/oil/slippery, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/sorting) "sIe" = ( @@ -52902,6 +52864,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"sJq" = ( +/obj/machinery/exoscanner, +/obj/effect/turf_decal/delivery/white, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "sJL" = ( /obj/item/crowbar, /obj/structure/cable, @@ -53175,6 +53142,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"sOE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sOF" = ( /obj/structure/light_construct/directional/east, /turf/open/floor/wood, @@ -53278,11 +53258,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) -"sQp" = ( -/obj/machinery/exodrone_launcher, -/obj/item/exodrone, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "sQq" = ( /obj/structure/closet/crate/hydroponics, /obj/item/paper/guides/jobs/hydroponics, @@ -54107,10 +54082,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"tdg" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "tds" = ( /obj/effect/turf_decal/box/corners{ dir = 8 @@ -54389,6 +54360,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tjt" = ( +/obj/item/sticker/syndicate/apc{ + pixel_x = 25 + }, +/obj/effect/spawner/random/engineering/tank, +/obj/structure/railing{ + dir = 10 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/fuel_pool, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tju" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -55009,12 +54993,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tvv" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "tvE" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -55681,6 +55659,18 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"tIU" = ( +/obj/machinery/door/airlock/maintenance/glass, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/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/abandoned, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tJb" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -55967,22 +55957,6 @@ /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tMY" = ( -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/item/radio/off{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/item/binoculars, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "tNg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56214,14 +56188,6 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) -"tPW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/filingcabinet/filingcabinet, -/turf/open/floor/iron, -/area/station/cargo/sorting) "tQp" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -56720,13 +56686,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/execution/transfer) -"tYU" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "tYW" = ( /obj/machinery/light/directional/south, /obj/structure/cable, @@ -56916,11 +56875,6 @@ /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"ubn" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/effect/turf_decal/trimline/brown/filled/warning, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ubp" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -57190,14 +57144,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uha" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/landmark/start/depsec/supply, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "uhq" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57335,11 +57281,6 @@ /obj/structure/mirror/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"ujT" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/spawner/random/structure/tank_holder, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "uke" = ( /obj/structure/rack, /obj/effect/spawner/random/food_or_drink/booze{ @@ -57818,15 +57759,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"usJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "usK" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -57878,14 +57810,6 @@ }, /turf/open/floor/wood, /area/station/security/office) -"uth" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "utk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57942,17 +57866,6 @@ dir = 8 }, /area/station/service/chapel) -"uud" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uuv" = ( /obj/machinery/holopad, /obj/effect/turf_decal/stripes/line{ @@ -57972,6 +57885,18 @@ }, /turf/open/floor/iron, /area/station/security/mechbay) +"uuW" = ( +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Cargo Office"; + name = "Cargo Office Fax Machine" + }, +/obj/item/papercutter{ + pixel_x = 8; + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "uvw" = ( /obj/machinery/status_display/supply{ pixel_y = 32 @@ -58027,26 +57952,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) -"uwf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/camera/directional/south{ - c_tag = "Security Post - Cargo" - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "uwh" = ( /obj/structure/chair/comfy{ dir = 1 @@ -58074,12 +57979,6 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"uwM" = ( -/obj/effect/landmark/start/depsec/supply, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "uwQ" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) @@ -58149,6 +58048,7 @@ "uyh" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/holopad, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/sorting) "uyi" = ( @@ -58178,6 +58078,35 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) +"uyP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/item/stamp/granted{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 15 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = 5; + pixel_y = 24 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "uyY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58187,13 +58116,6 @@ "uza" = ( /turf/closed/wall/r_wall, /area/station/security/prison/visit) -"uzb" = ( -/obj/structure/rack, -/obj/machinery/light/directional/east, -/obj/item/fuel_pellet, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "uzc" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -58366,6 +58288,15 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"uCR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "uCS" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, @@ -58485,6 +58416,7 @@ /obj/effect/turf_decal/arrows/red{ dir = 4 }, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/cargo/storage) "uET" = ( @@ -59190,6 +59122,20 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"uQm" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/obj/item/ph_booklet{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/burner/oil{ + pixel_y = 6; + pixel_x = -5 + }, +/obj/item/storage/test_tube_rack/full, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "uQF" = ( /obj/structure/lattice, /obj/item/stack/rods, @@ -59293,6 +59239,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) +"uSh" = ( +/obj/item/stack/sheet/iron/five, +/obj/item/stack/cable_coil/five, +/obj/effect/decal/cleanable/robot_debris/down, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "uSz" = ( /obj/structure/table, /obj/item/phone{ @@ -59635,15 +59588,6 @@ "uYp" = ( /turf/closed/wall, /area/station/medical/break_room) -"uYB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uYD" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line, @@ -59651,6 +59595,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port) +"uYE" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/binoculars, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/small/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "uYH" = ( /obj/structure/reflector/double/anchored{ dir = 5 @@ -60410,15 +60367,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vlP" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "vlY" = ( /obj/structure/table/reinforced, /obj/machinery/camera/directional/north{ @@ -61045,6 +60993,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"vwg" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted, +/obj/structure/table, +/obj/effect/spawner/random/bureaucracy/birthday_wrap, +/turf/open/floor/iron, +/area/station/cargo/lobby) "vwi" = ( /obj/structure/table, /obj/item/cigarette/pipe, @@ -61900,12 +61855,6 @@ }, /turf/open/floor/carpet/royalblue, /area/station/service/library) -"vKC" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "vKL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -62509,6 +62458,20 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) +"vUL" = ( +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = -3 + }, +/obj/item/stock_parts/scanning_module{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/stock_parts/scanning_module{ + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vUM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -62999,7 +62962,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/sorting) "wcf" = ( @@ -63183,6 +63145,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"wfp" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/cargo/storage) "wfu" = ( /obj/structure/chair/office{ dir = 8 @@ -63542,6 +63511,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"wme" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Cargo" + }, +/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/security/checkpoint/supply) "wmf" = ( /obj/effect/spawner/random/trash/garbage{ spawn_scatter_radius = 1 @@ -63736,14 +63714,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"wpO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wqh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63810,12 +63780,6 @@ }, /turf/open/floor/carpet, /area/station/service/theater) -"wsk" = ( -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "wsq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -63869,6 +63833,14 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"wsx" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + 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/cargo/storage) "wsD" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, @@ -64020,14 +63992,6 @@ }, /turf/open/floor/iron, /area/station/security/holding_cell) -"wuo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wuM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -64126,6 +64090,13 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"wwN" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/chair/wood, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wwW" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -64251,14 +64222,6 @@ /obj/machinery/bouldertech/refinery/smelter, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"wyS" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/structure/window/spawner/directional/west, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wyV" = ( /turf/open/floor/carpet/orange, /area/station/command/heads_quarters/qm) @@ -64395,6 +64358,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"wBK" = ( +/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/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "wBM" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -65239,17 +65211,6 @@ /obj/structure/reagent_dispensers/fueltank/large, /turf/open/floor/iron, /area/station/engineering/atmos) -"wTv" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/modular_computer/preset/cargochat/cargo{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wTF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65683,6 +65644,13 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"xbu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "xbT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67119,11 +67087,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"xBq" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "xBw" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Quarter Solar Access" @@ -67554,6 +67517,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"xJj" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/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, +/obj/structure/tank_holder/extinguisher{ + pixel_x = -9 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "xJv" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron/recharge_floor, @@ -67604,6 +67582,12 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) +"xKh" = ( +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/reinforced, +/area/station/cargo/storage) "xKk" = ( /obj/machinery/photocopier, /turf/open/floor/iron/white, @@ -67632,15 +67616,6 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"xLA" = ( -/obj/machinery/computer/records/security{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "xLR" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -67660,10 +67635,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"xMx" = ( -/obj/structure/chair/office, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "xMz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67891,10 +67862,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"xQO" = ( -/obj/machinery/exodrone_launcher, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "xQT" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/turf_decal/siding/wood{ @@ -67932,6 +67899,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/plating, /area/station/engineering/atmos) +"xRO" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "xRR" = ( /obj/structure/bodycontainer/morgue/beeper_off, /obj/structure/bodycontainer/morgue/beeper_off{ @@ -67958,6 +67934,12 @@ "xRZ" = ( /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"xSc" = ( +/obj/structure/frame/machine/secured, +/obj/effect/decal/cleanable/robot_debris, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "xSO" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -68492,14 +68474,6 @@ /obj/machinery/incident_display/delam/directional/north, /turf/open/floor/iron, /area/station/engineering/main) -"ybn" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ybu" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -68626,6 +68600,11 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"ydi" = ( +/obj/structure/railing/corner/end/flip, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "ydj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, @@ -68778,6 +68757,10 @@ }, /turf/open/floor/wood, /area/station/service/library) +"yfX" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ygb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68790,6 +68773,12 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"ygk" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/effect/turf_decal/trimline/brown/filled/warning, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ygp" = ( /obj/machinery/status_display/ai/directional/north, /obj/structure/cable, @@ -68955,18 +68944,6 @@ /obj/effect/spawner/random/bureaucracy/stamp, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"ykb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, -/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/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ykn" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -69067,14 +69044,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) -"ylO" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ylQ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -82353,7 +82322,7 @@ pOa rJS pOa jUb -lvY +jCs sZK heE kzZ @@ -86415,7 +86384,7 @@ paD jpG kRe nVG -qOZ +pDf hKg hKg ouu @@ -86454,7 +86423,7 @@ vsr wfZ soa pOa -myZ +aFz sXI sNM tYi @@ -86933,8 +86902,8 @@ poj hnV tPt gUH -dAk -dAk +omc +wBK rhn qnj iqt @@ -87185,17 +87154,17 @@ aZj cSP cLj kRe +kRe tid qTf -oor -oor -hDX -hrC -kuS -muq +hKg +cbz +cKD +wfp +aQb oRO -bgx -uYB +aok +pkM aok mml aok @@ -87442,17 +87411,17 @@ jXu hzb cLj kRe +kRe cBZ wyP -oor -jqr -xLA -hrC -hrC -mmR -kwh -iqt -nut +hKg +kyf +kFQ +xKh +eDO +kFb +aok +oNR aok pkM aok @@ -87697,18 +87666,18 @@ omV fhn cuh jBp -wsk +cLj +ydi qHt dxo hlE -oor -aKN -uha -tMY -hDX +hKg +ljT +jrQ +qlh +oHm +sOE aok -sbP -bgx aok aok xtH @@ -87954,18 +87923,18 @@ cAf dve jXu pVV -qqr +cLj +cUt iId tkf wZo -oor -hvo -uwM -uwf -oor -ylO -tYU -hLL +hKg +rgW +nkq +bNw +nxI +gsV +dfk dfk dfk rQD @@ -88215,14 +88184,14 @@ oMx hKg hKg hKg -oor -jmR -hWK -fea -iHS -cqy -ebg -ebg +hKg +hKg +sJq +oOY +aCO +oRx +sAt +fwb fwb kQO qvV @@ -88456,9 +88425,9 @@ pma pma pma hZQ +hlT jXu -jXu -hsx +tIU jXu jXu jXu @@ -88477,7 +88446,7 @@ jXu jXu jXu cbz -bLY +lcI gQa dit uBj @@ -88491,10 +88460,10 @@ xgx rzo quT iev -gPN +pjX ebd ebd -jBy +bfw iev iev bBy @@ -88711,14 +88680,14 @@ aaa aaa aaa aaa -tdg -hkj -sQp -kuW -qHa -ujT -dYi -iDG +nmg +haZ +uSh +fzo +rNP +ieD +ssu +ggW jXu fpn knQ @@ -88744,11 +88713,11 @@ cgZ hIp ksM lQf -vKC -fwd -mwP -oTw -nLx +wsx +dsJ +npX +dtw +lzD sHX uyh hvB @@ -88968,14 +88937,14 @@ aaa aaa aaa aaa -tdg -hkj -hkj -kuW -uth -xBq -mUF -obF +nmg +gOO +rMd +eVG +rkX +wwN +aZz +kgZ jXu fpn jXu @@ -88993,10 +88962,10 @@ gfa eOl vjg mLp -tvv +kQP xTe xTe -tvv +kQP kQP wdM asT @@ -89005,9 +88974,9 @@ kkB lVp bzH bzH -mzj -sml -rmL +rGk +xRO +rNA hOh lAi bzH @@ -89225,14 +89194,14 @@ sjP sjP lMJ lMJ -tdg -hkj -xQO -dfU -ikL -qST -xMx -qrF +nmg +vUL +xSc +pnl +xgB +yfX +pGJ +fMa jXu vxO jXu @@ -89256,16 +89225,16 @@ nwm izI kQP eRd -vlP +cIl qxJ vNp -hvk -bzH -dGC -uud -wbW -fWn -jHW +erU +aqG +uuW +pPm +jHM +hCh +exB vjU bzH buH @@ -89482,14 +89451,14 @@ dMH sjP aaa aaa -tdg -tdg -tdg -fru -elz -uzb -phP -rgL +nmg +nmg +nmg +jXu +tjt +aUU +uQm +jzq jXu paU jXu @@ -89517,12 +89486,12 @@ rVn qxJ sik ryV -paQ -wyS -ekb -wpO +mhM +qCx +cap +wbW wbW -ubn +ygk hld iev rKI @@ -89774,12 +89743,12 @@ aUm jvv bNN rod -mhM -dfK -wuo -tPW -ayz -bLj +sgZ +gav +hab +uyP +ejD +rUd rnh iev nJJ @@ -90030,15 +89999,15 @@ vdW oac fhB hxd -dHz -aqG -geR -ekb -lsU -bQl -pCs -bzH -bzH +rtG +oor +oor +wme +oor +xbu +oor +oor +oor pNk ivB qaw @@ -90287,15 +90256,15 @@ pUk upN qxJ ajq -eml -bzH -bvl -nKu -gxM -jRo -qCx -roG -bzH +vwg +afW +agd +rBB +kJk +xJj +gZq +aiy +oor mnP tEr iOc @@ -90530,7 +90499,7 @@ okj rlU qYC pNC -lpt +qme cNg kQP kQP @@ -90545,17 +90514,17 @@ hIu liX jUs nDG -bzH -bzH -usJ -kFa -lak -rUd -cXE -ykb -cJS -ybn -fLp +oor +oor +oby +kDb +imT +gPw +qNL +fEV +pVK +xOw +uCR sVY sDT mjr @@ -90803,13 +90772,13 @@ isA eKG iit pWb -bzH -wTv -sul -pkF -dtE -dSH -aqG +afW +kkA +fMC +uYE +iQb +hRJ +afW mnP xOw iOc @@ -91060,13 +91029,13 @@ lgg uLE cSu nPN -bzH -aqG -aqG -mxx -aqG -aqG -aqG +oor +afW +afW +pog +oor +afW +afW uGU mFo npY @@ -91796,7 +91765,7 @@ hDE wZz wZz wZz -sjP +qHW iPb iPb uza @@ -93628,7 +93597,7 @@ aaa ihq ooP hZZ -rPO +dfa gmI aKb xel @@ -104419,7 +104388,7 @@ pJE pJE nFn uUl -qJH +oYs qXB wzK tcC diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 01234def93289..caa7913d2fc20 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -8836,7 +8836,7 @@ /area/mine/laborcamp/security) "Ya" = ( /obj/machinery/vending/security{ - onstation_override = 1 + all_products_free = 0 }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 0d591a0ea0e1b..cafc8754cd887 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -52888,7 +52888,7 @@ /area/station/hallway/secondary/exit) "nDj" = ( /obj/machinery/door/firedoor, -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/plating, /area/station/medical/abandoned) "nDk" = ( @@ -55522,7 +55522,7 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/fore) "omh" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/captain/private) "omj" = ( @@ -67719,7 +67719,7 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard/fore) "rtH" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index dfab71ec7974e..280fcdfc858e7 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -2541,8 +2541,7 @@ "Xg" = ( /obj/machinery/light/directional/east, /obj/machinery/vending/syndichem{ - onstation = 0; - req_access = null + onstation = 0 }, /turf/open/floor/iron, /area/station/medical/chemistry) diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index bcf24651157e8..9480252ff1386 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -56951,7 +56951,7 @@ /turf/closed/wall, /area/station/maintenance/port/aft) "tdR" = ( -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm index 47ed0380935d8..096cf003ac4eb 100644 --- a/_maps/map_files/wawastation/wawastation.dmm +++ b/_maps/map_files/wawastation/wawastation.dmm @@ -1631,7 +1631,7 @@ /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "aAk" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box, @@ -2135,7 +2135,7 @@ /obj/structure/reagent_dispensers/cooking_oil, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "aJz" = ( /obj/structure/railing, /obj/structure/table, @@ -4200,7 +4200,7 @@ "byb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "byf" = ( /obj/structure/closet/emcloset/anchored, /turf/open/floor/plating, @@ -8267,7 +8267,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /mob/living/basic/goat/pete, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "cYP" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -10056,7 +10056,7 @@ "dCh" = ( /obj/machinery/gibber, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "dCi" = ( /obj/structure/table/reinforced/rglass, /obj/item/storage/backpack/duffelbag/sec, @@ -15077,7 +15077,7 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "ftK" = ( -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, @@ -16256,7 +16256,7 @@ "fNy" = ( /obj/structure/closet/secure_closet/freezer/meat, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "fNB" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -33124,7 +33124,7 @@ /area/station/hallway/secondary/exit/departure_lounge) "lIZ" = ( /obj/effect/turf_decal/sand/plating, -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/plating, /area/station/maintenance/central/greater) "lJo" = ( @@ -34147,7 +34147,7 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "mds" = ( -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/delivery, /obj/machinery/camera/autoname/directional/west, @@ -36207,6 +36207,9 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"mMT" = ( +/turf/closed/wall, +/area/station/service/kitchen/coldroom) "mNl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -37574,6 +37577,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"nlz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/service/kitchen/coldroom) "nlI" = ( /obj/effect/landmark/start/depsec/engineering, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -40888,8 +40898,10 @@ /area/station/maintenance/department/science) "oBU" = ( /obj/machinery/food_cart, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "oCb" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 1 @@ -44775,7 +44787,7 @@ /obj/structure/kitchenspike, /obj/machinery/light/directional/west, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "pTt" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -47955,6 +47967,16 @@ /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/machinery/door/airlock{ + name = "Kitchen Cold Room" + }, +/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, +/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, @@ -50245,7 +50267,7 @@ /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/service/kitchen) +/area/station/service/kitchen/coldroom) "rNJ" = ( /turf/closed/wall, /area/station/maintenance/solars/port/fore) @@ -53736,7 +53758,7 @@ /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/service/kitchen) +/area/station/service/kitchen/coldroom) "sUM" = ( /obj/item/radio/intercom/directional/west, /turf/open/openspace, @@ -55255,7 +55277,7 @@ /obj/structure/kitchenspike, /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "txo" = ( /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/engine, @@ -59791,7 +59813,7 @@ "uZg" = ( /obj/machinery/icecream_vat, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen) +/area/station/service/kitchen/coldroom) "uZx" = ( /turf/closed/wall, /area/station/hallway/primary/central) @@ -93333,10 +93355,10 @@ bIi acc jrX gGm -enu -enu -enu -enu +mMT +mMT +mMT +mMT edv eBb hRB @@ -93589,12 +93611,12 @@ kYl sUD dGc fDN -enu -enu +mMT +mMT twW pTn -enu -enu +mMT +mMT hwk hRB jkF @@ -93846,12 +93868,12 @@ heh jUd acc fDN -enu +mMT uZg byb rNs -rNs -sUI +nlz +rbt cXL enu tGt @@ -94103,12 +94125,12 @@ acc acc acc fDN -enu +mMT oBU aAg cYH aJv -enu +mMT drJ shG vMb @@ -94360,12 +94382,12 @@ acB jmn atX mUW -enu +mMT fNy rNs rNs dCh -enu +mMT alP enu nii @@ -94617,12 +94639,12 @@ gGS bcu bcu pPy -enu -enu +mMT +mMT sUI -enu -enu -enu +mMT +mMT +mMT duS pQM pYu diff --git a/_maps/multiz_debug.json b/_maps/multiz_debug.json index e83101d74d733..af3ffa3521293 100644 --- a/_maps/multiz_debug.json +++ b/_maps/multiz_debug.json @@ -11,17 +11,13 @@ ], "traits": [ { - "Up": true, "Linkage": "Cross" }, { - "Up": true, - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" }, { - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" } diff --git a/_maps/northstar.json b/_maps/northstar.json index bd1a53c562272..fdae8ac42f387 100644 --- a/_maps/northstar.json +++ b/_maps/northstar.json @@ -14,23 +14,17 @@ "space_empty_levels": 2, "traits": [ { - "Up": true, "Linkage": "Cross" }, { - "Up": true, - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" }, { - "Up": true, - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" }, { - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" } diff --git a/_maps/shuttles/emergency_cruise.dmm b/_maps/shuttles/emergency_cruise.dmm index c111505c14789..13b160b653190 100644 --- a/_maps/shuttles/emergency_cruise.dmm +++ b/_maps/shuttles/emergency_cruise.dmm @@ -220,7 +220,7 @@ /turf/open/floor/iron, /area/shuttle/escape) "fL" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/carpet/executive, /area/shuttle/escape) "fY" = ( @@ -2262,7 +2262,7 @@ /turf/template_noop, /area/shuttle/escape) "Xu" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /obj/effect/turf_decal/siding/wood{ dir = 1 }, diff --git a/_maps/shuttles/emergency_humpback.dmm b/_maps/shuttles/emergency_humpback.dmm index f76d06925a343..195f342cd3caa 100644 --- a/_maps/shuttles/emergency_humpback.dmm +++ b/_maps/shuttles/emergency_humpback.dmm @@ -115,7 +115,7 @@ /area/shuttle/escape/brig) "gW" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/mineral/plastitanium, /area/shuttle/escape) "hd" = ( diff --git a/_maps/shuttles/emergency_imfedupwiththisworld.dmm b/_maps/shuttles/emergency_imfedupwiththisworld.dmm index 6513f090c53c8..cf53733c42351 100644 --- a/_maps/shuttles/emergency_imfedupwiththisworld.dmm +++ b/_maps/shuttles/emergency_imfedupwiththisworld.dmm @@ -30,9 +30,7 @@ /area/shuttle/escape) "k" = ( /obj/machinery/light/directional/east, -/obj/machinery/vending/boozeomat{ - req_access = null - }, +/obj/machinery/vending/boozeomat, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/shuttle/escape) diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm index 74b18ef61b4de..1e1ae99d2ea5b 100644 --- a/_maps/shuttles/emergency_luxury.dmm +++ b/_maps/shuttles/emergency_luxury.dmm @@ -589,7 +589,7 @@ /turf/open/floor/carpet/green, /area/shuttle/escape/luxury) "zq" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/closed/indestructible/riveted/plastinum/nodiagonal, /area/shuttle/escape/brig) "zt" = ( diff --git a/_maps/shuttles/emergency_tranquility.dmm b/_maps/shuttles/emergency_tranquility.dmm index 4563d89631cd6..ae3924becbc02 100644 --- a/_maps/shuttles/emergency_tranquility.dmm +++ b/_maps/shuttles/emergency_tranquility.dmm @@ -453,7 +453,7 @@ /area/shuttle/escape) "jb" = ( /obj/machinery/barsign/all_access/directional/north, -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/open/floor/stone, /area/shuttle/escape) "jl" = ( diff --git a/_maps/shuttles/hunter_mi13_foodtruck.dmm b/_maps/shuttles/hunter_mi13_foodtruck.dmm index 5fe7324e8e83b..6ece8822d802a 100644 --- a/_maps/shuttles/hunter_mi13_foodtruck.dmm +++ b/_maps/shuttles/hunter_mi13_foodtruck.dmm @@ -123,7 +123,7 @@ /turf/open/floor/circuit/red/off, /area/shuttle/hunter/mi13_foodtruck) "eA" = ( -/obj/machinery/vending/medical/syndicate_access/cybersun, +/obj/machinery/vending/medical/syndicate/cybersun, /obj/machinery/airalarm/directional/west, /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/circuit/red/off, diff --git a/_maps/shuttles/infiltrator_advanced.dmm b/_maps/shuttles/infiltrator_advanced.dmm index 9f93df25b0479..1800d638fc540 100644 --- a/_maps/shuttles/infiltrator_advanced.dmm +++ b/_maps/shuttles/infiltrator_advanced.dmm @@ -710,7 +710,7 @@ /area/shuttle/syndicate/eva) "bP" = ( /obj/effect/turf_decal/bot, -/obj/machinery/vending/medical/syndicate_access, +/obj/machinery/vending/medical/syndicate, /turf/open/floor/mineral/plastitanium, /area/shuttle/syndicate/medical) "bQ" = ( diff --git a/_maps/shuttles/pirate_default.dmm b/_maps/shuttles/pirate_default.dmm index 43c72a9d2bfa3..182f51ad3b6a2 100644 --- a/_maps/shuttles/pirate_default.dmm +++ b/_maps/shuttles/pirate_default.dmm @@ -567,9 +567,7 @@ /turf/open/floor/iron, /area/shuttle/pirate) "bH" = ( -/obj/machinery/vending/boozeomat/all_access{ - onstation = 0 - }, +/obj/machinery/vending/boozeomat, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/shuttle/pirate) diff --git a/_maps/shuttles/pirate_dutchman.dmm b/_maps/shuttles/pirate_dutchman.dmm index 1d1a0b0902b86..a00fff6e7e9fb 100644 --- a/_maps/shuttles/pirate_dutchman.dmm +++ b/_maps/shuttles/pirate_dutchman.dmm @@ -359,10 +359,33 @@ }, /turf/open/floor/carpet/blue/airless, /area/shuttle/pirate/flying_dutchman) +"nb" = ( +/obj/structure/mounted_gun/canister_gatling, +/turf/open/floor/wood/airless, +/area/shuttle/pirate/flying_dutchman) "pG" = ( /obj/structure/window/reinforced/shuttle/survival_pod, /turf/open/floor/wood/airless, /area/shuttle/pirate/flying_dutchman) +"qG" = ( +/obj/item/ammo_casing/canister_shot{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/ammo_casing/canister_shot{ + pixel_y = -8; + pixel_x = -8 + }, +/obj/item/ammo_casing/canister_shot{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/ammo_casing/canister_shot{ + pixel_y = 8; + pixel_x = 6 + }, +/turf/open/floor/wood/airless, +/area/shuttle/pirate/flying_dutchman) "rd" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/effect/turf_decal/siding/wood/corner{ @@ -1234,7 +1257,7 @@ fW St QM da -WB +nb WB RQ eG @@ -1261,7 +1284,7 @@ km sC mG bn -WB +qG WB xY WR diff --git a/_maps/shuttles/pirate_ex_interdyne.dmm b/_maps/shuttles/pirate_ex_interdyne.dmm index 4036972b7a87a..4dd64e4cdbe04 100644 --- a/_maps/shuttles/pirate_ex_interdyne.dmm +++ b/_maps/shuttles/pirate_ex_interdyne.dmm @@ -291,9 +291,9 @@ /area/shuttle/pirate) "aS" = ( /obj/effect/turf_decal/tile/dark_blue/opposingcorners, -/obj/structure/closet/crate/freezer/blood/interdyne, /obj/machinery/light/small/blacklight/directional/south, /obj/machinery/iv_drip, +/obj/structure/closet/crate/secure/freezer/interdyne/blood, /turf/open/floor/iron/dark, /area/shuttle/pirate) "aW" = ( @@ -775,7 +775,7 @@ /area/shuttle/pirate) "OL" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted, -/obj/machinery/vending/medical/syndicate_access, +/obj/machinery/vending/medical/syndicate, /turf/open/floor/iron/dark, /area/shuttle/pirate) "Po" = ( diff --git a/_maps/shuttles/pirate_grey.dmm b/_maps/shuttles/pirate_grey.dmm index db02acbdd48f5..50594b83d9b59 100644 --- a/_maps/shuttles/pirate_grey.dmm +++ b/_maps/shuttles/pirate_grey.dmm @@ -183,7 +183,7 @@ /turf/open/floor/plating, /area/shuttle/pirate) "gQ" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /turf/closed/wall, /area/shuttle/pirate) "hk" = ( diff --git a/_maps/shuttles/pirate_irs.dmm b/_maps/shuttles/pirate_irs.dmm index 4fd5a8c357342..c78c73a75380e 100644 --- a/_maps/shuttles/pirate_irs.dmm +++ b/_maps/shuttles/pirate_irs.dmm @@ -946,9 +946,7 @@ }, /area/shuttle/pirate) "Cf" = ( -/obj/machinery/vending/autodrobe{ - onstation = 0 - }, +/obj/machinery/vending/autodrobe, /obj/effect/turf_decal/siding/dark_green{ dir = 6 }, @@ -1642,9 +1640,7 @@ /turf/open/floor/wood, /area/shuttle/pirate) "QT" = ( -/obj/machinery/vending/boozeomat/all_access{ - onstation = 0 - }, +/obj/machinery/vending/boozeomat, /turf/closed/wall/mineral/titanium, /area/shuttle/pirate) "QV" = ( diff --git a/_maps/shuttles/pirate_silverscale.dmm b/_maps/shuttles/pirate_silverscale.dmm index 6d9c7537bde18..b95c32be7d1e7 100644 --- a/_maps/shuttles/pirate_silverscale.dmm +++ b/_maps/shuttles/pirate_silverscale.dmm @@ -492,9 +492,7 @@ /turf/open/floor/iron/dark, /area/shuttle/pirate) "CW" = ( -/obj/machinery/vending/boozeomat/all_access{ - onstation = 0 - }, +/obj/machinery/vending/boozeomat, /turf/open/floor/iron/dark/textured, /area/shuttle/pirate) "DX" = ( @@ -967,9 +965,7 @@ /turf/open/floor/carpet/royalblack, /area/shuttle/pirate) "XB" = ( -/obj/machinery/vending/boozeomat/all_access{ - onstation = 0 - }, +/obj/machinery/vending/boozeomat, /obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 10 diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 8aa60f4e93bd2..ed2e2a17b9077 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -1272,9 +1272,7 @@ /area/shuttle/abandoned/medbay) "cL" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/medical{ - req_access = null - }, +/obj/machinery/vending/medical, /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/all_access, /turf/open/floor/iron/white, diff --git a/_maps/shuttles/whiteship_cere.dmm b/_maps/shuttles/whiteship_cere.dmm index df697dc1739c1..fbcca99889a4e 100644 --- a/_maps/shuttles/whiteship_cere.dmm +++ b/_maps/shuttles/whiteship_cere.dmm @@ -581,7 +581,7 @@ /turf/open/floor/pod/dark, /area/shuttle/abandoned/cargo) "CC" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/unlocked, diff --git a/_maps/shuttles/whiteship_delta.dmm b/_maps/shuttles/whiteship_delta.dmm index efc2302379730..f75f87001b517 100644 --- a/_maps/shuttles/whiteship_delta.dmm +++ b/_maps/shuttles/whiteship_delta.dmm @@ -101,7 +101,7 @@ /turf/open/floor/plating, /area/shuttle/abandoned/crew) "ap" = ( -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/vending/boozeomat, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/shuttles/whiteship_kilo.dmm b/_maps/shuttles/whiteship_kilo.dmm index 3dda9d34da2a1..0192f6aa1188a 100644 --- a/_maps/shuttles/whiteship_kilo.dmm +++ b/_maps/shuttles/whiteship_kilo.dmm @@ -399,14 +399,7 @@ /turf/open/floor/plating, /area/shuttle/abandoned/cargo) "ry" = ( -/obj/machinery/porta_turret/centcom_shuttle/weak{ - dir = 4; - name = "Old Mining Turret"; - lethal_projectile = /obj/projectile/kinetic/miner; - lethal_projectile_sound = 'sound/weapons/kinetic_accel.ogg'; - stun_projectile = /obj/projectile/kinetic/miner; - stun_projectile_sound = 'sound/weapons/kinetic_accel.ogg' - }, +/obj/machinery/porta_turret/centcom_shuttle/weak/mining, /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/bar) "rC" = ( diff --git a/_maps/shuttles/whiteship_obelisk.dmm b/_maps/shuttles/whiteship_obelisk.dmm index 0f1e07b1a213e..9a680e80e2b08 100644 --- a/_maps/shuttles/whiteship_obelisk.dmm +++ b/_maps/shuttles/whiteship_obelisk.dmm @@ -732,9 +732,7 @@ /turf/open/floor/mineral/titanium/white, /area/shuttle/abandoned/medbay) "Qp" = ( -/obj/machinery/vending/medical{ - req_access = null - }, +/obj/machinery/vending/medical, /turf/open/floor/mineral/titanium/white, /area/shuttle/abandoned/medbay) "RG" = ( diff --git a/_maps/templates/battlecruiser_starfury.dmm b/_maps/templates/battlecruiser_starfury.dmm index 59d6b325fdaac..15d7485c99bf3 100644 --- a/_maps/templates/battlecruiser_starfury.dmm +++ b/_maps/templates/battlecruiser_starfury.dmm @@ -1061,7 +1061,7 @@ }, /area/shuttle/sbc_starfury) "ea" = ( -/obj/machinery/vending/medical/syndicate_access/cybersun, +/obj/machinery/vending/medical/syndicate/cybersun, /turf/open/floor/iron, /area/shuttle/sbc_starfury) "ec" = ( @@ -1723,7 +1723,7 @@ /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) "gH" = ( -/obj/machinery/vending/boozeomat/syndicate_access, +/obj/machinery/vending/boozeomat/syndicate, /obj/effect/turf_decal/siding/wood{ dir = 8 }, diff --git a/_maps/templates/holodeck_holdoutbunker.dmm b/_maps/templates/holodeck_holdoutbunker.dmm index 782cbd919aa89..fccad07bfed85 100644 --- a/_maps/templates/holodeck_holdoutbunker.dmm +++ b/_maps/templates/holodeck_holdoutbunker.dmm @@ -28,12 +28,6 @@ }, /turf/open/floor/holofloor/asteroid, /area/template_noop) -"x" = ( -/obj/structure/foamedmetal, -/obj/structure/window/spawner/directional/east, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/holofloor/asteroid, -/area/template_noop) "I" = ( /obj/structure/table, /obj/item/gun/energy/laser, @@ -62,7 +56,7 @@ a "} (2,1,1) = {" b -x +b b b b diff --git a/_maps/templates/lazy_templates/wizard_den.dmm b/_maps/templates/lazy_templates/wizard_den.dmm index 887e1c0817639..a909cc94c23b2 100644 --- a/_maps/templates/lazy_templates/wizard_den.dmm +++ b/_maps/templates/lazy_templates/wizard_den.dmm @@ -665,9 +665,6 @@ /turf/open/floor/engine/cult, /area/centcom/wizard_station) "KL" = ( -/obj/structure/railing{ - dir = 8 - }, /obj/structure/railing{ dir = 8 }, diff --git a/_maps/templates/shelter_3.dmm b/_maps/templates/shelter_3.dmm index d4681507a37e4..2bae50e8ba790 100644 --- a/_maps/templates/shelter_3.dmm +++ b/_maps/templates/shelter_3.dmm @@ -35,9 +35,7 @@ /turf/open/floor/pod/dark, /area/misc/survivalpod) "h" = ( -/obj/machinery/vending/boozeomat/all_access{ - onstation = 0 - }, +/obj/machinery/vending/boozeomat, /turf/open/floor/pod/dark, /area/misc/survivalpod) "i" = ( @@ -146,9 +144,7 @@ /turf/open/floor/carpet/black, /area/misc/survivalpod) "z" = ( -/obj/machinery/vending/cigarette{ - onstation = 0 - }, +/obj/machinery/vending/cigarette, /turf/open/floor/carpet/black, /area/misc/survivalpod) "A" = ( @@ -226,10 +222,7 @@ /turf/open/floor/carpet/black, /area/misc/survivalpod) "L" = ( -/obj/machinery/vending/snack/blue{ - req_access = null; - onstation = 0 - }, +/obj/machinery/vending/snack/blue, /turf/open/floor/carpet/black, /area/misc/survivalpod) "M" = ( diff --git a/_maps/tramstation.json b/_maps/tramstation.json index 7336decb3d7f5..5f5825dce68fe 100644 --- a/_maps/tramstation.json +++ b/_maps/tramstation.json @@ -11,12 +11,10 @@ }, "traits": [ { - "Up": true, "Baseturf": "/turf/open/misc/asteroid/airless", "Linkage": "Cross" }, { - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" } diff --git a/_maps/virtual_domains/grasslands_hunt.dmm b/_maps/virtual_domains/grasslands_hunt.dmm new file mode 100644 index 0000000000000..c77bdae196f42 --- /dev/null +++ b/_maps/virtual_domains/grasslands_hunt.dmm @@ -0,0 +1,6650 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aj" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/water, +/area/virtual_domain/fullbright) +"av" = ( +/obj/structure/flora/bush/pointy/style_random, +/obj/structure/flora/bush/ferny/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"aD" = ( +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"aZ" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"bd" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"br" = ( +/obj/structure/flora/bush/reed/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"bG" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"bI" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"bU" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/holofloor/basalt, +/area/virtual_domain/fullbright) +"ce" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/grassy/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"cL" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"cS" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/holofloor/basalt, +/area/virtual_domain/fullbright) +"cZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"dk" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"ec" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) +"ep" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"eE" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"fa" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"fm" = ( +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"fK" = ( +/turf/closed/indestructible/rock, +/area/virtual_domain/fullbright) +"fZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"gT" = ( +/obj/structure/table/wood, +/obj/item/gun/ballistic/rifle/boltaction{ + pixel_y = 8 + }, +/obj/item/gun/ballistic/rifle/boltaction{ + pixel_y = 4 + }, +/obj/item/gun/ballistic/rifle/boltaction, +/turf/template_noop, +/area/virtual_domain/safehouse) +"hH" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"ic" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"iy" = ( +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"iT" = ( +/obj/structure/flora/bush/pointy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"jc" = ( +/obj/structure/flora/bush/stalky/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"jo" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"jq" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"kd" = ( +/obj/structure/flora/tree/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"kj" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"kq" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"kG" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"kM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"kX" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"lf" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"lh" = ( +/obj/structure/flora/bush/pointy/style_random, +/turf/closed/indestructible/rock, +/area/virtual_domain/fullbright) +"lF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"lK" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"lN" = ( +/obj/structure/flora/bush/reed/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"lQ" = ( +/obj/structure/table/wood, +/obj/item/storage/cans/sixbeer, +/turf/template_noop, +/area/virtual_domain/safehouse) +"nn" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"nE" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"nK" = ( +/obj/structure/flora/bush/pointy/style_random, +/obj/structure/flora/bush/grassy/style_random, +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"od" = ( +/obj/item/knife/hunting, +/obj/structure/table/wood, +/turf/template_noop, +/area/virtual_domain/safehouse) +"or" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"oy" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/bush/pointy/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"oJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"oT" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/ferny/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"ph" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"pn" = ( +/obj/structure/flora/bush/ferny/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"pJ" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"rj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"rx" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/tree/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"rO" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"rW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"sq" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"st" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/misc/dirt/station, +/area/virtual_domain/fullbright) +"sx" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"sZ" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"tw" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/misc/dirt/station, +/area/virtual_domain/fullbright) +"tM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"tZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"uh" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"uk" = ( +/turf/open/water, +/area/virtual_domain/fullbright) +"uA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"uN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/water, +/area/virtual_domain/fullbright) +"vF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"vN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"vS" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"we" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"wq" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"wT" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"xj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/ferny/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"xw" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"xE" = ( +/obj/structure/flora/bush/ferny/style_random, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"yr" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"yC" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"zb" = ( +/obj/structure/flora/bush/stalky/style_random, +/obj/effect/turf_decal/weather/dirt, +/turf/open/water, +/area/virtual_domain/fullbright) +"zd" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"zr" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/rock/pile/jungle/large/style_3, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"zX" = ( +/obj/modular_map_root/safehouse{ + key = "wood" + }, +/turf/template_noop, +/area/virtual_domain/safehouse) +"An" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"Az" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"AM" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/template_noop, +/area/virtual_domain/safehouse) +"AP" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/tree/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Be" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Bl" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Bn" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"BR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"BS" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/holofloor/basalt, +/area/virtual_domain/fullbright) +"Co" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Cw" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"CH" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Dk" = ( +/obj/effect/landmark/bitrunning/loot_signal, +/turf/template_noop, +/area/virtual_domain/safehouse) +"DM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"DT" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Es" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"EW" = ( +/obj/structure/flora/rock/pile/style_2, +/turf/open/floor/holofloor/basalt, +/area/virtual_domain/fullbright) +"Fm" = ( +/obj/structure/flora/tree/jungle/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"FC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/leavy, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Gt" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/bush/ferny/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"HT" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Ib" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/tree/jungle/small/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Ik" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"IC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"IQ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"Jr" = ( +/obj/structure/flora/tree/jungle/small/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Js" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/rock/pile/jungle/style_2, +/turf/open/water, +/area/virtual_domain/fullbright) +"Jv" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"Jw" = ( +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"JD" = ( +/obj/structure/flora/bush/pointy/style_random, +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"JF" = ( +/turf/open/floor/holofloor/basalt, +/area/virtual_domain/fullbright) +"KE" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"KR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"Lx" = ( +/turf/template_noop, +/area/virtual_domain/safehouse) +"LN" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Mh" = ( +/obj/structure/flora/bush/pale/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"No" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"NG" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"NY" = ( +/obj/structure/flora/tree/stump, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/misc/dirt/station, +/area/virtual_domain/fullbright) +"PA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"PM" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/misc/dirt/station, +/area/virtual_domain/fullbright) +"PX" = ( +/turf/open/misc/dirt/station, +/area/virtual_domain/fullbright) +"Qh" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"QA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"QM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Rl" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Rs" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"RL" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"RY" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/ferny/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Se" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Sm" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"SK" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/misc/dirt/station, +/area/virtual_domain/fullbright) +"SP" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"SW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Tx" = ( +/obj/structure/flora/bush/ferny/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"TF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/reed/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"Vi" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/holofloor/basalt, +/area/virtual_domain/fullbright) +"Vt" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"VN" = ( +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) +"XP" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water, +/area/virtual_domain/fullbright) +"Yw" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/rock/pile/jungle/style_3, +/turf/open/water, +/area/virtual_domain/fullbright) +"YF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"YH" = ( +/obj/structure/flora/bush/stalky/style_random, +/turf/open/water, +/area/virtual_domain/fullbright) +"YY" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) +"Zk" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/virtual_domain/fullbright) + +(1,1,1) = {" +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +ec +"} +(2,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(3,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(4,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +JF +JF +JF +JF +JF +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +No +No +yC +LN +LN +yC +yC +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(5,1,1) = {" +VN +fK +fK +fK +fK +fK +cS +JF +JF +JF +JF +cS +JF +JF +JF +fK +fK +SK +SK +PX +PX +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +No +nn +yC +yC +AP +LN +yC +aD +CH +CH +CH +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(6,1,1) = {" +VN +fK +fK +fK +fK +uk +YH +uk +uk +uk +JF +JF +JF +YH +YH +uk +uk +An +An +ep +PM +PM +PM +SK +PX +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +CH +fm +fm +fm +CH +yC +yC +LN +yC +yC +iT +aD +nn +CH +No +nn +yC +yC +yC +yC +Fm +fm +aD +CH +CH +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(7,1,1) = {" +VN +fK +uk +uk +uk +uk +uk +uk +uk +uk +uk +uk +uk +uk +uk +uk +Jv +uk +uk +uk +An +An +ep +PM +PM +PM +tw +PX +PX +SK +fK +fK +LN +yC +yC +CH +CH +aD +Fm +iT +aD +aD +yC +yC +yC +aD +iy +iT +aD +aD +yC +aD +yC +yC +yC +yC +fm +fm +CH +CH +CH +CH +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(8,1,1) = {" +VN +fK +fK +uk +uk +uk +uk +Jv +uk +YH +uk +uk +uk +uk +uk +YH +tZ +jq +jq +tZ +YH +uk +uk +An +An +zd +oJ +vF +PM +SK +SK +SK +Rl +LN +yC +yC +yC +aD +iT +aD +yC +aD +Fm +nn +aD +aD +aD +aD +aD +aD +aD +kd +nn +nn +nn +nn +aD +aD +aD +nn +wT +fm +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(9,1,1) = {" +VN +fK +uk +uk +uk +uk +JF +JF +EW +JF +JF +JF +uk +JF +JF +fK +SK +PX +PX +PM +vN +YH +uk +uk +aj +st +bI +Jw +TF +vF +PM +PX +QM +yC +yC +yC +yC +nn +pn +aD +aD +aD +aD +aD +pn +pn +nn +nn +aD +nn +iT +pn +aD +aD +aD +RL +fm +aD +yC +yC +AP +wT +nn +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(10,1,1) = {" +VN +fK +fK +fK +fK +JF +JF +cS +JF +JF +JF +JF +JF +fK +fK +fK +fK +fK +PX +PM +cZ +or +tZ +jq +uk +An +uk +uk +YH +kj +PM +NY +PM +lf +yC +KE +aD +aD +Jr +iT +aD +aD +pn +aD +aD +iy +nn +nn +aD +aD +kd +iT +nn +aD +aD +fm +aD +yC +yC +yC +yC +yC +yC +nn +nn +aD +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(11,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +JF +fK +fK +JF +JF +fK +fK +fK +fK +fK +fK +SK +PX +tw +PM +PM +BR +jq +uk +uk +uk +aj +PM +tw +PX +Cw +KE +aD +yC +aD +aD +aD +aD +nn +Fm +Tx +yC +yC +yC +yC +yC +LN +fm +pn +aD +aD +nn +aD +aD +yC +yC +yC +yC +yC +AP +aD +aD +aD +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(12,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +aD +yC +pJ +PM +PM +PX +PX +PX +PX +tw +BR +uk +uk +aj +PX +tw +tw +Bl +yC +aD +aD +aD +aD +nn +aD +aD +nn +aD +yC +yC +yC +AP +yC +yC +nn +aD +CH +nn +nn +aD +aD +nn +nn +aD +nn +nn +nn +nn +aD +aD +iT +aD +aD +fK +fK +fK +fK +fK +VN +"} +(13,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +aD +aD +pn +Mh +LN +lK +lK +rj +PX +PX +PX +PM +PM +bI +uk +aj +PM +tw +PX +Zk +Mh +yC +yC +aD +aD +nn +aD +aD +RL +yC +yC +yC +yC +yC +yC +yC +nn +iy +yC +yC +yC +aD +Fm +iT +aD +nn +aD +aD +aD +aD +aD +aD +Fm +iT +nn +fK +fK +fK +fK +fK +VN +"} +(14,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +nn +nn +nn +aD +pn +jo +fm +yC +LN +LN +yC +kX +xj +PX +PX +PM +bI +YH +aj +PX +PX +PM +QM +fm +yC +yC +yC +aD +aD +CH +aD +nn +yC +yC +yC +AP +yC +yC +yC +nn +iT +yC +yC +yC +aD +iT +aD +aD +aD +aD +iy +fm +aD +nn +nn +nn +aD +aD +fK +fK +fK +fK +fK +VN +"} +(15,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +nn +nn +nn +nn +nn +nn +aD +pn +yC +pn +KE +KE +aD +yC +oT +aZ +tw +PX +PX +bI +uk +uk +IQ +tw +PM +PX +Rl +LN +yC +yC +aD +aD +iy +yC +yC +yC +yC +yC +yC +yC +yC +aD +pn +aD +aD +aD +aD +aD +aD +aD +aD +wT +aD +nn +aD +aD +yC +aD +aD +aD +nn +nn +fK +fK +fK +fK +VN +"} +(16,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +nn +nn +wT +wT +nn +pn +fm +fm +aD +aD +aD +yC +aD +aD +aD +aZ +tw +PM +Ik +uk +uk +uk +aj +tw +PM +PX +Rl +yC +yC +yC +aD +aD +pn +aD +aD +yC +yC +yC +aD +yC +aD +aD +Fm +fm +aD +yC +CH +aD +aD +aD +aD +Fm +iT +aD +aD +aD +aD +nn +nn +aD +nn +nn +fK +fK +fK +fK +VN +"} +(17,1,1) = {" +VN +fK +fK +fK +fK +LN +LN +yC +nn +nn +RL +oy +nn +aD +Fm +nK +CH +fm +yC +yC +aD +aD +aD +aZ +tw +PM +Sm +uk +uk +uk +aj +tw +PM +PX +rW +yC +yC +aD +aD +aD +Fm +pn +aD +aD +yC +aD +aD +aD +aD +aD +fm +fm +aD +nn +aD +aD +aD +nn +aD +fm +fm +aD +aD +Lx +Lx +Lx +Lx +Lx +zX +aD +fK +fK +fK +fK +VN +"} +(18,1,1) = {" +VN +fK +fK +fK +yC +yC +AP +iT +aD +aD +iT +aD +aD +pn +JD +aD +pn +Fm +iT +aD +yC +yC +aD +kG +PX +PX +Sm +uk +Jv +YH +aj +PM +tw +wq +aD +yC +aD +aD +aD +nn +CH +CH +aD +aD +aD +aD +aD +Fm +aD +nn +nn +aD +aD +aD +aD +nn +nn +aD +aD +aD +aD +aD +fm +Lx +gT +lQ +Lx +Lx +Lx +aD +fK +fK +fK +fK +VN +"} +(19,1,1) = {" +VN +fK +fK +fK +yC +yC +yC +aD +nn +nn +CH +aD +fm +aD +aD +aD +xE +iT +pn +aD +yC +yC +KE +KE +SP +PX +BR +uk +uk +uk +aj +PM +tw +Zk +Mh +aD +aD +aD +aD +aD +CH +nn +aD +aD +Fm +pn +aD +aD +aD +aD +aD +aD +iy +wT +aD +nn +kq +sx +kq +aD +sx +Az +sx +Lx +Lx +Lx +Lx +Lx +Lx +aD +fK +fK +fK +fK +VN +"} +(20,1,1) = {" +VN +fK +fK +fK +yC +yC +yC +aD +nn +nn +aD +fm +fm +fm +aD +nn +nn +aD +aD +aD +iy +iT +aD +KE +kG +PX +PM +bI +uk +uk +aj +PM +tw +lf +yC +yC +yC +CH +nn +aD +aD +bG +aD +nn +pn +aD +aD +yC +yC +yC +aD +aD +fm +Az +sx +Vt +PX +PX +PX +ic +PX +PM +PX +Lx +Lx +Lx +Lx +Lx +Lx +aD +fK +fK +fK +fK +VN +"} +(21,1,1) = {" +VN +fK +fK +fK +yr +fm +aD +aD +nn +nn +kd +yC +Jr +fm +fm +nn +nn +aD +fm +fm +iT +aD +aD +yC +aZ +PX +PM +vN +YH +uk +aj +PM +PX +Rl +LN +yC +aD +aD +aD +aD +yC +aD +aD +yC +aD +yC +yC +yC +yC +yC +yC +aD +fa +PX +PX +rW +YF +NG +PX +PX +PX +PX +wq +Lx +Lx +Lx +Lx +Lx +Lx +nn +fK +fK +fK +fK +VN +"} +(22,1,1) = {" +VN +fK +fK +fK +yC +aD +nn +aD +aD +aD +yC +yC +yC +aD +Jr +aD +aD +pn +Fm +fm +pn +aD +nn +yC +aZ +PM +PM +vN +Jw +uk +aj +PX +PX +lF +LN +LN +nn +nn +aD +aD +aD +aD +aD +aD +nn +nn +nn +AP +yC +yC +yC +PA +PM +PX +wq +yC +aD +aD +cL +YF +YF +bd +fm +Lx +Dk +Lx +od +Lx +Lx +nn +fK +fK +fK +fK +VN +"} +(23,1,1) = {" +VN +fK +fK +fK +fm +fm +nn +Fm +yC +yC +yC +yC +yC +nn +nn +aD +aD +pn +fm +nn +nn +nn +aD +fm +fm +ce +PM +cZ +Jw +YH +aj +tw +PX +PX +Zk +aD +nn +nn +nn +aD +aD +Jr +nn +aD +nn +nn +nn +aD +yC +sx +Vt +PX +PX +Be +aD +yC +aD +aD +aD +aD +aD +aD +aD +Lx +Lx +Lx +Lx +Lx +AM +nn +fK +fK +fK +fK +VN +"} +(24,1,1) = {" +VN +fK +fK +fK +Fm +fm +aD +aD +yC +yC +yC +yC +yC +nn +nn +nn +nn +aD +aD +yC +yC +yC +aD +Mh +fm +hH +PX +PM +cZ +uk +uk +ep +PM +PX +Bn +aD +nn +nn +nn +nn +aD +aD +aD +yC +aD +aD +aD +aD +Vt +PX +rW +bd +bd +aD +yC +yC +yC +aD +aD +aD +fm +pn +aD +aD +aD +nn +nn +nn +aD +nn +fK +fK +fK +fK +VN +"} +(25,1,1) = {" +VN +fK +fK +fK +iT +aD +RL +pn +nn +yC +yC +AP +nn +nn +aD +aD +aD +Fm +yC +yC +oT +yC +yC +aD +yC +aZ +PX +PM +PX +nE +uk +uk +ep +PX +PX +Ib +yC +yC +nn +nn +aD +aD +aD +aD +pn +pn +nn +aD +aD +YF +aD +yC +yC +yC +yC +yC +yC +yC +nn +aD +Fm +iT +aD +yC +aD +pn +fm +fm +aD +aD +fK +fK +fK +fK +VN +"} +(26,1,1) = {" +VN +fK +fK +aD +aD +aD +iT +aD +nn +yC +yC +yC +nn +aD +aD +iy +aD +aD +aD +yC +oT +yC +aD +aD +yC +yC +SP +PX +tw +PM +BR +uk +ph +tw +PX +rW +yC +yC +yC +nn +aD +nn +aD +aD +aD +Fm +pn +aD +aD +yC +aD +yC +yC +yC +yC +yC +yC +yC +nn +aD +iT +nn +aD +aD +aD +nn +iy +fm +aD +fK +fK +fK +fK +fK +VN +"} +(27,1,1) = {" +VN +fK +fK +aD +nn +nn +pn +aD +nn +nn +nn +yC +nn +aD +aD +aD +aD +aD +aD +aD +AP +fm +yC +aD +CH +KE +KE +SP +PX +PM +PX +sq +PX +PX +Es +aD +yC +yC +yC +aD +aD +aD +aD +aD +aD +pn +aD +aD +yC +aD +aD +nn +nn +nn +yC +yC +yC +rx +wT +pn +aD +aD +aD +aD +pn +iT +iT +nn +nn +fK +fK +fK +fK +fK +VN +"} +(28,1,1) = {" +VN +fK +fK +CH +nn +nn +Fm +fm +aD +nn +rx +aD +aD +nn +aD +nn +nn +nn +aD +fm +fm +yC +yC +yC +aD +aD +yC +kG +PX +tw +PX +sq +tw +PX +Zk +aD +yC +yC +aD +aD +aD +Fm +aD +aD +nn +nn +aD +aD +aD +aD +nn +iy +aD +aD +nn +yC +nn +wT +nn +aD +aD +aD +aD +aD +pn +Fm +iT +aD +aD +fK +fK +fK +fK +fK +VN +"} +(29,1,1) = {" +VN +fK +fK +CH +nn +nn +fm +pn +fm +fm +aD +aD +aD +aD +Fm +nn +nn +nn +nn +aD +aD +aD +yC +yC +aD +yC +yC +yC +rj +PX +tw +uN +PM +Co +KE +aD +aD +yC +aD +aD +aD +aD +aD +aD +yC +yC +yC +aD +aD +aD +iT +aD +aD +Fm +aD +aD +nn +aD +aD +aD +Fm +aD +aD +yC +aD +fm +fm +aD +fK +fK +fK +fK +fK +fK +VN +"} +(30,1,1) = {" +VN +fK +fK +CH +CH +aD +aD +nn +iT +Fm +fm +aD +aD +aD +iT +nn +nn +nn +fm +pn +nn +aD +aD +yC +aD +aD +yC +aD +Vt +PX +PX +uN +PM +Se +yC +yC +aD +aD +aD +nn +nn +aD +yC +yC +yr +yC +yC +aD +aD +aD +kd +iT +aD +aD +aD +fm +fm +aD +nn +aD +aD +aD +yC +yC +aD +aD +aD +aD +aD +aD +fK +fK +fK +fK +VN +"} +(31,1,1) = {" +VN +fK +fK +CH +aD +aD +aD +aD +aD +iT +aD +nn +nn +nn +aD +aD +aD +aD +kd +fm +nn +aD +aD +iT +yC +aD +aD +yC +aZ +tw +PM +uN +PM +PX +Zk +yC +aD +aD +aD +nn +nn +aD +aD +yC +yC +yC +yC +yC +aD +nn +nn +nn +nn +aD +aD +aD +Fm +iT +aD +aD +yC +yC +yC +yC +yC +yC +aD +pn +pn +nn +fK +fK +fK +fK +VN +"} +(32,1,1) = {" +VN +fK +fK +fK +aD +fm +nn +nn +nn +aD +aD +nn +RL +nn +CH +aD +aD +aD +fm +fm +aD +aD +iT +Fm +pn +aD +yC +yC +aZ +PX +PM +Js +tw +PX +Bn +aD +aD +aD +aD +nn +nn +aD +nn +nn +Fm +yC +yC +aD +aD +nn +nn +nn +nn +aD +aD +nn +fm +aD +yC +AP +yC +yC +yC +yC +yC +yC +Gt +nn +Jr +fm +fK +fK +fK +fK +VN +"} +(33,1,1) = {" +VN +fK +fK +fK +aD +iy +wT +nn +nn +pn +aD +aD +iT +aD +aD +yC +nn +nn +nn +aD +aD +aD +nn +iT +aD +aD +aD +yC +aZ +PX +PX +Yw +PX +tw +PX +Zk +yC +aD +aD +RL +yC +aD +aD +aD +nn +nn +nn +kd +aD +aD +No +nn +aD +aD +aD +aD +aD +aD +yC +yC +yC +yC +yC +yC +yC +AP +wT +nn +fm +aD +fK +fK +fK +fK +VN +"} +(34,1,1) = {" +VN +fK +fK +fK +aD +nn +fm +aD +aD +Fm +bG +aD +nn +nn +nn +rx +yC +yC +yC +nn +aD +aD +aD +aD +nn +nn +nn +Mh +hH +PX +PX +bI +ep +tw +PM +Zk +yC +yC +aD +yC +aD +aD +aD +aD +aD +aD +aD +aD +aD +aD +iy +dk +nn +aD +kd +nn +aD +aD +yC +LN +yC +dk +yC +yC +yC +oT +nn +nn +aD +nn +fK +fK +fK +fK +VN +"} +(35,1,1) = {" +VN +fK +fK +fK +aD +aD +aD +aD +aD +pn +pn +yC +yC +yC +yC +nn +yC +yC +yC +nn +RL +aD +aD +aD +yC +yC +yC +fm +hH +PX +tw +bI +ph +PX +PM +Zk +yC +aD +aD +aD +aD +yC +aD +aD +nn +aD +aD +aD +aD +aD +yC +yC +nn +aD +aD +aD +aD +Gt +nn +rx +LN +yC +yC +yC +yC +yC +nn +nn +aD +fK +fK +fK +fK +fK +VN +"} +(36,1,1) = {" +VN +fK +fK +aD +yC +aD +kd +aD +aD +aD +pn +yC +yC +yC +yC +nn +yC +yC +yC +aD +iT +aD +Fm +yC +yC +yC +LN +fm +we +PM +tw +uN +PM +PX +PM +rW +aD +aD +nn +nn +nn +aD +aD +kd +aD +aD +aD +rx +nn +nn +yC +yC +nn +aD +iT +iT +aD +pn +nn +nn +yC +nn +yC +yC +AP +nn +nn +aD +aD +fK +fK +fK +fK +fK +VN +"} +(37,1,1) = {" +VN +fK +fK +yC +yC +yC +yC +aD +yC +aD +Fm +pn +aD +aD +aD +yC +aD +nn +nn +nn +aD +aD +aD +aD +yC +yC +yC +hH +PX +PM +PX +uN +PM +PX +Es +aD +Mh +fm +yC +yC +nn +nn +nn +aD +aD +aD +aD +nn +nn +yC +yC +yC +yC +yC +rx +iT +aD +aD +pn +iT +aD +RL +yC +yC +yC +nn +aD +pn +fm +fK +fK +fK +fK +fK +VN +"} +(38,1,1) = {" +VN +fK +fK +yC +LN +LN +yC +aD +yC +aD +pn +pn +aD +aD +aD +aD +Fm +fm +aD +aD +iy +fm +aD +aD +aD +yC +aD +Vt +PX +PX +XP +aj +PM +PX +QM +rO +Mh +aD +yC +yC +yC +aD +aD +aD +aD +aD +yC +yC +yC +yC +yC +yC +yC +yC +iT +aD +aD +iy +aD +aD +aD +iT +aD +nn +nn +nn +aD +pn +kd +fK +fK +fK +fK +fK +VN +"} +(39,1,1) = {" +VN +fK +fK +yC +AP +LN +LN +aD +yC +yC +RL +pn +nn +aD +aD +nn +fm +fm +aD +aD +fm +fm +aD +aD +Jr +fm +aD +yC +IC +PX +SK +bI +ep +PX +PX +PX +Zk +yC +yC +yC +yC +yC +aD +nn +kd +aD +yC +yC +AP +yC +yC +yC +yC +yC +aD +aD +aD +iT +iT +aD +aD +aD +aD +iT +iT +aD +aD +aD +iT +fK +fK +fK +fK +fK +VN +"} +(40,1,1) = {" +VN +fK +fK +yC +yC +yC +kd +nn +yC +yC +nn +aD +nn +aD +fm +fm +aD +aD +nn +nn +aD +aD +nn +aD +fm +aD +yC +yC +aZ +PX +PX +bI +zb +PM +PX +PX +Zk +fm +yC +yC +yC +aD +iT +aD +aD +aD +aD +yC +iT +yC +yC +yC +AP +yC +aD +aD +aD +rx +nn +nn +aD +nn +pn +kd +iT +aD +aD +aD +aD +fK +fK +fK +fK +fK +VN +"} +(41,1,1) = {" +VN +fK +aD +yC +yC +yC +aD +nn +yC +yC +nn +aD +aD +aD +Fm +yC +yC +aD +nn +nn +Fm +fm +aD +aD +KE +aD +aD +yC +aZ +PX +PM +BR +YH +vF +PM +PX +Bn +aD +aD +yC +nn +nn +Fm +iT +CH +aD +aD +aD +aD +iT +yC +yC +yC +aD +aD +nn +nn +nn +nn +nn +aD +aD +pn +pn +aD +nn +aD +aD +fK +fK +fK +fK +fK +fK +VN +"} +(42,1,1) = {" +VN +fK +yC +yC +RL +aD +aD +nn +yC +oT +nn +aD +aD +aD +yC +yC +yr +aD +aD +aD +aD +aD +aD +fm +fm +aD +aD +RY +kG +PX +PM +PX +bI +Jw +vF +PM +PX +Zk +yC +aD +nn +nn +iT +iy +iT +nn +aD +nn +pn +Fm +yC +yC +yC +aD +aD +aD +aD +nn +nn +iT +aD +aD +aD +yC +yC +aD +aD +fK +fK +fK +fK +fK +fK +fK +VN +"} +(43,1,1) = {" +VN +fK +yC +yC +Gt +aD +aD +nn +nn +AP +nn +aD +Jr +aD +aD +aD +aD +aD +nn +nn +nn +aD +aD +Jr +oT +aD +KE +RY +eE +PX +PM +PM +bI +YH +sZ +PM +PX +Zk +yC +aD +nn +aD +aD +iT +aD +aD +aD +nn +pn +iT +iT +yC +aD +aD +aD +rx +iT +aD +iy +iT +aD +pn +yC +dk +yC +yC +CH +fK +fK +fK +fK +fK +fK +fK +VN +"} +(44,1,1) = {" +VN +fK +fK +aD +nn +aD +nn +nn +yC +oT +yC +nn +aD +aD +aD +fm +fm +aD +nn +nn +nn +nn +aD +oT +yC +nn +aD +KE +Qh +PX +PX +PX +Sm +uk +DM +PX +tw +Zk +yC +aD +nn +aD +nn +nn +nn +aD +yC +aD +aD +pn +pn +aD +aD +aD +aD +iT +aD +aD +aD +aD +aD +kd +yC +yC +yC +yC +CH +fK +fK +fK +fK +fK +fK +fK +VN +"} +(45,1,1) = {" +VN +fK +fK +aD +aD +Jr +Gt +nn +yC +yC +yC +nn +aD +aD +fm +Fm +fm +yC +yC +yC +rx +wT +yC +yC +yC +nn +aD +aZ +PM +PX +KR +TF +YH +aj +tw +PX +PM +rW +CH +aD +yC +yC +yC +aD +aD +aD +aD +pn +aD +aD +Jr +iT +nn +nn +aD +yC +aD +yC +yC +aD +yC +yC +yC +AP +dk +yC +CH +fK +fK +fK +fK +fK +fK +fK +VN +"} +(46,1,1) = {" +VN +fK +fK +fK +nn +aD +aD +nn +yC +AP +yC +aD +aD +wT +fm +oT +oT +yC +yC +yC +nn +nn +aD +yC +yC +nn +KE +aZ +PX +PX +tw +Sm +uk +aj +tw +PX +wq +aD +aD +aD +yC +yC +yC +yC +aD +nn +aD +kd +nn +aD +pn +aD +aD +pn +aD +aD +yC +yC +yC +yC +yC +yC +yC +yC +yC +yC +aD +fK +fK +fK +fK +fK +fK +fK +VN +"} +(47,1,1) = {" +VN +fK +fK +fK +nn +aD +nn +aD +nn +aD +aD +aD +aD +yC +yC +yC +yC +yC +yC +yC +aD +aD +Fm +aD +aD +bG +aD +Vt +PX +PM +Ik +uk +uk +ph +PX +Es +yC +iT +iy +yC +aD +yC +aD +Fm +av +aD +pn +pn +pn +nn +aD +aD +iT +iT +pn +nn +nn +nn +rx +nn +yC +yC +yC +yC +yC +yC +iT +fK +fK +fK +fK +fK +fK +fK +VN +"} +(48,1,1) = {" +VN +fK +fK +fK +nn +aD +aD +kd +pn +aD +aD +aD +rx +nn +nn +AP +yC +yC +yC +oT +yC +aD +aD +nn +nn +aD +yC +PA +PX +Ik +uk +uk +aj +PX +PX +Zk +yC +aD +iT +yC +yC +yC +aD +iT +pn +nn +aD +aD +nn +aD +aD +nn +aD +Fm +iT +aD +aD +aD +fm +fm +nn +nn +yC +yC +yC +AP +iT +fK +fK +fK +fK +fK +fK +fK +VN +"} +(49,1,1) = {" +VN +fK +fK +CH +nn +aD +pn +pn +aD +aD +nn +aD +pn +aD +nn +nn +yC +yC +yC +Fm +fm +fm +aD +aD +aD +yC +aZ +PX +PX +bI +uk +YH +aj +PM +FC +aD +aD +aD +aD +yC +aD +yC +yC +yC +aD +aD +aD +nn +aD +aD +aD +aD +pn +iT +aD +aD +aD +yC +CH +aD +aD +nn +nn +yC +aD +iT +pn +fK +fK +fK +fK +fK +fK +fK +VN +"} +(50,1,1) = {" +VN +fK +fK +nn +aD +aD +aD +yC +yC +CH +aD +nn +aD +aD +aD +pn +nn +nn +nn +fm +fm +aD +aD +aD +Fm +yC +aZ +PX +PM +bI +uk +uk +ph +PM +Zk +yC +Mh +fm +aD +yC +aD +yC +yC +yC +aD +yC +aD +aD +yC +aD +Mh +fm +aD +pn +aD +aD +yr +yC +aD +pn +pn +aD +nn +nn +nn +aD +aD +aD +fK +fK +fK +fK +fK +fK +VN +"} +(51,1,1) = {" +VN +fK +fK +No +aD +aD +nn +yC +AP +aD +aD +aD +iT +aD +aD +iy +pn +aD +aD +aD +aD +nn +aD +aD +yC +yC +aZ +PX +PM +bI +uk +aj +PX +PX +Zk +yC +fm +fm +fm +aD +KE +yC +yC +yC +aD +nn +Jr +yC +yC +yC +fm +fm +Mh +Jr +yC +aD +yC +yC +LN +fm +kd +fm +aD +kd +aD +aD +aD +aD +fK +fK +fK +fK +fK +fK +VN +"} +(52,1,1) = {" +VN +fK +fK +nn +aD +aD +nn +nn +nn +aD +aD +aD +Fm +Gt +nn +nn +aD +aD +nn +aD +HT +aD +aD +iT +aD +yC +aZ +PX +PM +bI +uk +aj +tw +PX +DT +vS +rO +rO +rO +sx +aD +KE +KE +aD +KE +sx +sx +vS +vS +vS +rO +uA +fm +aD +yC +aD +yC +yC +nn +fm +fm +aD +aD +aD +nn +pn +nn +fm +nn +fK +fK +fK +fK +fK +VN +"} +(53,1,1) = {" +VN +fK +fK +nn +nn +RL +aD +aD +aD +aD +aD +aD +aD +yC +nn +nn +nn +aD +Jr +HT +yC +yC +aD +Fm +iT +yC +aZ +PX +PX +bI +uk +aj +PX +PM +PM +PM +tw +tw +tw +PX +Se +kM +kM +aD +PA +PX +tw +PX +PM +tw +PX +PX +lF +vS +yC +yC +KE +aD +bG +aD +aD +nn +aD +aD +aD +aD +RL +fm +nn +fK +fK +fK +fK +fK +VN +"} +(54,1,1) = {" +VN +fK +fK +fK +nn +nn +aD +Fm +CH +bG +aD +HT +HT +HT +aD +HT +aD +HT +aD +aD +yC +yC +fm +fm +fm +aD +Vt +PM +tw +BR +uk +uk +An +An +ep +PX +PX +PM +PM +PX +PX +PX +PX +fZ +PM +PX +PX +PM +PM +PM +PX +PX +PX +PX +QM +vS +sx +KE +yC +KE +aD +nn +aD +nn +fm +aD +fm +nn +nn +nn +fK +fK +fK +fK +VN +"} +(55,1,1) = {" +VN +fK +fK +fK +nn +nn +aD +aD +iT +aD +HT +HT +HT +HT +HT +aD +yC +aD +aD +nn +aD +aD +yC +aD +aD +fm +hH +PX +PX +PM +jc +uk +uk +uk +uk +An +oJ +TF +TF +vF +PM +PM +tw +PX +tw +PX +Ik +An +An +ep +PM +PX +tw +tw +PM +PM +PX +xw +aD +KE +yC +nn +aD +aD +kd +fm +CH +No +nn +nn +fK +fK +fK +fK +VN +"} +(56,1,1) = {" +VN +fK +fK +fK +fK +aD +aD +aD +Fm +iT +HT +HT +HT +HT +HT +HT +aD +aD +Fm +fm +aD +nn +aD +nn +aD +fm +fm +tM +PX +PX +br +YH +uk +uk +Jv +uk +uk +YH +YH +sZ +PM +PM +PX +SK +Ik +An +uk +uk +uk +uk +oJ +ep +tw +tw +tw +PX +PM +Zk +yC +yC +aD +KE +aD +aD +fm +No +CH +CH +fK +fK +fK +fK +fK +fK +VN +"} +(57,1,1) = {" +VN +fK +fK +fK +fK +yC +yC +yC +aD +HT +HT +HT +zr +HT +HT +HT +aD +aD +fm +fm +fm +aD +aD +iT +fm +aD +fm +Mh +rj +PX +cZ +lN +YH +uk +uk +uk +uk +uk +uk +YH +oJ +oJ +An +An +uk +uk +uk +uk +uk +uk +uk +uk +An +ep +PM +PX +PM +QM +yC +yC +aD +nn +nn +nn +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(58,1,1) = {" +VN +fK +fK +fK +fK +yC +yC +yr +aD +aD +HT +HT +HT +HT +HT +HT +aD +aD +nn +nn +aD +nn +iT +iy +fm +aD +yC +yC +Vt +PX +PX +PM +nE +jq +jq +jq +jq +jq +uk +uk +uk +jq +uk +uk +uk +uk +jq +tZ +tZ +jq +uk +uk +uk +uk +ep +PX +NY +tw +rW +aD +aD +nn +nn +nn +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(59,1,1) = {" +VN +fK +fK +fK +fK +yC +yC +yC +yC +yC +aD +HT +HT +HT +HT +aD +aD +aD +yC +AP +yC +nn +aD +iT +aD +nn +yC +yC +aD +rj +PX +PM +PM +PX +PM +PM +PM +tw +BR +uk +aj +st +bI +uk +jq +ph +PX +tw +PM +PM +BR +uk +uk +uk +aj +PM +PX +PM +Bn +yC +CH +CH +CH +aD +nn +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(60,1,1) = {" +VN +fK +fK +fK +fK +AP +LN +yC +yC +oT +HT +HT +aD +pn +pn +HT +aD +yC +yC +yC +yC +nn +Fm +aD +nn +nn +yC +yC +nn +aD +rj +PX +PX +SW +PM +PM +PM +PM +PX +BR +jq +Rs +tZ +ph +PX +PX +PX +PM +tw +PX +PM +vN +YH +uk +uk +IQ +PM +PX +PM +Zk +dk +dk +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(61,1,1) = {" +VN +fK +fK +fK +fK +fm +aD +yC +oT +Fm +iT +aD +nn +pn +aD +aD +aD +yr +yC +yC +yC +nn +fm +aD +nn +nn +nn +AP +yC +yC +aD +QA +QA +kG +PX +PM +tw +PX +NY +PX +PM +PM +PM +PX +PX +PX +PX +PX +wq +IC +PM +vN +Jw +uk +uk +kj +PM +PX +PX +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(62,1,1) = {" +VN +fK +fK +fK +fK +CH +aD +aD +aD +aD +aD +iy +iT +aD +HT +yC +fm +fm +fm +aD +aD +pn +fm +aD +aD +nn +nn +yC +yC +yC +iT +aD +KE +KE +bd +bd +YY +IC +PM +PM +PX +PX +PX +Es +YY +YY +bd +bd +aD +aZ +PM +cZ +or +YH +uk +uk +An +vF +PX +SK +SK +bU +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(63,1,1) = {" +VN +fK +fK +fK +fK +fK +nn +aD +aD +yC +yC +yC +yC +Fm +aD +aD +aD +nn +AP +aD +aD +pn +Fm +iT +CH +aD +nn +nn +nn +RL +nn +aD +yC +yC +yC +nn +yC +yC +bd +YY +YY +YY +cL +yC +yC +yC +yC +aD +KE +kG +PX +PM +PM +Sm +uk +uk +uk +kj +PM +PX +BS +JF +cS +JF +JF +JF +JF +JF +fK +fK +fK +fK +fK +fK +VN +"} +(64,1,1) = {" +VN +fK +fK +fK +fK +fK +nn +aD +aD +yC +yC +yC +aD +nn +nn +nn +fm +aD +nn +aD +yC +aD +iT +fm +nn +aD +aD +aD +aD +yC +aD +aD +yC +yC +aD +nn +yC +yC +aD +yC +yC +yC +fm +fm +Mh +fm +aD +KE +KE +KE +rj +PX +PX +BR +jq +jq +jq +uk +An +An +uk +uk +uk +uk +JF +JF +JF +JF +fK +fK +fK +fK +fK +fK +VN +"} +(65,1,1) = {" +VN +fK +fK +fK +fK +fK +nn +aD +aD +aD +AP +iT +aD +nn +nn +nn +Fm +iT +nn +yC +yC +yC +yC +aD +aD +fm +fm +fm +aD +aD +aD +fm +nn +nn +aD +aD +aD +aD +Fm +fm +fm +fm +yC +yC +aD +Jr +fm +aD +aD +yC +aZ +PM +PX +PM +PM +PX +PX +bI +uk +uk +uk +uk +uk +YH +JF +JF +EW +JF +JF +JF +JF +fK +fK +fK +VN +"} +(66,1,1) = {" +VN +fK +fK +fK +fK +fK +RL +Gt +aD +aD +iT +aD +pn +nn +nn +nn +iT +fm +nn +yC +yC +yC +yC +aD +aD +aD +Fm +nn +nn +nn +aD +aD +Fm +fm +aD +nn +nn +fm +fm +fm +aD +fm +yC +yC +aD +aD +uh +yC +CH +yC +yC +fK +PX +PX +PX +PX +tw +BR +uk +YH +YH +uk +uk +uk +uk +uk +JF +JF +JF +EW +JF +fK +fK +fK +VN +"} +(67,1,1) = {" +VN +fK +fK +fK +fK +fK +wT +nn +aD +CH +aD +aD +iy +fm +aD +nn +yC +nn +yC +yC +yC +AP +yC +yC +nn +aD +fm +nn +nn +nn +aD +aD +fm +fm +aD +Fm +aD +aD +aD +nn +nn +aD +aD +aD +Fm +fm +yC +yC +fK +fK +fK +fK +fK +fK +fK +SK +PX +PX +Vi +JF +JF +JF +Jv +uk +uk +uk +YH +YH +uk +uk +uk +JF +fK +fK +VN +"} +(68,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +CH +aD +aD +iT +aD +aD +kd +yC +yC +AP +yC +yC +yC +yC +uh +yC +nn +aD +aD +nn +nn +nn +nn +aD +nn +CH +CH +nn +nn +nn +CH +nn +nn +aD +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +SK +PX +SK +bU +JF +JF +JF +JF +YH +uk +uk +uk +uk +uk +uk +uk +fK +fK +VN +"} +(69,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +nn +aD +nn +rx +iT +aD +aD +yC +yC +LN +yC +yC +dk +yC +yC +yC +nn +aD +aD +nn +RL +nn +nn +aD +aD +No +No +nn +nn +No +CH +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +JF +EW +JF +JF +JF +JF +uk +uk +uk +uk +uk +Jv +uk +uk +fK +VN +"} +(70,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +lh +iT +iT +iT +CH +aD +aD +nn +rx +LN +yC +yC +yC +yC +yC +aD +Fm +aD +aD +CH +CH +aD +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +JF +JF +JF +JF +JF +JF +JF +JF +JF +fK +uk +uk +uk +uk +fK +VN +"} +(71,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +aD +nn +wT +fm +CH +nn +wT +nn +nn +aD +aD +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +cS +JF +JF +JF +JF +fK +fK +fK +fK +fK +fK +VN +"} +(72,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(73,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(74,1,1) = {" +VN +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +fK +VN +"} +(75,1,1) = {" +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +VN +"} diff --git a/_maps/virtual_domains/island_brawl.dmm b/_maps/virtual_domains/island_brawl.dmm index c9010062f54b1..62a63f81bab2e 100644 --- a/_maps/virtual_domains/island_brawl.dmm +++ b/_maps/virtual_domains/island_brawl.dmm @@ -3416,7 +3416,7 @@ /turf/open/floor/wood/parquet, /area/virtual_domain) "QX" = ( -/obj/machinery/vending/boozeomat/all_access{ +/obj/machinery/vending/boozeomat{ desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one. May not work for bartenders that don't have Nanotrasen bank accounts." }, /turf/open/floor/wood/large, @@ -3808,7 +3808,7 @@ /turf/open/floor/iron/dark/diagonal, /area/virtual_domain) "Uk" = ( -/obj/machinery/vending/autodrobe/all_access, +/obj/machinery/vending/autodrobe, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "Um" = ( diff --git a/_maps/virtual_domains/meta_central.dmm b/_maps/virtual_domains/meta_central.dmm new file mode 100644 index 0000000000000..2fc87ae17c818 --- /dev/null +++ b/_maps/virtual_domains/meta_central.dmm @@ -0,0 +1,8434 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = -4 + }, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/carpet, +/area/virtual_domain) +"ac" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Command Hallway" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ai" = ( +/obj/structure/broken_flooring/corner/always_floorplane/directional/south, +/turf/open/floor/plating, +/area/virtual_domain) +"an" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Showroom Shutters" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"as" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + name = "Showroom Shutters" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"at" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/storage/box/mothic_rations{ + pixel_y = -9; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"au" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/toy/figure/detective{ + pixel_y = 13 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"av" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"aw" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/right/directional/north{ + name = "Head of Personnel's Desk"; + req_access = list("hop") + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ay" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/item/surgicaldrill, +/turf/open/indestructible/meat, +/area/virtual_domain) +"aA" = ( +/obj/item/restraints/legcuffs/beartrap/prearmed, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"aC" = ( +/obj/structure/fluff/paper/stack, +/turf/open/floor/iron, +/area/virtual_domain) +"aO" = ( +/obj/structure/toilet{ + pixel_y = 13 + }, +/obj/machinery/light/directional/south, +/obj/machinery/light_switch/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/virtual_domain) +"aQ" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/decal/cleanable/food/egg_smudge, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"aT" = ( +/obj/effect/mob_spawn/ghost_role/human/virtual_domain/pirate, +/turf/open/floor/plating, +/area/virtual_domain) +"aV" = ( +/obj/structure/flora/bush/large/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"aZ" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/robot_debris/limb, +/obj/machinery/exoscanner, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron, +/area/virtual_domain) +"ba" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"bb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/spawner/random/trash, +/turf/open/floor/iron, +/area/virtual_domain) +"bd" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"bf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor7" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"bg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = 9; + pixel_y = 2 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"bl" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"bm" = ( +/obj/item/clothing/mask/surgical, +/obj/effect/mob_spawn/corpse/human/doctor, +/turf/open/indestructible/meat, +/area/virtual_domain) +"br" = ( +/obj/effect/spawner/random/decoration/showcase, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/carpet, +/area/virtual_domain) +"bs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/assembly/flash, +/turf/open/floor/iron, +/area/virtual_domain) +"bu" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/bonfire/prelit, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"bw" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"bO" = ( +/obj/structure/bed/maint, +/obj/item/bedsheet/pirate, +/turf/open/floor/carpet, +/area/virtual_domain) +"bP" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L6" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"bQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/ai_module/malf, +/turf/open/floor/iron, +/area/virtual_domain) +"bR" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"bS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron, +/area/virtual_domain) +"bT" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/stock_parts/subspace/filter{ + pixel_x = 15 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"bU" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"bW" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"bZ" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/caution/red, +/turf/open/floor/iron, +/area/virtual_domain) +"cj" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"ck" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L3" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "w"; + pixel_y = -15; + pixel_x = -17 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "e"; + pixel_y = -16; + pixel_x = -2 + }, +/obj/effect/decal/cleanable/blood{ + pixel_y = -13 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"cp" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/holosign/barrier, +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/iron, +/area/virtual_domain) +"cr" = ( +/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/virtual_domain) +"cw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -4; + pixel_y = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"cx" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/kirbyplants/organic/plant16, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"cz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"cB" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt, +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/iron, +/area/virtual_domain) +"cC" = ( +/obj/structure/sign/map/left{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-left-MS"; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"cD" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/wood, +/area/virtual_domain) +"cF" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"cH" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/structure/flora/bush/large/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"cI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = 5; + pixel_y = 7 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"cK" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/obj/structure/railing, +/turf/open/floor/iron, +/area/virtual_domain) +"cN" = ( +/obj/structure/sign/departments/court/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/barricade/security, +/turf/open/floor/iron, +/area/virtual_domain) +"cO" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/item/trash/fleet_ration, +/obj/effect/decal/cleanable/food/egg_smudge, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"cW" = ( +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"cZ" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Shutters Control" + }, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"db" = ( +/turf/open/floor/carpet, +/area/virtual_domain) +"dc" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"dd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"di" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"dk" = ( +/obj/machinery/button/door/directional/south{ + name = "E.V.A. Storage Shutter Control" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/suit_storage_unit/void_old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"dl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash, +/turf/open/floor/iron, +/area/virtual_domain) +"dz" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/structure/bed/dogbed/ian, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/wood, +/area/virtual_domain) +"dA" = ( +/obj/structure/holosign/barrier/medical, +/turf/closed/indestructible/fakedoor, +/area/virtual_domain) +"dC" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"dD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"dE" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/virtual_domain) +"dP" = ( +/obj/structure/sign/directions/security{ + dir = 1; + pixel_y = 8 + }, +/obj/structure/sign/directions/engineering{ + dir = 4 + }, +/obj/structure/sign/directions/command{ + pixel_y = -8 + }, +/turf/closed/wall/r_wall, +/area/virtual_domain) +"dU" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"dX" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/effect/turf_decal/bot, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"dY" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/banner/medical, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"dZ" = ( +/obj/item/storage/belt/utility, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/structure/rack, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/button/door/directional/south{ + name = "Gateway Shutter Control" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ej" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"ek" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"ep" = ( +/obj/structure/table/wood, +/obj/item/storage/briefcase/secure{ + desc = "A large briefcase with a digital locking system, and the Nanotrasen logo emblazoned on the sides."; + name = "\improper Nanotrasen-brand secure briefcase exhibit"; + pixel_y = 2 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"er" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"eu" = ( +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"ey" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"ez" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/wrench, +/obj/item/multitool, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/incident_display/delam/directional/south, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"eA" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/bookcase/random, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/iron, +/area/virtual_domain) +"eB" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"eD" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L3" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"eG" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"eN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"eR" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/computer/old{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"eV" = ( +/obj/machinery/light/directional/west, +/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_x = 4; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"eX" = ( +/obj/structure/meateor_fluff/abandoned_headcrab_egg, +/turf/open/indestructible/meat, +/area/virtual_domain) +"eZ" = ( +/obj/structure/meateor_fluff/eyeball, +/obj/effect/mob_spawn/corpse/human/doctor, +/turf/open/indestructible/meat, +/area/virtual_domain) +"fc" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/obj/structure/railing, +/turf/open/floor/iron, +/area/virtual_domain) +"fh" = ( +/turf/open/floor/plating, +/area/virtual_domain) +"fj" = ( +/obj/structure/closet/crate/cargo, +/obj/effect/spawner/random/maintenance/no_decals/seven, +/turf/open/floor/iron, +/area/virtual_domain) +"fn" = ( +/obj/item/camera/detective{ + pixel_y = 4; + pixel_x = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"fr" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"fz" = ( +/obj/machinery/pdapainter{ + pixel_y = 2 + }, +/obj/machinery/requests_console/directional/north{ + department = "Head of Personnel's Desk"; + name = "Head of Personnel's Requests Console" + }, +/turf/open/floor/wood, +/area/virtual_domain) +"fB" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/virtual_domain) +"fC" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/screwdriver, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/flashlight/flare/candle/infinite{ + pixel_y = 16; + icon_state = "candle2_lit"; + pixel_x = 17 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"fD" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/armory/laser_gun, +/turf/template_noop, +/area/virtual_domain/safehouse) +"fF" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"fG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/decal/cleanable/glass, +/obj/item/clothing/head/costume/party, +/turf/open/floor/iron, +/area/virtual_domain) +"fK" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/virtual_domain) +"fN" = ( +/obj/structure/sign/directions/science{ + pixel_y = -8 + }, +/obj/structure/sign/directions/medical{ + pixel_y = 8 + }, +/obj/structure/sign/directions/evac, +/turf/closed/wall/r_wall, +/area/virtual_domain) +"fP" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"fQ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"gb" = ( +/obj/structure/flora/rock/pile/jungle, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"ge" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/structure/flora/tree/jungle/small/style_4, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"gg" = ( +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"gj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron, +/area/virtual_domain) +"gk" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/fluff/paper/stack, +/obj/item/flashlight/lamp/green, +/turf/open/floor/iron, +/area/virtual_domain) +"gt" = ( +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"gC" = ( +/obj/item/kirbyplants/synthetic, +/turf/open/floor/plating, +/area/virtual_domain) +"gE" = ( +/turf/open/floor/wood, +/area/virtual_domain) +"gM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/bodypart/head/robot, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/digital_clock/directional/north, +/obj/item/knife/combat/cyborg{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"gU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/carpet, +/area/virtual_domain) +"hb" = ( +/obj/structure/table/wood, +/obj/item/camera{ + pixel_y = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/carpet, +/area/virtual_domain) +"hc" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"hd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"hg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/holosign/barrier, +/turf/open/floor/iron, +/area/virtual_domain) +"hh" = ( +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/carpet, +/area/virtual_domain) +"hi" = ( +/obj/structure/broken_flooring/pile/directional/west, +/obj/structure/holosign/barrier, +/turf/open/floor/plating, +/area/virtual_domain) +"hj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Command Hallway" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"hp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ht" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13" + }, +/obj/effect/spawner/random/trash, +/turf/open/floor/iron, +/area/virtual_domain) +"hv" = ( +/obj/structure/bed/medical/emergency, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/vending/wallmed/directional/west, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron, +/area/virtual_domain) +"hw" = ( +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron, +/area/virtual_domain) +"hz" = ( +/obj/structure/reagent_dispensers/wall/virusfood/directional/south, +/obj/structure/meateor_fluff/eyeball, +/turf/open/indestructible/meat, +/area/virtual_domain) +"hF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron, +/area/virtual_domain) +"hG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Gateway Chamber" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"hR" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"hU" = ( +/obj/structure/frame/computer, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"hV" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/closet/crate/secure/syndicrate, +/turf/open/floor/iron, +/area/virtual_domain) +"hX" = ( +/turf/template_noop, +/area/virtual_domain/safehouse) +"hZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/virtual_domain) +"id" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"ie" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"ii" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/holosign/barrier/atmos, +/turf/open/floor/plating, +/area/virtual_domain) +"il" = ( +/obj/structure/table, +/obj/machinery/newscaster/directional/north, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"im" = ( +/obj/effect/decal/cleanable/blood/gibs/up, +/turf/open/indestructible/meat, +/area/virtual_domain) +"iv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/plating, +/area/virtual_domain) +"ix" = ( +/obj/item/trash/fleet_ration, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"iy" = ( +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/virtual_domain) +"iA" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/large/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"iH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/item/trash/can, +/turf/open/floor/carpet, +/area/virtual_domain) +"iI" = ( +/obj/structure/closet/crate, +/obj/item/stack/cable_coil, +/obj/item/crowbar, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"iK" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"iP" = ( +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"iQ" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/structure/table, +/obj/item/stack/sheet/plasteel{ + amount = 10 + }, +/obj/machinery/airalarm/directional/west, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar, +/obj/item/wrench, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"iY" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/evac/directional/east, +/obj/item/stock_parts/subspace/crystal{ + pixel_y = -12; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"iZ" = ( +/obj/item/storage/box/mothic_rations{ + pixel_y = -7 + }, +/obj/effect/decal/cleanable/food/tomato_smudge, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ja" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"jc" = ( +/obj/item/shard, +/turf/open/floor/carpet, +/area/virtual_domain) +"jd" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/item/chair{ + dir = 1 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"jh" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/wood, +/area/virtual_domain) +"jk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "E.V.A. Storage" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/virtual_domain) +"jm" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/clothing/mask/facehugger/dead, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"jt" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"jx" = ( +/obj/effect/turf_decal/siding/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "med" + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"jy" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/computer/old{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/wood, +/area/virtual_domain) +"jz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"jC" = ( +/obj/item/ammo_box/magazine/wt550m9, +/turf/open/floor/plating, +/area/virtual_domain) +"jD" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/egg/burst, +/turf/open/floor/plating, +/area/virtual_domain) +"jF" = ( +/obj/machinery/holopad/secure, +/obj/item/storage/box/lethalshot{ + pixel_y = 7 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"jG" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/table/glass, +/obj/item/clothing/head/utility/chefhat{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = -6; + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"jR" = ( +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"kc" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/mine/gas/plasma, +/turf/open/floor/wood, +/area/virtual_domain) +"kd" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron, +/area/virtual_domain) +"kg" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/trash/boritos/red, +/turf/open/floor/carpet, +/area/virtual_domain) +"ki" = ( +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = 2 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"km" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"kn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + name = "Vacant Commissary Shutter" + }, +/obj/structure/noticeboard/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"kp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"kt" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"kv" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"kx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"kI" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"kK" = ( +/obj/structure/sign/directions/command{ + dir = 4; + pixel_y = -8 + }, +/obj/structure/sign/directions/security{ + dir = 1; + pixel_y = 8 + }, +/obj/structure/sign/directions/engineering{ + dir = 4 + }, +/turf/closed/wall, +/area/virtual_domain) +"kM" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"kN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + name = "E.V.A. Storage Shutter" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/virtual_domain) +"kW" = ( +/obj/structure/table, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"lb" = ( +/obj/item/stack/sheet/iron, +/turf/open/floor/iron, +/area/virtual_domain) +"ld" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + name = "Vacant Commissary Shutter" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"lk" = ( +/obj/item/grenade/c4/x4, +/turf/open/floor/plating, +/area/virtual_domain) +"lt" = ( +/obj/machinery/camera/motion/directional/east{ + c_tag = "E.V.A. Storage" + }, +/obj/machinery/requests_console/directional/east{ + department = "EVA"; + name = "EVA Requests Console" + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"lu" = ( +/obj/structure/chair/stool/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"lv" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/pickaxe/rusted, +/turf/open/floor/iron, +/area/virtual_domain) +"lx" = ( +/obj/structure/barricade/sandbags, +/obj/machinery/deployable_turret{ + dir = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"lC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Command Hallway" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"lD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "E.V.A. Storage" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/iron, +/area/virtual_domain) +"lE" = ( +/obj/structure/sign/departments/science, +/turf/closed/wall, +/area/virtual_domain) +"lG" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"lJ" = ( +/obj/item/tank/internals/oxygen, +/obj/effect/decal/cleanable/glass, +/obj/effect/gibspawner/human, +/turf/open/floor/plating, +/area/virtual_domain) +"lK" = ( +/obj/structure/table/wood, +/obj/structure/sign/picture_frame/showroom/one{ + pixel_x = -8; + pixel_y = 32 + }, +/obj/structure/sign/picture_frame/showroom/two{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/item/ammo_casing/shotgun/buckshot/spent, +/turf/open/floor/wood, +/area/virtual_domain) +"lL" = ( +/obj/structure/table, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/south, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"lM" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L6" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "c"; + pixel_x = -11; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "o"; + pixel_y = 16; + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"lN" = ( +/obj/item/bodybag{ + pixel_y = 5; + pixel_x = -6 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 9; + pixel_y = -5 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"lQ" = ( +/obj/structure/spacevine{ + can_spread = 0 + }, +/turf/closed/wall, +/area/virtual_domain) +"lT" = ( +/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/catwalk_floor/iron_dark, +/area/virtual_domain) +"lU" = ( +/obj/structure/fluff/paper/stack, +/obj/structure/marker_beacon/bronze, +/turf/open/floor/plating, +/area/virtual_domain) +"lY" = ( +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"mb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/button/door/directional/south{ + name = "Gateway Shutter Control"; + pixel_y = -34 + }, +/obj/machinery/button/door/directional/south{ + name = "E.V.A. Storage Shutter Control" + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/carpet, +/area/virtual_domain) +"mc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"mf" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L4" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"mi" = ( +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/structure/rack, +/obj/item/storage/briefcase/secure, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"mj" = ( +/obj/item/flashlight/flare/candle/infinite{ + pixel_x = -13; + pixel_y = 8; + icon_state = "candle3_lit" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"mo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + name = "Showroom Shutters" + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/virtual_domain) +"mq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"mt" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"mw" = ( +/obj/effect/decal/cleanable/blood/gibs/down, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"my" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/computer/records/security/laptop/syndie, +/obj/structure/sign/poster/official/state_laws/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"mI" = ( +/obj/structure/bookcase/random, +/turf/open/floor/iron, +/area/virtual_domain) +"mK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"mO" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/structure/flora/bush/large/style_random, +/obj/structure/spacevine{ + can_spread = 0 + }, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"mP" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/ammo_casing/shotgun/buckshot/spent, +/turf/open/floor/carpet, +/area/virtual_domain) +"mQ" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"mR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"mW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"nq" = ( +/obj/effect/mob_spawn/corpse/human/scientist, +/turf/open/misc/dirt/dark/jungle, +/area/virtual_domain) +"nw" = ( +/obj/structure/punji_sticks/spikes, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ny" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"nz" = ( +/obj/effect/decal/cleanable/glass, +/obj/item/clothing/head/costume/party, +/turf/open/floor/iron, +/area/virtual_domain) +"nO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"nP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/obj/structure/railing, +/turf/open/floor/iron, +/area/virtual_domain) +"nS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"nU" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/sign/departments/aiupload/directional/north, +/obj/effect/decal/cleanable/shreds, +/obj/item/card/emag, +/turf/open/floor/iron, +/area/virtual_domain) +"nW" = ( +/obj/machinery/light_switch{ + pixel_x = 38; + pixel_y = -35 + }, +/obj/machinery/button/flasher{ + pixel_x = 38; + pixel_y = -25 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/bed/maint, +/obj/item/bedsheet/pirate{ + dir = 4 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"nY" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/computer/old{ + dir = 8 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"nZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/item/book, +/turf/open/floor/iron, +/area/virtual_domain) +"od" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/leafy, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"ok" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/borg/upgrade/pinpointer, +/turf/open/floor/iron, +/area/virtual_domain) +"ol" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil{ + icon_state = "floor6" + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/modular_computer/laptop{ + icon_state = "laptop"; + pixel_y = 12; + pixel_x = 2 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"on" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/paper/stack, +/turf/open/floor/iron, +/area/virtual_domain) +"oo" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Gateway Maintenance" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"op" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/structure/closet/body_bag, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"oy" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"oA" = ( +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/turf/open/floor/iron, +/area/virtual_domain) +"oD" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"oH" = ( +/obj/structure/sign/plaques/kiddie/perfect_man{ + pixel_y = 32 + }, +/obj/effect/spawner/random/decoration/showcase, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"oI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Corporate Showroom" + }, +/turf/open/floor/wood, +/area/virtual_domain) +"oM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet, +/area/virtual_domain) +"oO" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/fullupgrade{ + dir = 8 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"oQ" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"oS" = ( +/obj/structure/barricade/sandbags, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"pb" = ( +/obj/item/radio/intercom/directional/north{ + pixel_y = 34 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"pc" = ( +/obj/structure/fluff/paper/stack{ + dir = 9 + }, +/obj/item/book, +/turf/open/floor/iron, +/area/virtual_domain) +"pd" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating, +/area/virtual_domain) +"pr" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/closet/crate/cargo, +/obj/effect/spawner/random/maintenance/no_decals/seven, +/turf/open/floor/iron, +/area/virtual_domain) +"ps" = ( +/turf/closed/wall, +/area/virtual_domain) +"pv" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/item/trash/fleet_ration, +/turf/open/floor/iron, +/area/virtual_domain) +"pA" = ( +/obj/structure/broken_flooring/side/directional/west, +/turf/open/floor/plating, +/area/virtual_domain) +"pB" = ( +/obj/structure/sign/directions/security{ + dir = 1; + pixel_y = 8 + }, +/obj/structure/sign/directions/engineering{ + dir = 4 + }, +/obj/structure/sign/directions/command{ + dir = 1; + pixel_y = -8 + }, +/turf/closed/wall, +/area/virtual_domain) +"pD" = ( +/turf/closed/indestructible/fakedoor/maintenance, +/area/virtual_domain) +"pE" = ( +/obj/structure/fluff/paper/stack{ + dir = 10 + }, +/obj/item/flashlight/lamp/green, +/turf/open/floor/iron, +/area/virtual_domain) +"pI" = ( +/obj/effect/decal/cleanable/xenoblood/xgibs/up, +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"pJ" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"pK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/shotgun/buckshot/spent, +/turf/open/floor/wood, +/area/virtual_domain) +"pL" = ( +/obj/item/extinguisher, +/turf/open/floor/plating, +/area/virtual_domain) +"pN" = ( +/obj/structure/meateor_fluff/eyeball, +/turf/open/indestructible/meat, +/area/virtual_domain) +"pO" = ( +/obj/effect/decal/cleanable/robot_debris/old, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"pP" = ( +/obj/machinery/button/door/directional/north{ + name = "Privacy Shutters Control" + }, +/obj/machinery/computer/old, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/wood, +/area/virtual_domain) +"pQ" = ( +/obj/machinery/ticket_machine/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"pR" = ( +/obj/structure/broken_flooring/pile/directional/north, +/turf/open/floor/plating, +/area/virtual_domain) +"pT" = ( +/obj/structure/barricade/sandbags, +/obj/machinery/deployable_turret/hmg, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"pV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"pW" = ( +/obj/structure/alien/weeds, +/obj/item/flamethrower/full/tank, +/turf/open/floor/plating, +/area/virtual_domain) +"pX" = ( +/obj/item/photo/old{ + pixel_y = 14 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"qa" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil{ + icon_state = "floor5" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"qk" = ( +/obj/structure/chair/comfy/beige, +/turf/open/floor/carpet, +/area/virtual_domain) +"qq" = ( +/obj/structure/broken_flooring/side/directional/west, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/virtual_domain) +"qr" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/virtual_domain) +"qu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/chair{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"qv" = ( +/obj/item/kirbyplants/organic/plant21, +/obj/structure/sign/departments/botany/directional/east, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"qz" = ( +/obj/structure/table/wood, +/obj/machinery/light_switch/directional/west, +/obj/item/storage/briefcase/secure{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/wood, +/area/virtual_domain) +"qI" = ( +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"qJ" = ( +/obj/machinery/light/floor, +/obj/item/stack/sheet/iron, +/turf/open/floor/iron, +/area/virtual_domain) +"qL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/trash/semki/healthy, +/turf/open/floor/iron, +/area/virtual_domain) +"qM" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/decal/cleanable/dirt, +/obj/item/mop, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"qP" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/turf/open/floor/iron, +/area/virtual_domain) +"qS" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/requests_console/directional/east{ + department = "Captain's Desk"; + name = "Captain's Requests Console" + }, +/obj/structure/frame/computer{ + dir = 8 + }, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = 5 + }, +/obj/item/stack/cable_coil/cut, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood, +/area/virtual_domain) +"qY" = ( +/obj/item/reagent_containers/cup/bottle/random_virus, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ra" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13" + }, +/obj/effect/decal/cleanable/crayon/x{ + pixel_x = -6; + pixel_y = -15 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"rb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"re" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron, +/area/virtual_domain) +"rf" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/ammo_casing/spent{ + dir = 9 + }, +/obj/item/ammo_casing/spent{ + dir = 10; + pixel_x = -13; + pixel_y = -8 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating, +/area/virtual_domain) +"rh" = ( +/obj/machinery/light/directional/north, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"rj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"rm" = ( +/obj/structure/lattice, +/obj/effect/decal/cleanable/blood/gibs/torso, +/turf/open/space/basic, +/area/virtual_domain) +"ro" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"rq" = ( +/obj/machinery/vending/cigarette, +/obj/item/gun/ballistic/shotgun/lethal{ + pixel_y = 13 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"rr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron, +/area/virtual_domain) +"rs" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/template_noop, +/area/virtual_domain/safehouse) +"rt" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/frame/machine/secured, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"rv" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/virtual_domain) +"ry" = ( +/obj/structure/sign/map/left{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-left-MS"; + pixel_y = 32 + }, +/obj/structure/showcase/machinery/tv/broken, +/turf/open/floor/wood, +/area/virtual_domain) +"rz" = ( +/obj/machinery/computer/old{ + dir = 4 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"rC" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"rJ" = ( +/obj/effect/spawner/random/trash, +/turf/open/floor/carpet, +/area/virtual_domain) +"rO" = ( +/obj/item/disk/nuclear/fake/obvious, +/turf/open/floor/carpet, +/area/virtual_domain) +"rP" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"rQ" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/wood, +/area/virtual_domain) +"rW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/wood, +/area/virtual_domain) +"rX" = ( +/obj/machinery/photocopier, +/turf/open/floor/carpet, +/area/virtual_domain) +"sa" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"sc" = ( +/obj/machinery/cell_charger{ + pixel_y = 4 + }, +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"se" = ( +/obj/effect/mine/explosive/flame, +/turf/open/floor/carpet, +/area/virtual_domain) +"sf" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/flora/rock/icy, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"si" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"sm" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/suit_storage_unit/void_old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"sr" = ( +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/plating, +/area/virtual_domain) +"ss" = ( +/obj/item/stock_parts/micro_laser/high, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"st" = ( +/obj/item/seeds/coffee, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"sz" = ( +/obj/effect/decal/cleanable/glass, +/obj/structure/safe/floor, +/obj/item/stack/spacecash/c10000, +/obj/item/stack/spacecash/c10000, +/obj/item/stack/spacecash/c10000, +/obj/item/stack/sheet/mineral/gold, +/turf/open/floor/wood, +/area/virtual_domain) +"sA" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/carpet, +/area/virtual_domain) +"sB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"sF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/briefcase/lawyer, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"sI" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/frame/computer, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"sS" = ( +/obj/structure/lattice, +/obj/structure/marker_beacon/bronze, +/turf/open/space/basic, +/area/virtual_domain) +"sX" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/caution/red, +/obj/item/clothing/suit/caution{ + pixel_y = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"sZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/banner/science, +/turf/open/floor/iron, +/area/virtual_domain) +"te" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Head of Personnel" + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"tf" = ( +/obj/effect/rune, +/obj/item/knife/envy, +/turf/open/floor/plating, +/area/virtual_domain) +"th" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"tj" = ( +/obj/structure/bed/dogbed/renault, +/mob/living/basic/pet/fox, +/obj/item/stack/spacecash/c1000{ + pixel_y = 15; + pixel_x = 5 + }, +/obj/item/storage/briefcase/secure/syndie{ + pixel_y = 13; + pixel_x = -6 + }, +/obj/item/stack/sheet/mineral/diamond{ + pixel_x = 9; + pixel_y = 9 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"tk" = ( +/obj/machinery/button/door/directional/west{ + id = "bridge blast"; + name = "Bridge Access Blast Door Control" + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"tl" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/resin, +/turf/open/floor/plating, +/area/virtual_domain) +"tn" = ( +/obj/effect/decal/cleanable/xenoblood/xgibs/core, +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"to" = ( +/obj/item/boulder{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/boulder{ + icon_state = "rock_medium"; + pixel_x = -12; + pixel_y = 8 + }, +/obj/item/boulder{ + icon_state = "boulder_medium"; + pixel_x = -4; + pixel_y = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"tq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"tu" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"tw" = ( +/obj/structure/flora/rock/pile/jungle, +/obj/effect/mob_spawn/corpse/human/scientist, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"ty" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"tF" = ( +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/virtual_domain) +"tI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/trash/can/food/pine_nuts, +/turf/open/floor/iron, +/area/virtual_domain) +"tM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/crowbar, +/turf/open/floor/iron, +/area/virtual_domain) +"tO" = ( +/obj/structure/sign/directions/evac, +/obj/structure/sign/directions/medical{ + pixel_y = 8 + }, +/obj/structure/sign/directions/science{ + pixel_y = -8 + }, +/turf/closed/wall, +/area/virtual_domain) +"tR" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/iron, +/area/virtual_domain) +"tS" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"tV" = ( +/obj/structure/table/wood, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/folder/blue, +/obj/item/clothing/head/collectable/hop{ + name = "novelty HoP hat" + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"tW" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/mob_spawn/corpse/human/scientist, +/turf/open/misc/dirt/dark/jungle, +/area/virtual_domain) +"ub" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/glass, +/obj/effect/mine/explosive/flame, +/turf/open/floor/plating, +/area/virtual_domain) +"ud" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/trash/cheesie, +/turf/open/floor/iron, +/area/virtual_domain) +"uf" = ( +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/virtual_domain) +"ug" = ( +/obj/structure/holosign/barrier/wetsign, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"uk" = ( +/obj/structure/marker_beacon/bronze, +/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/virtual_domain) +"ul" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"up" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"uq" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/tree/jungle/small/style_4, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"ut" = ( +/obj/structure/sign/directions/engineering{ + dir = 4 + }, +/obj/structure/sign/directions/security{ + dir = 1; + pixel_y = 8 + }, +/obj/structure/sign/directions/command{ + dir = 8; + pixel_y = -8 + }, +/turf/closed/wall, +/area/virtual_domain) +"uw" = ( +/obj/item/clothing/shoes/magboots{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ux" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"uz" = ( +/turf/template_noop, +/area/template_noop) +"uA" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/iron, +/area/virtual_domain) +"uB" = ( +/turf/closed/indestructible/meat, +/area/virtual_domain) +"uD" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/iron, +/area/virtual_domain) +"uH" = ( +/obj/structure/bookcase, +/turf/open/floor/wood, +/area/virtual_domain) +"uP" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/item/radio/intercom/directional/west, +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = 2 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/carpet, +/area/virtual_domain) +"uS" = ( +/turf/closed/wall/r_wall, +/area/virtual_domain) +"uT" = ( +/obj/structure/mop_bucket/janitorialcart{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"uX" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"uY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/exoscanner, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron, +/area/virtual_domain) +"vf" = ( +/obj/structure/broken_flooring/corner/directional/east, +/turf/open/floor/plating, +/area/virtual_domain) +"vg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/pew/right, +/obj/item/reagent_containers/cup/glass/coffee, +/turf/open/floor/iron, +/area/virtual_domain) +"vi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/book/manual/wiki/detective, +/turf/open/floor/iron, +/area/virtual_domain) +"vn" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"vo" = ( +/obj/effect/turf_decal/tile/bar, +/obj/structure/holosign/barrier/engineering, +/turf/open/floor/iron, +/area/virtual_domain) +"vt" = ( +/obj/machinery/bluespace_beacon, +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"vw" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"vy" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L12" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"vA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/trash/candle, +/turf/open/floor/plating, +/area/virtual_domain) +"vI" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/button/door/directional/east{ + name = "Teleporter Shutter Control"; + pixel_y = 5 + }, +/obj/structure/alien/weeds, +/turf/open/floor/iron, +/area/virtual_domain) +"vK" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"vM" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"vN" = ( +/obj/structure/broken_flooring/pile/directional/west, +/turf/open/floor/plating, +/area/virtual_domain) +"vO" = ( +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/iron, +/area/virtual_domain) +"vU" = ( +/obj/machinery/recharger, +/turf/open/floor/plating, +/area/virtual_domain) +"vV" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"vW" = ( +/obj/machinery/light/directional/north, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"wa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/trash/popcorn/caramel, +/turf/open/floor/iron, +/area/virtual_domain) +"wi" = ( +/obj/machinery/holopad, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"wj" = ( +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/iron, +/area/virtual_domain) +"wl" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/rock/pile/jungle, +/obj/structure/flora/bush/leavy/style_3, +/obj/structure/flora/tree/jungle/small/style_2, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"wn" = ( +/obj/machinery/light_switch/directional/south, +/obj/structure/table/wood, +/obj/item/razor{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/reagent_containers/cup/glass/flask/gold, +/turf/open/floor/carpet, +/area/virtual_domain) +"wo" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/small/directional/north, +/obj/machinery/coffeemaker/impressa, +/turf/open/floor/wood, +/area/virtual_domain) +"wq" = ( +/obj/structure/reagent_dispensers/wall/virusfood/directional/south, +/obj/item/clothing/mask/surgical, +/obj/structure/meateor_fluff/abandoned_headcrab_egg, +/turf/open/indestructible/meat, +/area/virtual_domain) +"wu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ww" = ( +/obj/item/knife/shiv/plastitanium, +/turf/open/floor/carpet, +/area/virtual_domain) +"wA" = ( +/obj/structure/table/glass, +/obj/structure/safe, +/obj/item/storage/toolbox/guncase/cqc, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"wB" = ( +/obj/structure/sign/directions/command{ + dir = 1; + pixel_y = -8 + }, +/turf/closed/wall/r_wall, +/area/virtual_domain) +"wD" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/closet/secure_closet/personal, +/obj/effect/spawner/random/bureaucracy/briefcase, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"wH" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"wL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/button/door/directional/south{ + name = "Bridge Access Blast Door Control" + }, +/obj/machinery/button/door/directional/south{ + name = "Council Chamber Blast Door Control"; + pixel_y = -34 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"wN" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating, +/area/virtual_domain) +"wP" = ( +/obj/structure/sign/directions/medical{ + dir = 8; + pixel_y = 8 + }, +/obj/structure/sign/directions/evac, +/obj/structure/sign/directions/science{ + dir = 4; + pixel_y = -8 + }, +/turf/closed/wall, +/area/virtual_domain) +"wV" = ( +/obj/effect/spawner/random/trash/garbage{ + spawn_scatter_radius = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"wY" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/bitrunning/cache_spawn, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"xb" = ( +/obj/structure/sign/map/right{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-right-MS"; + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"xd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"xe" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/plating, +/area/virtual_domain) +"xj" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/virtual_domain) +"xu" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"xI" = ( +/obj/item/disk/data{ + pixel_x = 9; + pixel_y = -1 + }, +/obj/item/disk/tech_disk{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/disk/design_disk{ + name = "component design disk"; + pixel_y = 6 + }, +/obj/structure/table/wood, +/obj/item/toy/talking/ai{ + name = "\improper Nanotrasen-brand toy AI"; + pixel_y = 6 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"xK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron, +/area/virtual_domain) +"xV" = ( +/obj/machinery/button/door/directional/west{ + name = "Council Chamber Blast Door Control" + }, +/obj/structure/frame/machine/secured, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"xW" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/glass, +/obj/item/stack/rods, +/turf/open/floor/plating, +/area/virtual_domain) +"yc" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"yh" = ( +/obj/structure/chair/office{ + dir = 1; + pixel_x = -11 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"yn" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "E.V.A. Storage Shutter" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"yq" = ( +/obj/structure/filingcabinet/chestdrawer{ + pixel_y = 2; + pixel_x = 7 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"yt" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/grille/broken, +/obj/structure/cable, +/turf/open/floor/plating, +/area/virtual_domain) +"yw" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/item/trash/popcorn, +/turf/open/floor/iron, +/area/virtual_domain) +"yx" = ( +/obj/structure/grille/broken, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/glass, +/obj/effect/mine/explosive/flame, +/turf/open/floor/plating, +/area/virtual_domain) +"yy" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"yz" = ( +/turf/closed/indestructible/fakedoor, +/area/virtual_domain) +"yC" = ( +/obj/structure/showcase/machinery/tv/broken, +/turf/open/floor/carpet, +/area/virtual_domain) +"yD" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"yE" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"yH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"yI" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/bikehorn/rubberducky, +/obj/machinery/light_switch/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/wood, +/area/virtual_domain) +"yK" = ( +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/virtual_domain) +"yM" = ( +/obj/structure/chair/comfy/brown, +/turf/open/floor/wood, +/area/virtual_domain) +"yN" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/bed/medical/emergency, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron, +/area/virtual_domain) +"yO" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/spacevine{ + can_spread = 0 + }, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"yP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"yT" = ( +/obj/item/seeds/cucumber, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"zb" = ( +/obj/item/clothing/head/costume/party, +/turf/open/floor/plating, +/area/virtual_domain) +"ze" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"zg" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table/glass, +/obj/item/stack/medical/gauze, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/suture, +/turf/open/floor/plating, +/area/virtual_domain) +"zj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"zo" = ( +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = -4 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"zq" = ( +/obj/structure/mop_bucket, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"zw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/trash/ready_donk{ + pixel_y = 10 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"zx" = ( +/obj/structure/grille/broken, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/glass, +/obj/item/stack/rods, +/turf/open/floor/plating, +/area/virtual_domain) +"zA" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/table/glass, +/obj/item/papercutter, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"zB" = ( +/obj/structure/broken_flooring/side/directional/north, +/obj/effect/decal/cleanable/crayon{ + icon_state = "m"; + pixel_y = 17; + pixel_x = -13 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"zE" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"zL" = ( +/obj/item/reagent_containers/cup/bottle/random_virus, +/obj/effect/decal/cleanable/blood/gibs/down, +/turf/open/indestructible/meat, +/area/virtual_domain) +"zO" = ( +/obj/item/stack/rods/ten, +/turf/open/floor/plating, +/area/virtual_domain) +"zP" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"zQ" = ( +/obj/item/storage/belt/security/full{ + pixel_x = 8; + pixel_y = -6 + }, +/obj/item/storage/belt/security/full, +/obj/item/storage/belt/security/full{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/structure/table/reinforced, +/turf/template_noop, +/area/virtual_domain/safehouse) +"zR" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"zT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/closet/body_bag, +/turf/open/floor/iron, +/area/virtual_domain) +"Ad" = ( +/obj/item/clothing/head/cone{ + pixel_y = -5; + pixel_x = 7 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Ah" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"Ao" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Ar" = ( +/obj/item/ammo_casing/shotgun/buckshot/spent, +/turf/open/floor/plating, +/area/virtual_domain) +"Ax" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/item/radio/off, +/turf/open/floor/iron, +/area/virtual_domain) +"Ay" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"AA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"AC" = ( +/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/virtual_domain) +"AD" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/clothing/head/cone{ + pixel_y = 3; + pixel_x = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"AM" = ( +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/virtual_domain) +"AN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/clothing/suit/caution{ + pixel_y = -9 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"AP" = ( +/obj/structure/grille, +/obj/item/shard{ + icon_state = "medium"; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"AQ" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + dir = 10 + }, +/obj/item/ammo_casing/spent{ + dir = 9; + pixel_x = -19; + pixel_y = -5 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"AR" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/iron, +/area/virtual_domain) +"AV" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"AX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/virtual_domain) +"Bd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/turf/open/floor/iron, +/area/virtual_domain) +"Bg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/chair, +/turf/open/floor/iron, +/area/virtual_domain) +"Bh" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Bj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/broken/directional/south, +/obj/item/stack/rods, +/turf/open/floor/iron, +/area/virtual_domain) +"Bn" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/plating, +/area/virtual_domain) +"Bp" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"Bt" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Bv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Bw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"BF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/turf/open/floor/iron, +/area/virtual_domain) +"BJ" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1" + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"BK" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"BM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"BN" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L14" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"BP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters" + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"BZ" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/meat, +/area/virtual_domain) +"Ca" = ( +/obj/item/gun/ballistic/shotgun/riot{ + pixel_y = 6 + }, +/obj/item/gun/ballistic/shotgun/riot, +/turf/template_noop, +/area/virtual_domain/safehouse) +"Cb" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/virtual_domain) +"Cc" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/bush/leavy/style_2, +/obj/structure/spacevine{ + can_spread = 0 + }, +/obj/structure/flora/bush/large/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"Cd" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/weeds/node, +/turf/open/floor/plating, +/area/virtual_domain) +"Cg" = ( +/obj/effect/turf_decal/tile/purple, +/obj/item/restraints/legcuffs/beartrap/prearmed, +/turf/open/floor/iron, +/area/virtual_domain) +"Cn" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/closet/crate/cargo, +/obj/effect/spawner/random/maintenance/no_decals/seven, +/turf/open/floor/iron, +/area/virtual_domain) +"Cr" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L10" + }, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron, +/area/virtual_domain) +"Cw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Cx" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -6 + }, +/obj/machinery/recharger{ + pixel_x = 6 + }, +/turf/template_noop, +/area/virtual_domain/safehouse) +"Cy" = ( +/obj/machinery/light_switch/directional/south, +/obj/effect/spawner/random/vending/colavend, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Cz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"CA" = ( +/obj/structure/flora/rock/pile/jungle, +/obj/structure/barricade/sandbags, +/turf/open/misc/dirt/dark/jungle, +/area/virtual_domain) +"CC" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating, +/area/virtual_domain) +"CJ" = ( +/obj/structure/holosign/barrier, +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/iron, +/area/virtual_domain) +"CK" = ( +/obj/structure/sign/map/left{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-left-MS"; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/item/banner/security, +/turf/open/floor/iron, +/area/virtual_domain) +"CL" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor3-old" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"CM" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"CQ" = ( +/obj/effect/decal/cleanable/xenoblood, +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"Dc" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/clothing/head/cone{ + pixel_y = 3; + pixel_x = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Dk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Dl" = ( +/obj/structure/water_source/puddle, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"Dp" = ( +/obj/structure/chair/sofa/bench/solo, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Dx" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/virtual_domain) +"DA" = ( +/obj/item/seeds/cocoapod, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"DC" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/spacevine{ + can_spread = 0 + }, +/obj/structure/flora/bush/large/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"DF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/detective_scanner{ + pixel_x = -7; + pixel_y = -6 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"DL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Showroom Shutters" + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/virtual_domain) +"DM" = ( +/turf/closed/indestructible/fakedoor/engineering, +/area/virtual_domain) +"DO" = ( +/obj/machinery/door/airlock/maintenance, +/turf/open/floor/plating, +/area/virtual_domain) +"DP" = ( +/obj/machinery/holopad, +/turf/open/floor/carpet, +/area/virtual_domain) +"DQ" = ( +/obj/machinery/power/shieldwallgen, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"DU" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/item/knife/butcher, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"DV" = ( +/turf/open/misc/dirt/dark/jungle, +/area/virtual_domain) +"DW" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/iron, +/area/virtual_domain) +"Ec" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/tree/jungle/small/style_5, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"Ed" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/glass, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/virtual_domain) +"El" = ( +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/structure/meateor_fluff/flesh_pod_open, +/turf/open/indestructible/meat, +/area/virtual_domain) +"En" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"Er" = ( +/obj/structure/rack, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = 4; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Es" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/mecha_wreckage/ripley/paddy, +/turf/open/floor/iron, +/area/virtual_domain) +"Eu" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"EC" = ( +/obj/item/flashlight/lamp/green{ + pixel_x = -6; + pixel_y = -5 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"ED" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/iron, +/area/virtual_domain) +"EF" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/blue, +/obj/structure/closet/crate/cardboard, +/obj/effect/spawner/random/maintenance/no_decals/seven, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"EH" = ( +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"EK" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/reagent_containers/spray/chemsprayer/party, +/turf/open/floor/iron, +/area/virtual_domain) +"EQ" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"ET" = ( +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/computer/security/wooden_tv{ + pixel_x = 1; + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"EV" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "e"; + pixel_y = -16; + pixel_x = 1 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "guy"; + pixel_y = -5 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Fc" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clothing/suit/bio_suit/virology, +/obj/item/clothing/head/bio_hood/virology{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/sign/warning/biohazard/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"Fd" = ( +/turf/open/space/basic, +/area/space) +"Ff" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Fg" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/item/banner/medical, +/turf/open/indestructible/meat, +/area/virtual_domain) +"Fh" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Fj" = ( +/obj/structure/table/optable, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/plating, +/area/virtual_domain) +"Fl" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/decal/cleanable/vomit/toxic, +/turf/open/floor/iron, +/area/virtual_domain) +"Fp" = ( +/obj/structure/showcase/machinery/tv{ + dir = 1; + pixel_x = 2; + pixel_y = 3 + }, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"Fr" = ( +/obj/effect/decal/cleanable/xenoblood/xgibs/down, +/obj/structure/alien/weeds, +/turf/open/floor/plating, +/area/virtual_domain) +"Fw" = ( +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"FA" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"FC" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/window{ + name = "Gateway Access Shutter" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"FF" = ( +/obj/structure/sign/warning/secure_area, +/turf/closed/wall/r_wall, +/area/virtual_domain) +"FG" = ( +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"FI" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"FK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/sheet/iron, +/turf/open/floor/iron, +/area/virtual_domain) +"FN" = ( +/obj/structure/closet/crate/preopen, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/storage/toolbox/emergency, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron, +/area/virtual_domain) +"FO" = ( +/obj/structure/flora/rock/pile/jungle, +/obj/structure/flora/tree/jungle/small/style_6, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"FR" = ( +/obj/item/storage/toolbox/drone, +/turf/open/floor/iron, +/area/virtual_domain) +"FS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/gibspawner/human, +/turf/open/floor/plating, +/area/virtual_domain) +"FT" = ( +/obj/item/clothing/mask/surgical, +/obj/structure/meateor_fluff/eyeball, +/obj/effect/decal/cleanable/vomit/toxic, +/turf/open/indestructible/meat, +/area/virtual_domain) +"FV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"FZ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/marker_beacon/bronze, +/turf/open/floor/plating, +/area/virtual_domain) +"Gi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/fluff/paper/stack{ + dir = 6 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Gk" = ( +/obj/machinery/door/window/left/directional/south{ + name = "HoP's Desk" + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/virtual_domain) +"Gm" = ( +/obj/structure/meateor_fluff/flesh_pod_open, +/turf/open/indestructible/meat, +/area/virtual_domain) +"Gn" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Gq" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Gr" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"Gs" = ( +/obj/item/clothing/mask/gas, +/turf/open/floor/plating, +/area/virtual_domain) +"Gx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Head of Personnel" + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/wood, +/area/virtual_domain) +"Gy" = ( +/obj/structure/flora/rock/pile/jungle/large/style_random, +/turf/open/misc/dirt/dark/jungle, +/area/virtual_domain) +"GA" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/frame/machine/secured, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"GD" = ( +/obj/structure/lattice, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/space/basic, +/area/virtual_domain) +"GG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/wood, +/area/virtual_domain) +"GJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/cardboard/mothic{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"GQ" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"GS" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/old{ + dir = 8 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"GT" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/virtual_domain) +"Hb" = ( +/obj/effect/spawner/random/trash, +/turf/open/floor/iron, +/area/virtual_domain) +"Hc" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/revolver/golden, +/turf/open/floor/plating, +/area/virtual_domain) +"Hd" = ( +/turf/open/floor/iron, +/area/virtual_domain) +"Hg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/flare/candle/infinite{ + pixel_y = -9; + icon_state = "candle2_lit" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Hh" = ( +/obj/machinery/shower/directional/south, +/obj/structure/curtain, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/spawner/random/trash/graffiti, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/iron/white, +/area/virtual_domain) +"Hl" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/virtual_domain) +"Hs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/frame/machine/secured, +/turf/open/floor/iron, +/area/virtual_domain) +"Ht" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Hv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Hw" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/chair/office{ + dir = 4; + pixel_x = -10 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"HC" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/item/trash/fleet_ration, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"HG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/virtual_domain) +"HH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "Secure Network Access" + }, +/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, +/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"HM" = ( +/turf/closed/indestructible/binary, +/area/virtual_domain) +"HP" = ( +/obj/structure/holosign/barrier/engineering, +/turf/open/floor/plating, +/area/virtual_domain) +"HS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/obj/item/flashlight/flare/candle/infinite{ + pixel_x = 13; + pixel_y = 8; + icon_state = "candle3_lit" + }, +/obj/item/trash/candle, +/turf/open/floor/plating, +/area/virtual_domain) +"HX" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/banner/command, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Ie" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/ammo_casing/spent{ + dir = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Ii" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Ij" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Il" = ( +/obj/structure/lattice, +/obj/item/ammo_box/strilka310/surplus, +/turf/open/space/basic, +/area/virtual_domain) +"Io" = ( +/obj/structure/fluff/paper/stack{ + dir = 10 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Iq" = ( +/obj/structure/table/wood, +/obj/machinery/recharger, +/turf/open/floor/wood, +/area/virtual_domain) +"Ir" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/carpet, +/area/virtual_domain) +"Iw" = ( +/obj/structure/closet/crate/cardboard{ + pixel_y = 8 + }, +/obj/item/spear/explosive, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"IC" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"IH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"IJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/iron, +/area/virtual_domain) +"IL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"IM" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + dir = 10; + pixel_x = -13; + pixel_y = -8 + }, +/obj/item/ammo_casing/spent{ + dir = 9; + pixel_x = -13; + pixel_y = 9 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"IS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Teleport Access" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/iron, +/area/virtual_domain) +"IU" = ( +/obj/item/radio/off, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Jh" = ( +/obj/machinery/door/window/left/directional/north{ + name = "Captain's Bedroom" + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood, +/area/virtual_domain) +"Ji" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/closet/crate/trashcart/filled, +/turf/open/floor/plating, +/area/virtual_domain) +"Jm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"JD" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/virtual_domain) +"JG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"JK" = ( +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"JL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/barricade/sandbags, +/obj/structure/railing, +/turf/open/floor/iron, +/area/virtual_domain) +"JM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/iron, +/area/virtual_domain) +"JP" = ( +/turf/open/floor/iron/dark, +/area/virtual_domain) +"JR" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/caution/red{ + dir = 8 + }, +/obj/item/clothing/suit/caution{ + pixel_y = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"JY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/banner/engineering, +/turf/open/floor/iron, +/area/virtual_domain) +"Ka" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Ke" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"Kf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Kh" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"Kl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Km" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/virtual_domain) +"Kn" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/item/storage/cans/sixbeer, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Kq" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/holosign/barrier/engineering, +/turf/open/floor/plating, +/area/virtual_domain) +"Kr" = ( +/obj/item/clothing/head/utility/hardhat, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Kv" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4"; + pixel_y = -15 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Kw" = ( +/obj/structure/plaque/static_plaque/golden/commission/meta, +/turf/open/floor/iron, +/area/virtual_domain) +"KA" = ( +/obj/item/chair, +/turf/open/floor/iron, +/area/virtual_domain) +"KF" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"KM" = ( +/obj/structure/sign/warning/pods, +/turf/closed/wall, +/area/virtual_domain) +"KN" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"KP" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/closet/body_bag, +/turf/open/floor/iron, +/area/virtual_domain) +"KQ" = ( +/obj/structure/rack, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/assembly/timer, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"KR" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"KT" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/virtual_domain) +"KW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"Lg" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Lh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/iron, +/area/virtual_domain) +"Ll" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"Lm" = ( +/obj/structure/alien/weeds, +/obj/item/clothing/mask/facehugger/dead, +/turf/open/floor/plating, +/area/virtual_domain) +"Lq" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/night/colorless{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/clothing/glasses/night/colorless, +/obj/item/clothing/glasses/night/colorless{ + pixel_x = -5; + pixel_y = -3 + }, +/turf/template_noop, +/area/virtual_domain/safehouse) +"Ls" = ( +/obj/modular_map_root/safehouse{ + key = "shuttle_space" + }, +/turf/template_noop, +/area/virtual_domain/safehouse) +"Lu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"Lz" = ( +/obj/effect/decal/cleanable/confetti, +/obj/machinery/jukebox/disco{ + anchored = 1; + req_access = null + }, +/turf/open/floor/iron, +/area/virtual_domain) +"LB" = ( +/obj/structure/lattice, +/obj/item/gun/ballistic/rifle/boltaction/surplus, +/turf/open/space/basic, +/area/virtual_domain) +"LD" = ( +/obj/item/kirbyplants/random/dead/research_director, +/turf/open/floor/plating, +/area/virtual_domain) +"LG" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"LJ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + name = "E.V.A. Storage Shutter Control" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/item/clothing/suit/bio_suit/virology{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/turf/open/floor/iron, +/area/virtual_domain) +"LK" = ( +/obj/machinery/button/door/directional/east{ + name = "Bridge Access Blast Door Control" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/flora/rock/icy/style_2, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"LL" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/holosign/barrier, +/turf/open/floor/iron, +/area/virtual_domain) +"LN" = ( +/obj/item/kirbyplants, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/iron, +/area/virtual_domain) +"LP" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"LS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/virtual_domain) +"LV" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/holosign/barrier, +/turf/open/floor/iron, +/area/virtual_domain) +"Mb" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Mj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/virtual_domain) +"Mk" = ( +/obj/structure/table/wood, +/obj/machinery/light/directional/south, +/obj/item/papercutter{ + pixel_x = -4 + }, +/obj/item/paper/fluff/ids_for_dummies, +/turf/open/floor/wood, +/area/virtual_domain) +"Ml" = ( +/obj/effect/decal/cleanable/crayon/x, +/turf/closed/wall/rust, +/area/virtual_domain) +"Mm" = ( +/obj/structure/lattice, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/space/basic, +/area/virtual_domain) +"Mn" = ( +/obj/machinery/holopad, +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Mo" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/computer/old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Mq" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"Mr" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/virtual_domain) +"Ms" = ( +/obj/item/storage/fancy/cigarettes/cigpack_mindbreaker{ + pixel_x = 3; + pixel_y = -5 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Mt" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Council Chamber" + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Mu" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/item/clothing/head/bio_hood/virology{ + pixel_y = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Mz" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/iron, +/area/virtual_domain) +"MC" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"MF" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"MG" = ( +/turf/open/indestructible/meat, +/area/virtual_domain) +"MJ" = ( +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/effect/spawner/random/trash, +/turf/open/floor/carpet, +/area/virtual_domain) +"ML" = ( +/obj/structure/bed/maint, +/obj/item/bedsheet/pirate, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet, +/area/virtual_domain) +"MM" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/sheet/iron/fifty, +/obj/item/storage/toolbox/emergency, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"MN" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"MP" = ( +/obj/structure/sign/picture_frame/showroom/three{ + pixel_x = -8; + pixel_y = 32 + }, +/obj/structure/sign/picture_frame/showroom/four{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/wood, +/area/virtual_domain) +"MS" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/screwdriver, +/turf/open/floor/plating, +/area/virtual_domain) +"MZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/bookcase/random, +/turf/open/floor/iron, +/area/virtual_domain) +"Ne" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/flasher/directional/east{ + pixel_y = -26 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"Nh" = ( +/obj/structure/barricade/sandbags, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"Nl" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 3 + }, +/obj/item/radio/intercom/command/directional/north, +/obj/item/paper/fluff/jobs/engineering/frequencies, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Nm" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"No" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Queue Shutters" + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"Nq" = ( +/obj/item/stock_parts/scanning_module/triphasic{ + pixel_x = 4 + }, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"Nr" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/ai/directional/north, +/obj/item/stock_parts/subspace/amplifier{ + pixel_y = -6 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Nu" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Ny" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/barricade/security, +/turf/open/floor/iron, +/area/virtual_domain) +"Nz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "council blast"; + name = "Council Blast Doors" + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/virtual_domain) +"ND" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/digital_clock/directional/north, +/obj/item/light/bulb/broken{ + pixel_x = 15 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"NG" = ( +/obj/structure/chair/office{ + 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/virtual_domain) +"NN" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"NO" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/broken_flooring/singular/always_floorplane/directional/east, +/obj/item/surgery_tray/full/deployed, +/turf/open/floor/plating, +/area/virtual_domain) +"NR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"NZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/obj/structure/barricade/sandbags, +/obj/structure/railing, +/turf/open/floor/iron, +/area/virtual_domain) +"Oc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clothing/mask/party_horn, +/turf/open/floor/iron, +/area/virtual_domain) +"Od" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"Oe" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"Of" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"Oh" = ( +/obj/effect/spawner/random/decoration/microwave{ + dir = 1; + pixel_y = 2 + }, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"Oi" = ( +/obj/structure/holosign/barrier/atmos, +/turf/open/floor/plating, +/area/virtual_domain) +"Oj" = ( +/obj/item/ammo_box/magazine/wt550m9, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"Ol" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"Om" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L8" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Oq" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Or" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/item/evidencebag, +/turf/open/floor/iron, +/area/virtual_domain) +"Os" = ( +/obj/structure/rack, +/obj/item/aicard, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Ou" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"Ov" = ( +/obj/machinery/vending/boozeomat, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/virtual_domain) +"Ox" = ( +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"OC" = ( +/obj/structure/tank_dispenser/oxygen{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"OD" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/magboots, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"OE" = ( +/obj/machinery/door/airlock/silver{ + name = "Bathroom" + }, +/turf/open/floor/iron/white, +/area/virtual_domain) +"OS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/virtual_domain) +"OU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/trash/popcorn/caramel, +/turf/open/floor/iron, +/area/virtual_domain) +"OV" = ( +/obj/item/flashlight/flare{ + icon_state = "flare-on"; + light_on = 1 + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"OX" = ( +/obj/machinery/fax{ + pixel_y = 9 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Pa" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L4" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "l"; + pixel_x = 10; + pixel_y = 16 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Pd" = ( +/obj/item/cigbutt, +/turf/open/floor/wood, +/area/virtual_domain) +"Pg" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/alien/weeds, +/turf/open/floor/iron, +/area/virtual_domain) +"Pk" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/alien/weeds, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Pq" = ( +/obj/item/ammo_casing/spent{ + dir = 1 + }, +/obj/item/ammo_casing/spent{ + dir = 10; + pixel_x = -13; + pixel_y = -8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Py" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/item/radio/intercom/directional/west, +/obj/effect/mapping_helpers/broken_floor, +/obj/item/clothing/mask/facehugger/dead, +/obj/structure/displaycase, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/wood, +/area/virtual_domain) +"PC" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/closet/crate/trashcart/filled, +/turf/open/floor/iron, +/area/virtual_domain) +"PG" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L10" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"PP" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/light/small/directional/west, +/obj/item/paper/fluff/gateway, +/obj/item/coin/plasma, +/obj/item/melee/chainofcommand, +/turf/open/floor/wood, +/area/virtual_domain) +"PQ" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"PR" = ( +/obj/machinery/vending/boozeomat/syndicate, +/obj/effect/turf_decal/tile/bar, +/turf/open/floor/iron, +/area/virtual_domain) +"PT" = ( +/obj/structure/alien/weeds, +/obj/structure/bed/nest, +/turf/open/floor/plating, +/area/virtual_domain) +"PU" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"PY" = ( +/obj/item/restraints/legcuffs/beartrap/prearmed, +/turf/open/floor/iron, +/area/virtual_domain) +"Qc" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/alien/weeds, +/obj/structure/alien/weeds/node, +/obj/effect/mob_spawn/corpse/human/assistant/brainrot_infection, +/turf/open/floor/plating, +/area/virtual_domain) +"Qg" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/item/folder/yellow{ + pixel_y = 4 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Qh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/obj/structure/railing, +/turf/open/floor/iron, +/area/virtual_domain) +"Qm" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Qp" = ( +/obj/structure/noticeboard/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Qq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/virtual_domain) +"Qw" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/iron, +/area/virtual_domain) +"QA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door" + }, +/obj/structure/barricade/wooden/crude, +/obj/structure/cable, +/turf/open/floor/plating, +/area/virtual_domain) +"QM" = ( +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/suit_storage_unit/void_old, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"QN" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/item/restraints/handcuffs/cable/white, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/carpet, +/area/virtual_domain) +"QQ" = ( +/obj/item/ammo_casing/shotgun/buckshot/spent, +/turf/open/floor/carpet, +/area/virtual_domain) +"Ra" = ( +/obj/structure/sign/map/right{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-right-MS"; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"Rg" = ( +/obj/machinery/light/cold/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/north, +/obj/structure/frame/machine/secured, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Rj" = ( +/obj/structure/broken_flooring/side/directional/north, +/turf/open/floor/plating, +/area/virtual_domain) +"Rl" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Rn" = ( +/obj/item/clothing/head/cone{ + pixel_y = 3; + pixel_x = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/toolbox/electrical{ + pixel_y = -5; + pixel_x = -2 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Rx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Rz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/trash/energybar, +/turf/open/floor/iron, +/area/virtual_domain) +"RB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/holosign/barrier, +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/iron, +/area/virtual_domain) +"RD" = ( +/obj/structure/lattice, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/space/basic, +/area/virtual_domain) +"RE" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/frame/machine/secured, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"RI" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/decoration/showcase, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"RJ" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"RL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/ammo_casing/spent{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + dir = 9; + pixel_x = -13; + pixel_y = 9 + }, +/obj/item/ammo_casing/spent{ + dir = 8; + pixel_x = -19; + pixel_y = -5 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"RR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"RT" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Queue Shutters" + }, +/obj/effect/turf_decal/loading_area, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) +"RV" = ( +/obj/machinery/light/directional/north, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/item/banner/security, +/turf/open/floor/iron, +/area/virtual_domain) +"RX" = ( +/obj/effect/spawner/random/decoration/showcase, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"RZ" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Sa" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/suit_storage_unit{ + state_open = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Sj" = ( +/obj/effect/decal/cleanable/blood/gibs/up, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Sl" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Sm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer/fullupgrade, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/iron, +/area/virtual_domain) +"Sq" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/structure/frame/computer, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = 5 + }, +/obj/item/stack/cable_coil/cut, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Sr" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/wood, +/area/virtual_domain) +"Ss" = ( +/obj/machinery/recharger{ + pixel_y = 3 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Sx" = ( +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/iron, +/area/virtual_domain) +"Sz" = ( +/obj/item/seeds/eggplant, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"SC" = ( +/obj/structure/marker_beacon/bronze, +/obj/structure/broken_flooring/side/directional/north, +/turf/open/floor/plating, +/area/virtual_domain) +"SF" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/item/flashlight/flare{ + icon_state = "flare-on"; + light_on = 1 + }, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"SG" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/structure/frame/computer, +/obj/item/shard, +/obj/item/stack/cable_coil/cut, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"SH" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"SJ" = ( +/obj/machinery/airalarm/directional/north, +/obj/item/kirbyplants/organic/applebush, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"SK" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"SN" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/virtual_domain) +"SP" = ( +/obj/effect/turf_decal/tile/neutral, +/mob/living/basic/bot/cleanbot/autopatrol, +/turf/open/floor/iron, +/area/virtual_domain) +"SR" = ( +/obj/structure/fluff/paper/stack{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ST" = ( +/obj/structure/alien/weeds, +/obj/structure/barricade/wooden, +/turf/open/floor/plating, +/area/virtual_domain) +"SY" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/syringe/lethal/execution, +/obj/item/reagent_containers/syringe/lethal/execution{ + pixel_y = 7; + pixel_x = -4 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"Te" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/effect/mob_spawn/corpse/human/doctor, +/turf/open/indestructible/meat, +/area/virtual_domain) +"Tm" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/virtual_domain) +"To" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/glass, +/obj/item/stack/rods, +/obj/effect/mine/explosive/flame, +/turf/open/floor/plating, +/area/virtual_domain) +"Ty" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L14" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"TC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/virtual_domain) +"TH" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/pew/left, +/obj/item/newspaper, +/turf/open/floor/iron, +/area/virtual_domain) +"TJ" = ( +/obj/structure/grille, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"TL" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"TN" = ( +/obj/structure/table/wood, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/machinery/button/door/directional/east{ + name = "corporate showroom shutters control" + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet, +/area/virtual_domain) +"TP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/virtual_domain) +"TT" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/button/door/directional/north{ + name = "Gateway Shutter Control" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"TW" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Ua" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/chair/sofa/corp/right{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Ue" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/carpet, +/area/virtual_domain) +"Ui" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/banner/engineering, +/turf/open/floor/iron, +/area/virtual_domain) +"Uj" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Un" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Uo" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"Uq" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6 + }, +/obj/item/reagent_containers/syringe, +/turf/open/floor/plating, +/area/virtual_domain) +"Ur" = ( +/obj/machinery/vending/cart{ + req_access = list("hop") + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/wood, +/area/virtual_domain) +"Uv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Ux" = ( +/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/virtual_domain) +"Uz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/virtual_domain) +"UF" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/obj/item/banner/science, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"UJ" = ( +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = 2 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"UP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/carpet, +/area/virtual_domain) +"UT" = ( +/obj/structure/flora/bush/leavy/style_3, +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/spacevine{ + can_spread = 0 + }, +/obj/effect/mob_spawn/corpse/human/scientist, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"Ve" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Vk" = ( +/obj/effect/turf_decal/stripes/line, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = -9 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Vr" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/gelpod, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/plating, +/area/virtual_domain) +"Vs" = ( +/turf/closed/indestructible/rock, +/area/virtual_domain) +"Vw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Vz" = ( +/obj/structure/barricade/security, +/turf/open/floor/plating, +/area/virtual_domain) +"VD" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash, +/turf/open/floor/carpet, +/area/virtual_domain) +"VG" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/trash/flare, +/turf/open/floor/carpet, +/area/virtual_domain) +"VH" = ( +/obj/item/storage/box/lights/mixed, +/obj/item/flashlight/flare/candle/infinite{ + pixel_y = 16; + icon_state = "candle2_lit"; + pixel_x = -17 + }, +/turf/open/floor/plating, +/area/virtual_domain) +"VO" = ( +/obj/machinery/door/airlock{ + name = "Central Emergency Storage" + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/virtual_domain) +"VP" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"VT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/chair, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"VZ" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/iron, +/area/virtual_domain) +"Wf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/item/crowbar, +/turf/open/floor/iron, +/area/virtual_domain) +"Wh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/virtual_domain) +"Wl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Wm" = ( +/obj/machinery/light_switch/directional/north, +/obj/machinery/light/small/directional/north, +/obj/structure/table/wood, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/under/suit/black_really, +/obj/item/clothing/glasses/sunglasses, +/turf/open/floor/wood, +/area/virtual_domain) +"Wt" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/misc/dirt/jungle, +/area/virtual_domain) +"Wv" = ( +/obj/machinery/door/firedoor, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"WF" = ( +/obj/structure/table/wood, +/obj/machinery/button/ticket_machine{ + pixel_x = 38 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 6; + pixel_y = -34 + }, +/obj/machinery/button/door/directional/south{ + pixel_x = -6 + }, +/obj/item/paper_bin/carbon{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/stamp/head/hop{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/machinery/button/door/directional/south{ + pixel_x = -6; + pixel_y = -34 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/machinery/button/photobooth{ + pixel_x = 26 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"WH" = ( +/obj/item/clothing/head/cone{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/crowbar/hammer{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/virtual_domain) +"WL" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/assembly/flash, +/turf/open/floor/iron, +/area/virtual_domain) +"WM" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/trash/chips, +/turf/open/floor/iron, +/area/virtual_domain) +"Xa" = ( +/obj/machinery/requests_console/directional/east{ + department = "Bridge"; + name = "Bridge Requests Console" + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/computer/old, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Xj" = ( +/obj/machinery/light/directional/north, +/obj/structure/sign/map/right{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-right-MS"; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/iron, +/area/virtual_domain) +"Xn" = ( +/obj/structure/bed/maint, +/obj/item/bedsheet/pirate{ + dir = 4 + }, +/obj/item/knife/hunting{ + pixel_y = -4 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"Xp" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L2" + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Xs" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/mine/explosive, +/turf/open/floor/plating, +/area/virtual_domain) +"Xw" = ( +/obj/effect/turf_decal/tile/blue, +/obj/item/boulder{ + icon_state = "boulder_large"; + pixel_y = 7 + }, +/obj/item/boulder{ + icon_state = "boulder_small"; + pixel_x = 9; + pixel_y = -1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Xx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/lantern{ + light_on = 1 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"XD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/virtual_domain) +"XI" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = 5 + }, +/obj/item/stack/cable_coil/cut, +/turf/open/floor/wood, +/area/virtual_domain) +"XJ" = ( +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood{ + pixel_x = -4 + }, +/turf/open/floor/wood, +/area/virtual_domain) +"XK" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"XL" = ( +/obj/structure/barricade/sandbags, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/marker_beacon/bronze, +/turf/open/floor/iron, +/area/virtual_domain) +"XM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/photo/old{ + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"XN" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/bot, +/obj/item/wallframe/light_fixture/small, +/obj/item/stack/cable_coil/cut, +/turf/open/floor/iron, +/area/virtual_domain) +"XW" = ( +/obj/structure/frame/machine/secured, +/obj/structure/marker_beacon/teal, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Yc" = ( +/obj/structure/bed/medical/emergency, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/iron, +/area/virtual_domain) +"Yd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Yf" = ( +/obj/machinery/recharger{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/structure/secure_safe/directional/east, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/virtual_domain) +"Yg" = ( +/obj/structure/broken_flooring/singular/directional/east, +/turf/open/floor/plating, +/area/virtual_domain) +"Yi" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/virtual_domain) +"Yl" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/virtual_domain) +"Yn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Yo" = ( +/obj/structure/sign/plaques/kiddie/perfect_drone{ + pixel_y = 32 + }, +/obj/structure/table/wood, +/obj/item/storage/backpack/duffelbag/drone, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/carpet, +/area/virtual_domain) +"Yr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/newscaster/directional/east, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/turf/open/floor/iron, +/area/virtual_domain) +"Ys" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/virtual_domain) +"Yt" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor1-old" + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/iron, +/area/virtual_domain) +"Yv" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/directional/west, +/obj/item/clothing/head/cone{ + pixel_x = 5; + pixel_y = -4 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"YA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"YB" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/bluespace_vendor/directional/east, +/obj/structure/frame/machine/secured, +/turf/open/floor/iron, +/area/virtual_domain) +"YD" = ( +/obj/item/clothing/head/cone{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/virtual_domain) +"YG" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/carpet, +/area/virtual_domain) +"YN" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor7" + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/virtual_domain) +"YQ" = ( +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/weather/dirt, +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/virtual_domain) +"YR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Command Hallway" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/virtual_domain) +"YU" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/floor/plating, +/area/virtual_domain) +"Za" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/virtual_domain) +"Zb" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/potassium{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/phosphorus{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/sodium{ + pixel_x = 1 + }, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/virtual_domain) +"Zc" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"Zh" = ( +/obj/structure/table_frame/wood, +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/carpet, +/area/virtual_domain) +"Zi" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"Zl" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar, +/turf/open/floor/wood, +/area/virtual_domain) +"Zm" = ( +/obj/structure/spacevine{ + can_spread = 0 + }, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/virtual_domain) +"Zp" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/virtual_domain) +"Zq" = ( +/obj/structure/sign/poster/random/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/iron, +/area/virtual_domain) +"Zu" = ( +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Zx" = ( +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ZC" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/misc/grass/jungle, +/area/virtual_domain) +"ZD" = ( +/obj/item/trash/candy, +/turf/open/floor/iron, +/area/virtual_domain) +"ZF" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/virtual_domain) +"ZG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron, +/area/virtual_domain) +"ZH" = ( +/obj/item/clothing/head/cone{ + pixel_y = 3; + pixel_x = 7 + }, +/obj/structure/grille/broken, +/obj/structure/cable, +/turf/open/floor/plating, +/area/virtual_domain) +"ZK" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ZM" = ( +/obj/item/book/manual/wiki/security_space_law{ + name = "space law"; + pixel_y = 2 + }, +/obj/item/toy/gun, +/obj/item/restraints/handcuffs, +/obj/structure/table/wood, +/obj/item/clothing/head/collectable/hos{ + name = "novelty HoS hat" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/carpet, +/area/virtual_domain) +"ZP" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/structure/closet/crate/trashcart/filled, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ZR" = ( +/obj/machinery/door/airlock/command{ + name = "Command Desk" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ZS" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"ZT" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters" + }, +/turf/open/floor/carpet, +/area/virtual_domain) +"ZV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/mob_spawn/corpse/human/assistant, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/iron, +/area/virtual_domain) +"ZY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/virtual_domain) + +(1,1,1) = {" +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +uz +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +uz +HM +HM +HM +HM +HM +HM +uz +uz +uz +uz +uz +uz +uz +uz +uz +"} +(2,1,1) = {" +uz +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +Vs +Vs +Vs +Vs +Vs +ps +ps +ps +ps +ps +HM +HM +HM +ps +ps +pD +ps +HM +uz +uz +uz +uz +uz +uz +uz +uz +uz +"} +(3,1,1) = {" +uz +HM +Vs +Vs +Vs +Vs +Hl +Hl +Hl +Vs +Vs +Vs +ps +ps +ps +ps +tO +ps +ps +ps +Hl +Vs +Vs +Hl +ps +Ao +vM +eB +ps +ps +ps +ps +ps +Zx +Ii +ps +HM +uz +uz +uz +uz +uz +uz +uz +uz +uz +"} +(4,1,1) = {" +uz +HM +Vs +Vs +Vs +DW +bl +pr +Vs +Vs +Vs +Cn +cK +Uj +vN +Ah +nP +nS +gk +eA +Vs +Vs +MZ +nZ +Lg +nS +nS +Jm +dU +xK +ux +CM +KR +nS +ro +ps +HM +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(5,1,1) = {" +uz +HM +ps +Vs +yH +Hd +KT +mc +Hd +fj +dD +Hd +oS +hw +IL +Pq +pT +dD +KT +pc +mI +pE +SR +dD +mK +tR +Hd +JD +Zp +jR +Hd +hw +Hd +MG +kd +ps +ps +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(6,1,1) = {" +HM +HM +pD +yD +mc +Lu +PU +Ol +Ol +Ol +FV +Nm +lY +Lu +JL +RL +RR +Ol +Wv +Ol +on +dd +Ol +dd +ZV +AX +Cz +jt +rP +km +cj +dd +dd +Hd +pN +LN +Hl +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(7,1,1) = {" +HM +uS +uS +er +Hb +Ol +ps +Cb +xj +xj +GT +uS +uS +yP +uS +uS +Gx +uS +uS +ps +kK +lC +ac +fN +uS +uS +uS +uS +uS +uS +uS +uS +qq +kI +eZ +eX +uB +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(8,1,1) = {" +HM +uS +yc +th +Hd +LS +ps +ps +kn +ld +ps +uS +pP +EC +rQ +cZ +db +dc +uS +Zu +ps +pQ +nS +uS +rt +Sa +Fw +eV +iQ +Ij +sm +uS +hR +pN +Fl +Yc +Hl +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(9,1,1) = {" +HM +Hl +eB +Uz +kv +SP +ps +wD +FS +Cw +dD +Wh +dc +ZF +Gk +gU +YG +fh +To +GT +No +cI +ZY +lD +cz +Bw +cw +zj +zE +hF +mW +kN +mq +MG +NN +ps +uB +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(10,1,1) = {" +HM +uS +eB +WL +KT +KP +ps +il +TP +KW +fh +uS +Yf +nY +GS +rX +Ue +ZF +uS +dX +XK +tq +tI +FF +mq +oA +wj +OC +uw +qP +fK +yn +BF +mw +BZ +uB +HM +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(11,1,1) = {" +HM +uS +uS +ol +Mz +uY +ps +iv +dl +HS +fC +uS +uS +uS +uS +ML +DP +Mk +uS +ND +AP +rb +nS +jk +Ax +Wl +Wl +lt +bb +si +IH +kN +ED +El +wq +ps +HM +uz +uz +uz +uz +uz +uz +uz +uz +uz +"} +(12,1,1) = {" +HM +HM +uS +gM +CL +aZ +ps +ps +Hg +tf +fh +ps +rv +uS +Ur +VD +Xn +XI +uS +XN +OV +vN +Bj +uS +QM +GA +OD +ps +Er +Sa +dk +uS +LJ +bm +zL +uB +HM +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(13,1,1) = {" +uz +HM +HH +JM +Kl +VZ +ps +Yi +vA +mj +VH +lJ +Oq +uS +fz +oM +db +rz +To +fQ +TJ +OU +Qm +uS +ps +ps +ps +ps +ps +ps +ps +uS +Fc +BZ +hz +ps +uB +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(14,1,1) = {" +uz +HM +uS +nU +pO +bs +VO +ey +sr +fh +Gs +pL +IU +uS +dz +bO +ww +nW +aw +Ne +RT +bg +Ed +uS +kW +lL +pI +Qc +Fr +DQ +Pk +uS +Mu +qY +ay +im +Hl +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(15,1,1) = {" +uz +HM +uS +qa +Yt +uD +ps +uS +hZ +uS +uS +ps +uf +uS +cD +Kh +yq +WF +uS +YB +uS +TH +nS +uS +ZS +jD +kx +vt +PT +pV +mW +Pg +AN +bZ +Te +Gm +dA +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(16,1,1) = {" +uz +HM +ps +my +iy +Hs +dE +SN +SN +SN +uS +uS +EQ +uS +ps +ps +te +ps +uS +uS +wB +vg +pA +IS +jm +cW +Cd +CQ +Lm +jD +IH +vI +mq +vn +Sj +FT +dA +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(17,1,1) = {" +HM +HM +ps +hV +Hd +bQ +hZ +ii +SN +SN +kp +sI +Un +pJ +oQ +Hv +Xw +sf +ny +JP +ul +tq +Rz +FF +iI +MM +Vr +PT +VP +Rg +Gq +uS +AV +Ll +sX +Fg +Hl +HM +HM +HM +HM +HM +HM +HM +HM +Yl +"} +(18,1,1) = {" +HM +ps +ps +Rl +Hd +cr +FZ +fh +QA +kp +uS +uX +xu +JP +oy +Hv +to +ze +Bv +LK +ul +pR +tu +uS +uS +dE +tn +cW +cW +ps +ps +uS +vW +wH +Zc +JR +ps +ps +ps +ps +ps +ps +ps +ps +ps +HM +"} +(19,1,1) = {" +HM +uS +SJ +bS +pA +lT +fh +fh +yt +fh +Ox +gg +Yn +SK +ZP +ps +ps +ps +Mt +ps +uS +PQ +nS +dE +SN +SN +as +tl +pW +ST +tV +DL +rr +Hd +dD +ZG +Za +sS +SN +sS +SN +sS +SN +sS +ps +HM +"} +(20,1,1) = {" +HM +Hl +Es +mc +Hd +Ux +Ux +lT +AC +lT +vw +fh +ug +ba +mi +ps +uH +ZK +JP +xV +uS +WM +Kf +uS +hZ +hZ +uS +Yo +jh +pK +ep +FF +GJ +FR +Hd +Ka +ps +Fd +Fd +Fd +Fd +Fd +Fd +Fd +ps +HM +"} +(21,1,1) = {" +HM +uS +RV +BJ +Xp +Ol +Ad +vw +ZH +uk +NG +aA +SK +up +Os +ps +ps +Nl +YG +iH +FF +dd +FK +Of +qu +nS +as +RX +Bn +OS +ZF +oI +MF +vf +Xp +ZG +ps +hX +hX +hX +hX +hX +Ls +Fd +ps +HM +"} +(22,1,1) = {" +HM +dP +tS +eD +mf +Ke +dE +ii +uS +Qg +ug +uT +qM +zq +sc +Cy +ps +Mn +db +id +Nz +MF +Hd +bU +Mr +VT +uS +lK +rf +Ie +Oh +uS +Qp +ck +Pa +oD +pB +hX +zQ +Lq +hX +hX +hX +Fd +ps +HM +"} +(23,1,1) = {" +HM +yz +Vz +Qw +bP +Ol +hZ +SN +kp +zP +xu +Mb +RJ +JP +YG +wL +ps +Dp +qk +UJ +Nz +cp +ub +ZD +lb +LP +uS +wo +Ar +jC +Zh +an +PC +pA +lM +Bp +LD +hX +hX +hX +hX +hX +hX +Fd +ps +HM +"} +(24,1,1) = {" +HM +yz +Vz +wN +Om +wi +dE +SN +kp +SG +Vw +bW +MC +hU +TL +DP +ZR +JP +kg +zo +zx +AD +iy +Kw +yH +Dx +oI +ZF +vw +Km +fh +MS +mt +EV +zB +Io +vw +hX +hX +fD +Cx +hX +hX +Fd +ps +HM +"} +(25,1,1) = {" +HM +yz +Vz +wN +Cr +nS +hZ +SN +kp +zP +JP +yh +Hw +wA +hh +mb +ps +nw +se +xW +lk +Ad +CJ +Hd +KA +lG +uS +Wm +Mj +fh +Oj +vw +fh +Kv +PG +KF +gC +hX +hX +hX +hX +hX +hX +Fd +ps +HM +"} +(26,1,1) = {" +HM +tO +Oe +wN +vy +Wf +dE +LB +uS +Bt +gt +Xx +HX +ET +JK +Sl +ps +wY +YG +Gr +yx +Or +ie +bU +qJ +bR +uS +MP +fh +GG +Fp +uS +wN +wN +Rj +fB +wP +hX +hX +hX +Ca +hX +hX +Fd +ps +HM +"} +(27,1,1) = {" +HM +ps +CK +ht +Ty +YA +hZ +Il +kp +BK +di +Mb +Yd +cO +KQ +ps +ps +Ht +rJ +VG +FF +RB +qL +jd +LP +Bg +mo +br +ZF +rW +Mj +oI +MF +ra +BN +yK +ps +hX +hX +hX +hX +hX +rs +Fd +ps +HM +"} +(28,1,1) = {" +HM +ps +Xj +Hd +Hd +Ua +hZ +SN +kp +Sq +Eu +ix +iP +aQ +ez +ps +uH +FI +Ms +KN +uS +Bh +re +uS +dE +dE +uS +oH +Mj +gE +xI +FF +Gi +Hd +aC +Uo +lE +Fd +Fd +Fd +Fd +Fd +Fd +Fd +ps +HM +"} +(29,1,1) = {" +HM +ps +cx +rj +kI +ZY +dE +SN +kp +Mo +Kn +Ss +at +yy +HC +ps +ps +ps +Mt +ps +uS +zw +Ol +hZ +SN +SN +as +RI +Pd +TN +ZM +an +sB +kI +Hd +Cg +Za +sS +SN +sS +SN +sS +SN +sS +ps +HM +"} +(30,1,1) = {" +HM +ps +ps +hi +Hd +hg +dE +SN +kp +kp +uS +pb +iZ +bu +kt +Hv +EF +SK +SK +tk +ul +dd +yw +uS +uS +dE +uS +ps +ps +ps +ps +uS +rh +PY +Ou +CA +lQ +ps +ps +ps +ps +ps +ps +ps +ps +HM +"} +(31,1,1) = {" +HM +HM +ps +sF +pX +vi +hZ +SN +SN +Mm +kp +Xa +fF +DU +RZ +Hv +Iw +qI +Bv +Bv +ul +wa +tM +Nh +zg +Fj +NO +hv +uA +yN +Ff +uS +tq +Hd +DV +UF +Zm +Vs +HM +HM +HM +HM +HM +HM +HM +HM +"} +(32,1,1) = {" +uz +HM +Hl +Ny +yH +DF +dE +SN +GD +RD +uS +uS +uS +zA +jG +uS +uS +uS +BP +uS +wB +dd +pA +Nh +Uq +Rj +wu +XD +wu +Rx +jx +uS +cC +HG +Gy +mO +wl +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(33,1,1) = {" +uz +HM +yz +Ny +fn +Mq +uS +uS +uS +uS +uS +Hh +uS +uS +uS +uS +Ov +rq +db +LG +uS +hd +Ol +lx +vU +hp +lu +ok +hc +fK +op +uS +Ra +nq +Cc +zR +ge +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(34,1,1) = {" +uz +HM +ps +cN +vO +XM +uS +uP +ab +hb +ps +YQ +ps +Py +PP +qz +jF +QQ +YG +YG +BP +Yg +pv +uS +FN +AR +eR +Zb +zT +IH +dZ +uS +PQ +DV +ej +tw +Zm +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(35,1,1) = {" +uz +HM +ps +au +Ay +TW +uS +Zi +vK +wn +ps +aO +ps +ry +ZF +gE +mP +vV +vV +FA +uS +TC +mQ +uS +uS +AA +AA +uS +hZ +hG +hZ +uS +TT +Gy +aV +yO +lQ +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(36,1,1) = {" +uz +HM +ps +LL +KT +LV +uS +yC +jc +UP +ps +OE +ps +xb +XJ +Iq +sA +MJ +SY +tj +uS +dd +ai +ty +uS +bT +ss +Yv +dY +Dk +Vk +FC +mq +UT +SF +MN +lQ +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(37,1,1) = {" +uz +HM +Hl +dd +Hd +nS +pd +YN +dc +rO +yI +gE +ZT +kc +yM +ki +vw +vK +QN +Ir +uS +ud +xd +sa +uS +Nr +XW +Kq +Ii +Hd +fK +FC +mq +cH +gb +ZC +Ec +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(38,1,1) = {" +uz +HM +yz +dd +Hd +FZ +WH +Oi +tF +YU +Jh +gE +ps +jy +qS +Sr +fh +fh +aT +SH +uS +Fh +Ol +Gn +uS +Nq +iY +Dc +dC +jz +qr +FC +mq +Gy +DC +od +FO +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(39,1,1) = {" +uz +HM +yz +fh +mc +yE +Oi +SN +Oi +YD +zO +sz +ps +ps +uS +uS +OX +Xs +fh +uS +uS +dd +iK +uS +uS +uS +uS +uS +uS +oo +uS +FF +fr +DV +MN +EH +iA +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(40,1,1) = {" +uz +HM +Hl +pA +Hd +Kr +Oi +GD +rm +Oi +bd +Zl +ps +Hc +uS +ek +vw +eG +xe +Ji +DO +dd +Ol +DO +ey +eu +fh +wV +vw +ja +Tm +DO +tq +Hd +tW +lQ +uq +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(41,1,1) = {" +uz +HM +KM +dd +Hd +lU +Rn +Oi +Oi +AM +CC +uS +uS +Ml +uS +DO +ps +ps +ps +ps +ut +hj +YR +tO +ps +ps +ps +ps +ps +ps +ps +ps +JG +Hd +sZ +ps +lQ +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(42,1,1) = {" +uz +HM +ps +nO +kI +nS +FZ +bw +lN +IC +SC +gj +Qq +lv +Lg +Oc +IJ +Ys +EK +Zq +En +tq +bf +tq +av +Qh +Sx +Ve +tq +Uv +BM +DA +fP +NR +eN +FG +Vs +Vs +HM +uz +uz +uz +uz +uz +uz +uz +"} +(43,1,1) = {" +uz +HM +ps +dd +mR +mc +Hd +KT +Ay +fh +Hd +vw +mc +KT +Lh +nz +oO +Lz +zb +vw +Hd +Hd +kI +XL +KT +oS +mR +XL +GQ +fP +fP +Sz +fP +Dl +Wt +yT +Vs +HM +HM +uz +uz +uz +uz +uz +uz +uz +"} +(44,1,1) = {" +uz +HM +ps +dd +jt +km +dd +Nu +JY +HP +HP +vo +Ui +Yr +Bd +PR +Vs +Vs +Sm +fG +Bd +Od +rC +NZ +kM +IM +AQ +fc +cB +Vs +Vs +cF +qv +fP +st +RE +Vs +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(45,1,1) = {" +uz +HM +ps +ps +ps +ps +ps +ps +ps +DM +DM +DM +ps +ps +Hl +Hl +Vs +Vs +Vs +Hl +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +Vs +Vs +ps +Hl +Vs +Vs +Vs +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} +(46,1,1) = {" +uz +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +HM +uz +uz +uz +uz +uz +uz +uz +uz +"} diff --git a/_maps/virtual_domains/syndicate_assault.dmm b/_maps/virtual_domains/syndicate_assault.dmm index 00c7f84dbca20..d8c63675d77b2 100644 --- a/_maps/virtual_domains/syndicate_assault.dmm +++ b/_maps/virtual_domains/syndicate_assault.dmm @@ -693,7 +693,7 @@ /obj/item/crowbar/red, /obj/item/ammo_box/magazine/m9mm_aps, /obj/item/ammo_box/magazine/m9mm_aps, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/gun/ballistic/automatic/pistol/aps, /turf/open/floor/carpet/royalblack, /area/virtual_domain) "Cn" = ( @@ -1103,7 +1103,7 @@ /turf/open/floor/iron/dark, /area/virtual_domain) "SX" = ( -/obj/machinery/vending/medical/syndicate_access/cybersun, +/obj/machinery/vending/medical/syndicate/cybersun, /turf/open/floor/plastic, /area/virtual_domain) "TB" = ( diff --git a/_maps/wawastation.json b/_maps/wawastation.json index 71d716a56e07e..71c818bc6bd61 100644 --- a/_maps/wawastation.json +++ b/_maps/wawastation.json @@ -11,12 +11,10 @@ }, "traits": [ { - "Up": true, "Baseturf": "/turf/open/misc/asteroid/airless", "Linkage": "Cross" }, { - "Down": true, "Baseturf": "/turf/open/openspace", "Linkage": "Cross" } diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm index 687f5365f6d4a..9b3b239034b96 100644 --- a/code/__DEFINES/_flags.dm +++ b/code/__DEFINES/_flags.dm @@ -140,6 +140,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define BINARY_JAMMING (1<<17) /// This area prevents Bag of Holding rifts from being opened. #define NO_BOH (1<<18) +/// This area prevents fishing from removing unique/limited loot from sources that're also used outside of it. +#define UNLIMITED_FISHING (1<<19) /* These defines are used specifically with the atom/pass_flags bitmask diff --git a/code/__DEFINES/_helpers.dm b/code/__DEFINES/_helpers.dm index d9f75fe8e9d80..4560dac0d8e32 100644 --- a/code/__DEFINES/_helpers.dm +++ b/code/__DEFINES/_helpers.dm @@ -1,5 +1,18 @@ // Stuff that is relatively "core" and is used in other defines/helpers +/** + * The game's world.icon_size. \ + * Ideally divisible by 16. \ + * Ideally a number, but it + * can be a string ("32x32"), so more exotic coders + * will be sad if you use this in math. + */ +#define ICON_SIZE_ALL 32 +/// The X/Width dimension of ICON_SIZE. This will more than likely be the bigger axis. +#define ICON_SIZE_X 32 +/// The Y/Height dimension of ICON_SIZE. This will more than likely be the smaller axis. +#define ICON_SIZE_Y 32 + //Returns the hex value of a decimal number //len == length of returned string #define num2hex(X, len) num2text(X, len, 16) diff --git a/code/__DEFINES/actions.dm b/code/__DEFINES/actions.dm index 99f9c1aca551d..a99baa7cd65dd 100644 --- a/code/__DEFINES/actions.dm +++ b/code/__DEFINES/actions.dm @@ -10,6 +10,8 @@ #define AB_CHECK_INCAPACITATED (1<<4) ///Action button checks if user is jaunting #define AB_CHECK_PHASED (1<<5) +///Action button checks if user is not on an open turf +#define AB_CHECK_OPEN_TURF (1<<6) DEFINE_BITFIELD(check_flags, list( "CHECK IF HANDS BLOCKED" = AB_CHECK_HANDS_BLOCKED, @@ -18,6 +20,7 @@ DEFINE_BITFIELD(check_flags, list( "CHECK IF CONSCIOUS" = AB_CHECK_CONSCIOUS, "CHECK IF INCAPACITATED" = AB_CHECK_INCAPACITATED, "CHECK IF TEMPORARILY INCORPOREAL" = AB_CHECK_PHASED, + "CHECK IF NOT ON AN OPEN TURF" = AB_CHECK_OPEN_TURF, )) ///Action button triggered with right click diff --git a/code/__DEFINES/ai/monsters.dm b/code/__DEFINES/ai/monsters.dm index fb6952eb08491..330e2d48eb226 100644 --- a/code/__DEFINES/ai/monsters.dm +++ b/code/__DEFINES/ai/monsters.dm @@ -288,3 +288,19 @@ //netguardians /// rocket launcher #define BB_NETGUARDIAN_ROCKET_ABILITY "netguardian_rocket" + +//deer +///our water target +#define BB_DEER_WATER_TARGET "deer_water_target" +///our grass target +#define BB_DEER_GRASS_TARGET "deer_grass_target" +///our tree target +#define BB_DEER_TREE_TARGET "deer_tree_target" +///our temporary playmate +#define BB_DEER_PLAYFRIEND "deer_playfriend" +///our home target +#define BB_DEER_TREEHOME "deer_home" +///our resting duration +#define BB_DEER_RESTING "deer_resting" +///time till our next rest duration +#define BB_DEER_NEXT_REST_TIMER "deer_next_rest_timer" diff --git a/code/__DEFINES/apc_defines.dm b/code/__DEFINES/apc_defines.dm index ee6c2bb67d636..efcfdd864f2ec 100644 --- a/code/__DEFINES/apc_defines.dm +++ b/code/__DEFINES/apc_defines.dm @@ -54,12 +54,6 @@ /// The APCs external powernet has enough power to charge the APC. #define APC_HAS_POWER 2 -// Ethereals: -/// How long it takes an ethereal to drain or charge APCs. Also used as a spam limiter. -#define APC_DRAIN_TIME (7.5 SECONDS) -/// How much power ethereals gain/drain from APCs. -#define APC_POWER_GAIN (0.2 * STANDARD_CELL_CHARGE) - // Wires & EMPs: /// The wire value used to reset the APCs wires after one's EMPed. #define APC_RESET_EMP "emp" diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 1af3003bb8577..57dc338d3ebc3 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -81,6 +81,7 @@ #define SECHUD_ASSISTANT "hudassistant" #define SECHUD_ATMOSPHERIC_TECHNICIAN "hudatmospherictechnician" #define SECHUD_BARTENDER "hudbartender" +#define SECHUD_BUSSER "hudbusser" #define SECHUD_BITAVATAR "hudbitavatar" #define SECHUD_BITRUNNER "hudbitrunner" #define SECHUD_BOTANIST "hudbotanist" diff --git a/code/__DEFINES/chat.dm b/code/__DEFINES/chat.dm index c3fe46b0cd496..516fe8c4e193a 100644 --- a/code/__DEFINES/chat.dm +++ b/code/__DEFINES/chat.dm @@ -45,5 +45,11 @@ #define debug_world_log(msg) if (GLOB.Debug2) log_world("DEBUG: [msg]") /// Adds a generic box around whatever message you're sending in chat. Really makes things stand out. #define examine_block(str) ("
" + str + "
") +/// Makes a fieldset with a name in the middle top part. Can apply additional classes +#define fieldset_block(title, content, classes) ("
" + title + "
" + content + "
") +/// Makes a horizontal line with text in the middle +#define separator_hr(str) ("
" + str + "
") /// Emboldens runechat messages #define RUNECHAT_BOLD(str) "+[str]+" +/// Helper which creates a chat message which may have a tooltip in some contexts, but not others. +#define conditional_tooltip(normal_text, tooltip_text, condition) ((condition) ? (span_tooltip(tooltip_text, normal_text)) : (normal_text)) diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 60cd3a7b018b7..439d803fb942d 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -76,15 +76,12 @@ #define CANUNCONSCIOUS (1<<2) /// If set, this mob can be grabbed or pushed when bumped into #define CANPUSH (1<<3) -/// Mob godmode. Prevents most statuses and damage from being taken, but is more often than not a crapshoot. Use with caution. -#define GODMODE (1<<4) DEFINE_BITFIELD(status_flags, list( "CAN STUN" = CANSTUN, "CAN KNOCKDOWN" = CANKNOCKDOWN, "CAN UNCONSCIOUS" = CANUNCONSCIOUS, "CAN PUSH" = CANPUSH, - "GOD MODE" = GODMODE, )) //Health Defines diff --git a/code/__DEFINES/crafting.dm b/code/__DEFINES/crafting.dm index 54dc479aa7306..cb7930e9d1fb6 100644 --- a/code/__DEFINES/crafting.dm +++ b/code/__DEFINES/crafting.dm @@ -28,6 +28,10 @@ #define CRAFT_CHECK_DENSITY (1<<5) /// If the created atom will gain custom mat datums #define CRAFT_APPLIES_MATS (1<<6) +/// Crafting passes reagents of components to the finished product +#define CRAFT_TRANSFERS_REAGENTS (1<<7) +/// Crafting clears all reagents present in the finished product +#define CRAFT_CLEARS_REAGENTS (1<<8) //food/drink crafting defines //When adding new defines, please make sure to also add them to the encompassing list 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 3282c9387a1e5..2e42957aa3a08 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm @@ -9,6 +9,8 @@ #define COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON "atom_init_success_on" ///from base of atom/examine(): (/mob, list/examine_text) #define COMSIG_ATOM_EXAMINE "atom_examine" +///from base of atom/examine_tags(): (/mob, list/examine_tags) +#define COMSIG_ATOM_EXAMINE_TAGS "atom_examine_tags" ///from base of atom/get_examine_name(): (/mob, list/overrides) #define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" //Positions for overrides list diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm index 24d7cd0b1701a..36a2ca2c80584 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm @@ -15,9 +15,6 @@ ///from base of atom/movable/Bump(): (/atom) #define COMSIG_MOVABLE_BUMP "movable_bump" #define COMPONENT_INTERCEPT_BUMPED (1<<0) -///from base of atom/movable/newtonian_move(): (inertia_direction, start_delay) -#define COMSIG_MOVABLE_NEWTONIAN_MOVE "movable_newtonian_move" - #define COMPONENT_MOVABLE_NEWTONIAN_BLOCK (1<<0) ///from datum/component/drift/apply_initial_visuals(): () #define COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT "movable_drift_visual_attempt" #define DRIFT_VISUAL_FAILED (1<<0) @@ -119,6 +116,9 @@ /// From base of area/Exited(): (area/left, direction) #define COMSIG_MOVABLE_EXITED_AREA "movable_exited_area" +///from base of /datum/component/splat/splat: (hit_atom) +#define COMSIG_MOVABLE_SPLAT "movable_splat" + ///from base of /atom/movable/point_at: (atom/A, obj/effect/temp_visual/point/point) #define COMSIG_MOVABLE_POINTED "movable_pointed" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm index 6448be3fecb74..46e179ee567ba 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm @@ -89,7 +89,6 @@ /// Sent from [atom/proc/item_interaction], when this atom is used as a tool and an event occurs #define COMSIG_ITEM_TOOL_ACTED "tool_item_acted" -/// This is sent via item interaction (IE, item clicking on atom) right before the item's inserted into the atom's storage -/// Args: (obj/item/inserting, mob/living/user) -#define COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT "atom_storage_item_interact_insert" - #define BLOCK_STORAGE_INSERT (1<<0) +/// from /obj/projectile/energy/fisher/on_hit() or /obj/item/gun/energy/recharge/fisher when striking a target +#define COMSIG_ATOM_SABOTEUR_ACT "hit_by_saboteur" + #define COMSIG_SABOTEUR_SUCCESS 1 diff --git a/code/__DEFINES/dcs/signals/signals_bitrunning.dm b/code/__DEFINES/dcs/signals/signals_bitrunning.dm index 23461a90a1108..ac3095d6f5af8 100644 --- a/code/__DEFINES/dcs/signals/signals_bitrunning.dm +++ b/code/__DEFINES/dcs/signals/signals_bitrunning.dm @@ -53,3 +53,6 @@ /// from /obj/effect/mob_spawn/ghost_role/human/virtual_domain/proc/artificial_spawn() : (mob/living/runner) #define COMSIG_BITRUNNER_SPAWNED "bitrunner_spawned" + +/// from /obj/effect/landmark/bitrunning/mob_segment/proc/spawn_mobs() : (list/mob/living) +#define COMSIG_BITRUNNING_MOB_SEGMENT_SPAWNED "bitrunner_mob_segment_spawned" diff --git a/code/__DEFINES/dcs/signals/signals_fish.dm b/code/__DEFINES/dcs/signals/signals_fish.dm index 8af3b8dfca79c..9b614f924549f 100644 --- a/code/__DEFINES/dcs/signals/signals_fish.dm +++ b/code/__DEFINES/dcs/signals/signals_fish.dm @@ -8,6 +8,13 @@ ///The item won't be inserted into the aquarium, but will early return attackby anyway. #define COMSIG_CANNOT_INSERT_IN_AQUARIUM (1<<1) +///Updates the appearance of a newly generated aquarium content visual:(visual) +#define COMSIG_AQUARIUM_CONTENT_GENERATE_APPEARANCE "aquarium_content_apply_appearance" +///Updates the base position of an aquarium content visual:(aquarium, visual) +#define AQUARIUM_CONTENT_RANDOMIZE_POSITION "aquarium_content_randomize_position" +///Updates the animation of an aquarium content visual:(aquarium, visual) +#define COMSIG_AQUARIUM_CONTENT_DO_ANIMATION "aquarium_content_do_animation" + // Fish signals #define COMSIG_FISH_STATUS_CHANGED "fish_status_changed" #define COMSIG_FISH_STIRRED "fish_stirred" @@ -15,19 +22,32 @@ #define COMSIG_FISH_LIFE "fish_life" ///From /datum/fish_trait/eat_fish: (predator) #define COMSIG_FISH_EATEN_BY_OTHER_FISH "fish_eaten_by_other_fish" +///From /obj/item/fish/generate_reagents_to_add, which returns a holder when the fish is eaten or composted for example: (list/reagents) +#define COMSIG_GENERATE_REAGENTS_TO_ADD "generate_reagents_to_add" ///From /obj/item/fish/feed: (fed_reagents, fed_reagent_type) #define COMSIG_FISH_FED "fish_on_fed" -///from /obj/item/fish/pet_fish -#define COMSIG_FISH_PETTED "fish_petted" ///From /obj/item/fish/update_size_and_weight: (new_size, new_weight) #define COMSIG_FISH_UPDATE_SIZE_AND_WEIGHT "fish_update_size_and_weight" ///From /obj/item/fish/update_fish_force: (weight_rank, bonus_malus) #define COMSIG_FISH_FORCE_UPDATED "fish_force_updated" +///From /obj/item/fish/interact_with_atom_secondary, sent to the target: (fish) +#define COMSIG_FISH_RELEASED_INTO "fish_released_into" + +///From /datum/fishing_challenge/New: (datum/fishing_challenge/challenge) +#define COMSIG_MOB_BEGIN_FISHING "mob_begin_fishing" +///From /datum/fishing_challenge/start_minigame_phase: (datum/fishing_challenge/challenge) +#define COMSIG_MOB_BEGIN_FISHING_MINIGAME "mob_begin_fishing_minigame" +///From /datum/fishing_challenge/completed: (datum/fishing_challenge/challenge, win) +#define COMSIG_MOB_COMPLETE_FISHING "mob_complete_fishing" + +/// Rolling a reward path for a fishing challenge +#define COMSIG_FISHING_CHALLENGE_ROLL_REWARD "fishing_roll_reward" +/// Adjusting the difficulty of a rishing challenge, often based on the reward path +#define COMSIG_FISHING_CHALLENGE_GET_DIFFICULTY "fishing_get_difficulty" /// Fishing challenge completed -#define COMSIG_FISHING_CHALLENGE_COMPLETED "fishing_completed" /// Sent to the fisherman when the reward is dispensed: (reward) -#define COMSIG_FISH_SOURCE_REWARD_DISPENSED "mob_fish_source_reward_dispensed" +#define COMSIG_FISH_SOURCE_REWARD_DISPENSED "fish_source_reward_dispensed" /// Called when you try to use fishing rod on anything #define COMSIG_PRE_FISHING "pre_fishing" diff --git a/code/__DEFINES/dcs/signals/signals_global_object.dm b/code/__DEFINES/dcs/signals/signals_global_object.dm index bed06ff176c1f..d100f47a3c97c 100644 --- a/code/__DEFINES/dcs/signals/signals_global_object.dm +++ b/code/__DEFINES/dcs/signals/signals_global_object.dm @@ -1,9 +1,9 @@ /// signals from globally accessible objects -///from SSJob whenever SetupOccupations() is called, all occupations are set +///from SSJob whenever setup_occupations() is called, all occupations are set #define COMSIG_OCCUPATIONS_SETUP "occupations_setup" -///from SSJob when DivideOccupations is called +///from SSJob when divide_occupations() is called #define COMSIG_OCCUPATIONS_DIVIDED "occupations_divided" ///from SSsun when the sun changes position : (azimuth) diff --git a/code/__DEFINES/dcs/signals/signals_hud.dm b/code/__DEFINES/dcs/signals/signals_hud.dm index 2d5d3eaa59cc3..b141f7d8f576b 100644 --- a/code/__DEFINES/dcs/signals/signals_hud.dm +++ b/code/__DEFINES/dcs/signals/signals_hud.dm @@ -1,5 +1,7 @@ /// Sent from /datum/hud/proc/on_eye_change(): (atom/old_eye, atom/new_eye) #define COMSIG_HUD_EYE_CHANGED "hud_eye_changed" +/// Sent from /datum/hud/proc/eye_z_changed() : (new_z) +#define COMSIG_HUD_Z_CHANGED "hud_z_changed" /// Sent from /datum/hud/proc/eye_z_changed() : (old_offset, new_offset) #define COMSIG_HUD_OFFSET_CHANGED "hud_offset_changed" /// Sent from /atom/movable/screen/lobby/button/collapse/proc/collapse_buttons() : () diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm index 16f7e00e78a19..1c6fcbffbda3d 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm @@ -11,3 +11,6 @@ #define COMSIG_BOT_RESET "bot_reset" ///Sent off /mob/living/basic/bot/proc/set_mode_flags() : (new_flags) #define COMSIG_BOT_MODE_FLAGS_SET "bot_mode_flags_set" + +///Signal sent off of ai/movement/proc/start_moving_towards +#define COMSIG_MOB_AI_MOVEMENT_STARTED "mob_ai_movement_started" 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 56d5ddf452471..b95ffba607fd3 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm @@ -118,7 +118,7 @@ ///Applied preferences to a human #define COMSIG_HUMAN_PREFS_APPLIED "human_prefs_applied" -///Whenever EquipRanked is called, called after job is set +///Whenever equip_rank is called, called after job is set #define COMSIG_JOB_RECEIVED "job_received" ///from /mob/living/carbon/human/proc/set_coretemperature(): (oldvalue, newvalue) #define COMSIG_HUMAN_CORETEMP_CHANGE "human_coretemp_change" 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 85e6a62d46c18..4a558c5fa7e03 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -52,6 +52,8 @@ #define MOVE_ARG_NEW_LOC 1 /// The argument of move_args which dictates our movement direction #define MOVE_ARG_DIRECTION 2 +/// From base of /client/Move(): (new_loc, direction) +#define COMSIG_MOB_CLIENT_MOVE_NOGRAV "mob_client_move_nograv" /// From base of /client/Move(): (direction, old_dir) #define COMSIG_MOB_CLIENT_MOVED "mob_client_moved" /// From base of /client/proc/change_view() (mob/source, new_size) @@ -140,6 +142,11 @@ #define SPEECH_SAYMODE 10 #define SPEECH_MODS 11 +///from /datum/component/speechmod/handle_speech(): () +#define COMSIG_TRY_MODIFY_SPEECH "try_modify_speech" + ///Return value if we prevent speech from being modified + #define PREVENT_MODIFY_SPEECH 1 + ///from /mob/say_dead(): (mob/speaker, message) #define COMSIG_MOB_DEADSAY "mob_deadsay" #define MOB_DEADSAY_SIGNAL_INTERCEPT (1<<0) @@ -170,8 +177,8 @@ ///Called on user, from base of /datum/strippable_item/try_(un)equip() (atom/target, obj/item/equipping?) #define COMSIG_TRY_STRIP "try_strip" #define COMPONENT_CANT_STRIP (1<<0) -///From /datum/component/creamed/Initialize() -#define COMSIG_MOB_CREAMED "mob_creamed" +///From /datum/component/face_decal/splat/Initialize() +#define COMSIG_MOB_HIT_BY_SPLAT "hit_by_splat" ///From /obj/item/gun/proc/check_botched() #define COMSIG_MOB_CLUMSY_SHOOT_FOOT "mob_clumsy_shoot_foot" ///from /obj/item/hand_item/slapper/attack_atom(): (source=obj/structure/table/slammed_table, mob/living/slammer) @@ -248,5 +255,9 @@ /// from /mob/proc/key_down(): (key, client/client, full_key) #define COMSIG_MOB_KEYDOWN "mob_key_down" +/// from /mob/Process_Spacemove(movement_dir, continuous_move): (movement_dir, continuous_move, atom/backup) +#define COMSIG_MOB_ATTEMPT_HALT_SPACEMOVE "mob_attempt_halt_spacemove" + #define COMPONENT_PREVENT_SPACEMOVE_HALT (1<<0) + /// from /mob/update_incapacitated(): (old_incap, new_incap) #define COMSIG_MOB_INCAPACITATE_CHANGED "mob_incapacitated" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm index 47f5b7485991b..aee6f2df79bb7 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm @@ -8,3 +8,12 @@ #define COMSIG_BORG_HUG_HANDLED 1 ///called from /mob/living/silicon/attack_hand proc #define COMSIG_MOB_PAT_BORG "mob_pat_borg" +///called when someone is inquiring about an AI's linked core +#define COMSIG_SILICON_AI_CORE_STATUS "AI_core_status" + #define COMPONENT_CORE_ALL_GOOD (1<<0) + #define COMPONENT_CORE_DISCONNECTED (1<<1) +///called when an AI (malf or perhaps combat upgraded or some other circumstance that has them inhabit +///an APC) enters an APC +#define COMSIG_SILICON_AI_OCCUPY_APC "AI_occupy_apc" +///called when an AI vacates an APC +#define COMSIG_SILICON_AI_VACATE_APC "AI_vacate_apc" diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm index d3439cf857291..8cabf7537ab99 100644 --- a/code/__DEFINES/dcs/signals/signals_mod.dm +++ b/code/__DEFINES/dcs/signals/signals_mod.dm @@ -39,3 +39,5 @@ #define COMSIG_MOD_WEARER_SET "mod_wearer_set" /// Called when the MODsuit wearer is unset. #define COMSIG_MOD_WEARER_UNSET "mod_wearer_unset" +/// Sent by the tether module when it triggers its snapping function +#define COMSIG_MOD_TETHER_SNAP "mod_tether_snap" diff --git a/code/__DEFINES/dcs/signals/signals_movetype.dm b/code/__DEFINES/dcs/signals/signals_movetype.dm index bc8b296b47531..da584ba022f4a 100644 --- a/code/__DEFINES/dcs/signals/signals_movetype.dm +++ b/code/__DEFINES/dcs/signals/signals_movetype.dm @@ -1,6 +1,3 @@ -// /datum/element/movetype_handler signals -/// Called when the floating anim has to be temporarily stopped and restarted later: (timer) -#define COMSIG_PAUSE_FLOATING_ANIM "pause_floating_anim" /// From base of datum/element/movetype_handler/on_movement_type_trait_gain: (flag, old_movement_type) #define COMSIG_MOVETYPE_FLAG_ENABLED "movetype_flag_enabled" /// From base of datum/element/movetype_handler/on_movement_type_trait_loss: (flag, old_movement_type) diff --git a/code/__DEFINES/dcs/signals/signals_object.dm b/code/__DEFINES/dcs/signals/signals_object.dm index 797256017d456..a9cc41b7d8d8d 100644 --- a/code/__DEFINES/dcs/signals/signals_object.dm +++ b/code/__DEFINES/dcs/signals/signals_object.dm @@ -194,6 +194,8 @@ #define COMSIG_TOOL_IN_USE "tool_in_use" ///from base of [/obj/item/proc/tool_start_check]: (mob/living/user) #define COMSIG_TOOL_START_USE "tool_start_use" +/// From /obj/item/multitool/remove_buffer(): (buffer) +#define COMSIG_MULTITOOL_REMOVE_BUFFER "multitool_remove_buffer" ///from [/obj/item/proc/disableEmbedding]: #define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed" ///from [/obj/effect/mine/proc/triggermine]: @@ -415,10 +417,8 @@ #define COMSIG_PROJECTILE_ON_SPAWN_DROP "projectile_on_spawn_drop" ///sent to the projectile when spawning the item (shrapnel) that may be embedded: (new_item) #define COMSIG_PROJECTILE_ON_SPAWN_EMBEDDED "projectile_on_spawn_embedded" - -/// from /obj/projectile/energy/fisher/on_hit() or /obj/item/gun/energy/recharge/fisher when striking a target -#define COMSIG_HIT_BY_SABOTEUR "hit_by_saboteur" - #define COMSIG_SABOTEUR_SUCCESS (1<<0) +///sent to the projectile when successfully embedding into something +#define COMSIG_PROJECTILE_ON_EMBEDDED "projectile_on_embedded" // /obj/vehicle/sealed/car/vim signals diff --git a/code/__DEFINES/dcs/signals/signals_plane_master_group.dm b/code/__DEFINES/dcs/signals/signals_plane_master_group.dm new file mode 100644 index 0000000000000..d27adb5f8c957 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_plane_master_group.dm @@ -0,0 +1,2 @@ +/// from /datum/plane_master_group/proc/set_hud(): (datum/hud/new_hud) +#define COMSIG_GROUP_HUD_CHANGED "group_hud_changed" diff --git a/code/__DEFINES/dcs/signals/signals_screentips.dm b/code/__DEFINES/dcs/signals/signals_screentips.dm index 8f7326ee2ee79..31a851c048395 100644 --- a/code/__DEFINES/dcs/signals/signals_screentips.dm +++ b/code/__DEFINES/dcs/signals/signals_screentips.dm @@ -21,3 +21,15 @@ /// Tells the contextual screentips system that the list context was mutated. #define CONTEXTUAL_SCREENTIP_SET (1 << 0) + + +/// A user screentip name override. +/// These are used for mobs that may override the names of atoms they hover over. +/// Examples include prosopagnosia (sees human names as Unknown regardless of what they are). +/// Called on /mob with a mutable screentip name list, the item being used, and the atom hovered over. +/// A screentip name override list is a list used for returning a string value from the signal. Only the first value matters. +/// If you mutate the list in this signal, you must return SCREENTIP_NAME_SET. +#define COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER "mob_requesting_screentip_name_from_user" + +/// Tells the screentips system that the list names was mutated. +#define SCREENTIP_NAME_SET (1 << 0) diff --git a/code/__DEFINES/dcs/signals/signals_spell.dm b/code/__DEFINES/dcs/signals/signals_spell.dm index 8d02affded85a..08074116be2c3 100644 --- a/code/__DEFINES/dcs/signals/signals_spell.dm +++ b/code/__DEFINES/dcs/signals/signals_spell.dm @@ -68,6 +68,9 @@ #define COMSIG_SPELL_TOUCH_HAND_HIT "spell_touch_hand_cast" // Jaunt Spells +/// Sent from datum/action/cooldown/spell/jaunt/before_cast, before the mob enters jaunting as a pre-check: (datum/action/cooldown/spell/spell) +#define COMSIG_MOB_PRE_JAUNT "spell_mob_pre_jaunt" + #define COMPONENT_BLOCK_JAUNT (1<<0) /// Sent from datum/action/cooldown/spell/jaunt/enter_jaunt, to the mob jaunting: (obj/effect/dummy/phased_mob/jaunt, datum/action/cooldown/spell/spell) #define COMSIG_MOB_ENTER_JAUNT "spell_mob_enter_jaunt" /// Set from /obj/effect/dummy/phased_mob after the mob is ejected from its contents: (obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter) diff --git a/code/__DEFINES/fish.dm b/code/__DEFINES/fish.dm index d6bcc2ec796e5..43e0e8587f9aa 100644 --- a/code/__DEFINES/fish.dm +++ b/code/__DEFINES/fish.dm @@ -6,6 +6,11 @@ // Baseline fishing difficulty levels #define FISHING_DEFAULT_DIFFICULTY 15 #define FISHING_EASY_DIFFICULTY 10 +/** + * The minimum value of the difficulty of the minigame (unless it reaches 0 than it's auto-win) + * Any lower than this and the fish will be way too lethargic for the minigame to be engaging in the slightest. + */ +#define FISHING_MINIMUM_DIFFICULTY 6 /// Difficulty modifier when bait is fish's favorite #define FAV_BAIT_DIFFICULTY_MOD -5 @@ -67,9 +72,11 @@ #define FISHING_MINIGAME_RULE_FLIP (1 << 5) ///Skip the biting phase and go straight to the minigame, avoiding the penalty for having slow reflexes. #define FISHING_MINIGAME_AUTOREEL (1 << 6) +///The fish will fade in and out at intervals +#define FISHING_MINIGAME_RULE_CAMO (1 << 7) ///all the effects that are active and will last for a few seconds before triggering a cooldown -#define FISHING_MINIGAME_ACTIVE_EFFECTS (FISHING_MINIGAME_RULE_ANTIGRAV|FISHING_MINIGAME_RULE_FLIP) +#define FISHING_MINIGAME_ACTIVE_EFFECTS (FISHING_MINIGAME_RULE_ANTIGRAV|FISHING_MINIGAME_RULE_FLIP|FISHING_MINIGAME_RULE_CAMO) /// The default additive value for fishing hook catch weight modifiers. #define FISHING_DEFAULT_HOOK_BONUS_ADDITIVE 0 @@ -134,12 +141,27 @@ #define FISH_WEIGHT_SLOWDOWN_EXPONENT 0.54 ///Used to calculate the force of the fish by comparing (1 + log(weight/this_define)) and the w_class of the item. #define FISH_WEIGHT_FORCE_DIVISOR 250 +///The multiplier used in the FISH_WEIGHT_BITE_DIVISOR define +#define FISH_WEIGHT_GRIND_TO_BITE_MULT 0.4 +///Used to calculate how many bites a fish can take and therefore the amount of reagents it has. +#define FISH_WEIGHT_BITE_DIVISOR (FISH_GRIND_RESULTS_WEIGHT_DIVISOR * FISH_WEIGHT_GRIND_TO_BITE_MULT) ///The breeding timeout for newly instantiated fish is multiplied by this. #define NEW_FISH_BREEDING_TIMEOUT_MULT 2 ///The last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry. #define NEW_FISH_LAST_FEEDING_MULT 0.5 +//IF YOU ADD ANY NEW FLAG, ADD IT TO THE RESPECTIVE BITFIELD in _globalvars/bitfields.dm TOO! + +///This fish is shown in the catalog and on the wiki (this only matters as an initial, compile-time value) +#define FISH_FLAG_SHOW_IN_CATALOG (1<<0) +///This fish has a flopping animation done through matrices +#define FISH_DO_FLOP_ANIM (1<<1) +///This fish has been petted in the last 30 seconds +#define FISH_FLAG_PETTED (1<<2) +///This fish can be scanned to complete fish scanning experiments +#define FISH_FLAG_EXPERIMENT_SCANNABLE (1<<3) + #define MIN_AQUARIUM_TEMP T0C #define MAX_AQUARIUM_TEMP (T0C + 100) #define DEFAULT_AQUARIUM_TEMP (T0C + 24) @@ -156,8 +178,8 @@ #define AQUARIUM_FLUID_SALTWATER "Saltwater" #define AQUARIUM_FLUID_SULPHWATEVER "Sulfuric Water" #define AQUARIUM_FLUID_AIR "Air" -#define AQUARIUM_FLUID_ANADROMOUS "Adaptive to both Freshwater and Saltwater" -#define AQUARIUM_FLUID_ANY_WATER "Adaptive to all kind of water" +#define AQUARIUM_FLUID_ANADROMOUS "Anadromous" +#define AQUARIUM_FLUID_ANY_WATER "Any Fluid" ///Fluff. The name of the aquarium company shown in the fish catalog #define AQUARIUM_COMPANY "Aquatech Ltd." @@ -182,3 +204,44 @@ //Minigame defines /// The height of the minigame slider. Not in pixels, but minigame units. #define FISHING_MINIGAME_AREA 1000 + +///The fish needs to be cooked for at least this long so that it can be safely eaten +#define FISH_SAFE_COOKING_DURATION 30 SECONDS + +///Defines for fish properties from the collect_fish_properties proc +#define FISH_PROPERTIES_FAV_BAIT "fav_bait" +#define FISH_PROPERTIES_BAD_BAIT "bad_bait" +#define FISH_PROPERTIES_TRAITS "fish_traits" +#define FISH_PROPERTIES_BEAUTY_SCORE "beauty_score" +#define FISH_PROPERTIES_EVOLUTIONS "evolutions" + +///Define for favorite and disliked baits that aren't just item typepaths. +#define FISH_BAIT_TYPE "Type" +#define FISH_BAIT_FOODTYPE "Foodtype" +#define FISH_BAIT_REAGENT "Reagent" +#define FISH_BAIT_VALUE "Value" +#define FISH_BAIT_AMOUNT "Amount" + + +///We multiply the weight of fish inside the loot table by this value if we are goofy enough to fish without a bait. +#define FISH_WEIGHT_MULT_WITHOUT_BAIT 0.15 + +/** + * A macro to ensure the wikimedia filenames of fish icons are unique, especially since there're a couple fish that have + * quite ambiguous names/icon_states like "checkered" or "pike" + */ +#define FISH_AUTOWIKI_FILENAME(fish) SANITIZE_FILENAME("[initial(fish.icon_state)]_wiki_fish") + +///The list keys for the autowiki for fish sources +#define FISH_SOURCE_AUTOWIKI_NAME "name" +#define FISH_SOURCE_AUTOWIKI_ICON "icon" +#define FISH_SOURCE_AUTOWIKI_WEIGHT "weight" +#define FISH_SOURCE_AUTOWIKI_WEIGHT_SUFFIX "weight_suffix" +#define FISH_SOURCE_AUTOWIKI_NOTES "notes" + +///Special value for the name key that always comes first when the data is sorted, regardless of weight. +#define FISH_SOURCE_AUTOWIKI_DUD "Nothing" +///Special value for the name key that always comes last +#define FISH_SOURCE_AUTOWIKI_OTHER "Other Stuff" +///The filename for the icon for "other stuff" which we don't articulate about on the autowiki +#define FISH_SOURCE_AUTOWIKI_QUESTIONMARK "questionmark" diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index c9b7cb43cf0d9..b7e5b38482d16 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -170,12 +170,21 @@ GLOBAL_LIST_INIT(food_buffs, list( #define FOOD_IN_CONTAINER (1<<0) /// Finger food can be eaten while walking / running around #define FOOD_FINGER_FOOD (1<<1) +/// Examining this edible won't show infos on food types, bites and remote tasting etc. +#define FOOD_NO_EXAMINE (1<<2) +/// This food item doesn't track bitecounts, use responsibly. +#define FOOD_NO_BITECOUNT (1<<3) DEFINE_BITFIELD(food_flags, list( "FOOD_FINGER_FOOD" = FOOD_FINGER_FOOD, "FOOD_IN_CONTAINER" = FOOD_IN_CONTAINER, + "FOOD_NO_EXAMINE" = FOOD_NO_EXAMINE, + "FOOD_NO_BITECOUNT" = FOOD_NO_BITECOUNT, )) +///Define for return value of the after_eat callback that will call OnConsume if it hasn't already. +#define FOOD_AFTER_EAT_CONSUME_ANYWAY 2 + #define STOP_SERVING_BREAKFAST (15 MINUTES) #define FOOD_MEAT_HUMAN 50 diff --git a/code/__DEFINES/footsteps.dm b/code/__DEFINES/footsteps.dm index a8a7ad975af2e..cffe920215335 100644 --- a/code/__DEFINES/footsteps.dm +++ b/code/__DEFINES/footsteps.dm @@ -84,10 +84,10 @@ GLOBAL_LIST_INIT(footstep, list( 'sound/effects/footstep/grass3.ogg', 'sound/effects/footstep/grass4.ogg'), 75, 0), FOOTSTEP_WATER = list(list( - 'sound/effects/footstep/water1.ogg', - 'sound/effects/footstep/water2.ogg', - 'sound/effects/footstep/water3.ogg', - 'sound/effects/footstep/water4.ogg'), 100, 1), + 'sound/effects/footstep/water/water1.ogg', + 'sound/effects/footstep/water/water2.ogg', + 'sound/effects/footstep/water/water3.ogg', + 'sound/effects/footstep/water/water4.ogg'), 100, 1), FOOTSTEP_LAVA = list(list( 'sound/effects/footstep/lava1.ogg', 'sound/effects/footstep/lava2.ogg', @@ -134,10 +134,10 @@ GLOBAL_LIST_INIT(barefootstep, list( 'sound/effects/footstep/grass3.ogg', 'sound/effects/footstep/grass4.ogg'), 75, 0), FOOTSTEP_WATER = list(list( - 'sound/effects/footstep/water1.ogg', - 'sound/effects/footstep/water2.ogg', - 'sound/effects/footstep/water3.ogg', - 'sound/effects/footstep/water4.ogg'), 100, 1), + 'sound/effects/footstep/water/water1.ogg', + 'sound/effects/footstep/water/water2.ogg', + 'sound/effects/footstep/water/water3.ogg', + 'sound/effects/footstep/water/water4.ogg'), 100, 1), FOOTSTEP_LAVA = list(list( 'sound/effects/footstep/lava1.ogg', 'sound/effects/footstep/lava2.ogg', @@ -178,10 +178,10 @@ GLOBAL_LIST_INIT(clawfootstep, list( 'sound/effects/footstep/grass3.ogg', 'sound/effects/footstep/grass4.ogg'), 75, 0), FOOTSTEP_WATER = list(list( - 'sound/effects/footstep/water1.ogg', - 'sound/effects/footstep/water2.ogg', - 'sound/effects/footstep/water3.ogg', - 'sound/effects/footstep/water4.ogg'), 100, 1), + 'sound/effects/footstep/water/water1.ogg', + 'sound/effects/footstep/water/water2.ogg', + 'sound/effects/footstep/water/water3.ogg', + 'sound/effects/footstep/water/water4.ogg'), 100, 1), FOOTSTEP_LAVA = list(list( 'sound/effects/footstep/lava1.ogg', 'sound/effects/footstep/lava2.ogg', @@ -196,10 +196,10 @@ GLOBAL_LIST_INIT(heavyfootstep, list( 'sound/effects/footstep/heavy1.ogg', 'sound/effects/footstep/heavy2.ogg'), 100, 2), FOOTSTEP_WATER = list(list( - 'sound/effects/footstep/water1.ogg', - 'sound/effects/footstep/water2.ogg', - 'sound/effects/footstep/water3.ogg', - 'sound/effects/footstep/water4.ogg'), 100, 2), + 'sound/effects/footstep/water/water1.ogg', + 'sound/effects/footstep/water/water2.ogg', + 'sound/effects/footstep/water/water3.ogg', + 'sound/effects/footstep/water/water4.ogg'), 100, 2), FOOTSTEP_LAVA = list(list( 'sound/effects/footstep/lava1.ogg', 'sound/effects/footstep/lava2.ogg', diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index e762b406d1eb4..3c46589002475 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -77,7 +77,7 @@ #define ui_building "EAST-4:22,SOUTH:21" #define ui_language_menu "EAST-4:6,SOUTH:21" #define ui_navigate_menu "EAST-4:22,SOUTH:5" -#define ui_floor_menu "EAST-4:14,SOUTH:37" +#define ui_floor_changer "EAST-3:24, SOUTH+1:3" //Upper left (action buttons) #define ui_action_palette "WEST+0:23,NORTH-1:5" @@ -110,6 +110,9 @@ #define ui_living_pull "EAST-1:28,CENTER-3:15" #define ui_living_healthdoll "EAST-1:28,CENTER-1:15" +//Humans +#define ui_human_floor_changer "EAST-4:22, SOUTH+1:7" + //Drones #define ui_drone_drop "CENTER+1:18,SOUTH:5" #define ui_drone_pull "CENTER+1.5:2,SOUTH:5" @@ -132,7 +135,7 @@ #define ui_borg_alerts "CENTER+4:21,SOUTH:5" #define ui_borg_language_menu "CENTER+4:19,SOUTH+1:6" #define ui_borg_navigate_menu "CENTER+4:19,SOUTH+1:6" -#define ui_borg_floor_menu "CENTER+4:-13,SOUTH+1:6" +#define ui_borg_floor_changer "EAST-1:28,SOUTH+1:39" //Aliens #define ui_alien_health "EAST,CENTER-1:15" @@ -141,7 +144,6 @@ #define ui_alien_storage_r "CENTER+1:18,SOUTH:5" #define ui_alien_language_menu "EAST-4:20,SOUTH:5" #define ui_alien_navigate_menu "EAST-4:20,SOUTH:5" -#define ui_alien_floor_menu "EAST-4:-12,SOUTH:5" //AI #define ui_ai_core "BOTTOM:6,RIGHT-4" @@ -150,7 +152,6 @@ #define ui_ai_state_laws "BOTTOM:6,RIGHT-1" #define ui_ai_mod_int "BOTTOM:6,RIGHT" #define ui_ai_language_menu "BOTTOM+1:8,RIGHT-1:30" -#define ui_ai_floor_menu "BOTTOM+1:8,RIGHT-1:14" #define ui_ai_crew_monitor "BOTTOM:6,CENTER-1" #define ui_ai_crew_manifest "BOTTOM:6,CENTER" @@ -192,8 +193,8 @@ #define ui_ghost_teleport "SOUTH:6,CENTER:24" #define ui_ghost_pai "SOUTH: 6, CENTER+1:24" #define ui_ghost_minigames "SOUTH: 6, CENTER+2:24" -#define ui_ghost_language_menu "SOUTH: 22, CENTER+3:8" -#define ui_ghost_floor_menu "SOUTH: 6, CENTER+3:8" +#define ui_ghost_language_menu "SOUTH: 22, CENTER+3:22" +#define ui_ghost_floor_changer "SOUTH: 6, CENTER+3:23" //Blobbernauts #define ui_blobbernaut_overmind_health "EAST-1:28,CENTER+0:19" diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index c58f12bf5c957..b06bf36fdb8fa 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -110,6 +110,8 @@ DEFINE_BITFIELD(no_equip_flags, list( #define HIDEMUTWINGS (1<<13) ///hides belts and riggings #define HIDEBELT (1<<14) +///hides antennae +#define HIDEANTENNAE (1<<15) //bitflags for clothing coverage - also used for limbs #define HEAD (1<<0) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 8846672efe1b7..572b6f1197e82 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -253,7 +253,7 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define ismecha(A) (istype(A, /obj/vehicle/sealed/mecha)) -#define ismopable(A) (A && (A.layer <= FLOOR_CLEAN_LAYER)) //If something can be cleaned by floor-cleaning devices such as mops or clean bots +#define ismopable(A) (A && ((A.plane == FLOOR_PLANE) ? (A.layer <= FLOOR_CLEAN_LAYER) : (A.layer <= GAME_CLEAN_LAYER))) //If something can be cleaned by floor-cleaning devices such as mops or clean bots #define isorgan(A) (istype(A, /obj/item/organ)) @@ -279,6 +279,8 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define is_reagent_container(O) (istype(O, /obj/item/reagent_containers)) +#define isapc(A) (istype(A, /obj/machinery/power/apc)) + //Assemblies #define isassembly(O) (istype(O, /obj/item/assembly)) @@ -328,4 +330,4 @@ GLOBAL_LIST_INIT(book_types, typecacheof(list( #define is_unassigned_job(job_type) (istype(job_type, /datum/job/unassigned)) #define isprojectilespell(thing) (istype(thing, /datum/action/cooldown/spell/pointed/projectile)) -#define is_multi_tile_object(atom) (atom.bound_width > world.icon_size || atom.bound_height > world.icon_size) +#define is_multi_tile_object(atom) (atom.bound_width > ICON_SIZE_X || atom.bound_height > ICON_SIZE_Y) diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 2c3b151855cef..953e7648009b8 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -93,6 +93,7 @@ #define JOB_LAWYER "Lawyer" #define JOB_CHAPLAIN "Chaplain" #define JOB_PSYCHOLOGIST "Psychologist" +#define JOB_PUN_PUN "Pun Pun" //ERTs #define JOB_ERT_DEATHSQUAD "Death Commando" #define JOB_ERT_COMMANDER "Emergency Response Team Commander" @@ -136,31 +137,32 @@ #define JOB_DISPLAY_ORDER_LAWYER 12 #define JOB_DISPLAY_ORDER_CHAPLAIN 13 #define JOB_DISPLAY_ORDER_PSYCHOLOGIST 14 -#define JOB_DISPLAY_ORDER_AI 15 -#define JOB_DISPLAY_ORDER_CYBORG 16 -#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 17 -#define JOB_DISPLAY_ORDER_STATION_ENGINEER 18 -#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 19 -#define JOB_DISPLAY_ORDER_QUARTERMASTER 20 -#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 21 -#define JOB_DISPLAY_ORDER_SHAFT_MINER 22 -#define JOB_DISPLAY_ORDER_BITRUNNER 23 -#define JOB_DISPLAY_ORDER_CARGO_GORILLA 24 -#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 25 -#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 26 -#define JOB_DISPLAY_ORDER_PARAMEDIC 27 -#define JOB_DISPLAY_ORDER_CHEMIST 28 -#define JOB_DISPLAY_ORDER_CORONER 29 -#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 30 -#define JOB_DISPLAY_ORDER_SCIENTIST 31 -#define JOB_DISPLAY_ORDER_ROBOTICIST 32 -#define JOB_DISPLAY_ORDER_GENETICIST 33 -#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 34 -#define JOB_DISPLAY_ORDER_VETERAN_ADVISOR 35 -#define JOB_DISPLAY_ORDER_WARDEN 36 -#define JOB_DISPLAY_ORDER_DETECTIVE 37 -#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 38 -#define JOB_DISPLAY_ORDER_PRISONER 39 +#define JOB_DISPLAY_ORDER_PUN_PUN 15 +#define JOB_DISPLAY_ORDER_AI 16 +#define JOB_DISPLAY_ORDER_CYBORG 17 +#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 18 +#define JOB_DISPLAY_ORDER_STATION_ENGINEER 19 +#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 20 +#define JOB_DISPLAY_ORDER_QUARTERMASTER 21 +#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 22 +#define JOB_DISPLAY_ORDER_SHAFT_MINER 23 +#define JOB_DISPLAY_ORDER_BITRUNNER 24 +#define JOB_DISPLAY_ORDER_CARGO_GORILLA 25 +#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 26 +#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 27 +#define JOB_DISPLAY_ORDER_PARAMEDIC 28 +#define JOB_DISPLAY_ORDER_CHEMIST 29 +#define JOB_DISPLAY_ORDER_CORONER 30 +#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 31 +#define JOB_DISPLAY_ORDER_SCIENTIST 32 +#define JOB_DISPLAY_ORDER_ROBOTICIST 33 +#define JOB_DISPLAY_ORDER_GENETICIST 34 +#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 35 +#define JOB_DISPLAY_ORDER_VETERAN_ADVISOR 36 +#define JOB_DISPLAY_ORDER_WARDEN 37 +#define JOB_DISPLAY_ORDER_DETECTIVE 38 +#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 39 +#define JOB_DISPLAY_ORDER_PRISONER 40 #define DEPARTMENT_UNASSIGNED "No Department" @@ -203,7 +205,7 @@ DEFINE_BITFIELD(departments_bitflags, list( #define JOB_ANNOUNCE_ARRIVAL (1<<0) /// Whether the mob is added to the crew manifest. #define JOB_CREW_MANIFEST (1<<1) -/// Whether the mob is equipped through SSjob.EquipRank() on spawn. +/// Whether the mob is equipped through SSjob.equip_rank() on spawn. #define JOB_EQUIP_RANK (1<<2) /// Whether the job is considered a regular crew member of the station. Equipment such as AI and cyborgs not included. #define JOB_CREW_MEMBER (1<<3) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index d5c17a877a4b6..8005787676aec 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -32,6 +32,7 @@ #define DEFAULT_PLANE 0 //Marks out the default plane, even if we don't use it +#define WEATHER_PLANE 1 #define AREA_PLANE 2 #define MASSIVE_OBJ_PLANE 3 #define GHOST_PLANE 4 @@ -65,6 +66,8 @@ ///Things that should render ignoring lighting #define ABOVE_LIGHTING_PLANE 17 +#define WEATHER_GLOW_PLANE 18 + ///---------------- MISC ----------------------- ///Pipecrawling images @@ -148,6 +151,11 @@ #define ABOVE_OPEN_TURF_LAYER (12 + TOPDOWN_LAYER) ///catwalk overlay of /turf/open/floor/plating/catwalk_floor #define CATWALK_LAYER (13 + TOPDOWN_LAYER) +#define LOWER_RUNE_LAYER (14 + TOPDOWN_LAYER) +#define RUNE_LAYER (15 + TOPDOWN_LAYER) +/// [GAME_CLEAN_LAYER] but for floors. +/// Basically any layer below this (numerically) is "on" a floor for the purposes of washing +#define FLOOR_CLEAN_LAYER (20 + TOPDOWN_LAYER) //WALL_PLANE layers #define BELOW_CLOSED_TURF_LAYER 2.053 @@ -166,12 +174,10 @@ #define PLUMBING_PIPE_VISIBILE_LAYER 2.495//layer = initial(layer) + ducting_layer / 3333 in atmospherics/handle_layer() to determine order of duct overlap #define BOT_PATH_LAYER 2.497 #define LOW_OBJ_LAYER 2.5 -#define LOW_SIGIL_LAYER 2.52 -#define SIGIL_LAYER 2.53 #define HIGH_PIPE_LAYER 2.54 // Anything above this layer is not "on" a turf for the purposes of washing // I hate this life of ours -#define FLOOR_CLEAN_LAYER 2.55 +#define GAME_CLEAN_LAYER 2.55 #define TRAM_STRUCTURE_LAYER 2.57 #define TRAM_FLOOR_LAYER 2.58 #define TRAM_WALL_LAYER 2.59 diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 9d2cf451c62e1..8dd8db3fd06c6 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -135,6 +135,15 @@ /// Max length of a status line in the status display #define MAX_STATUS_LINE_LENGTH 40 +///Define for automated system arrival announcement +#define AUTO_ANNOUNCE_ARRIVAL "ARRIVAL" +///Define for automated system announcement when a head of staff arrives +#define AUTO_ANNOUNCE_NEWHEAD "NEWHEAD" +///Define for automated system announcement for when the arrival shuttle is broken +#define AUTO_ANNOUNCE_ARRIVALS_BROKEN "ARRIVALS_BROKEN" +///Define for automated system announcement for researched nodes +#define AUTO_ANNOUNCE_NODE "NODE" + /// Blank Status Display #define SD_BLANK 0 /// Shows the emergency shuttle timer diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index 3c87195e99076..33147916f4e38 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -221,7 +221,7 @@ Always compile, always use that verb, and always make sure that it works for wha #define CLUSTER_CHECK_ALL 30 //!Don't let anything cluster, like, at all /// Checks the job changes in the map config for the passed change key. -#define CHECK_MAP_JOB_CHANGE(job, change) SSmapping.config.job_changes?[job]?[change] +#define CHECK_MAP_JOB_CHANGE(job, change) SSmapping.current_map.job_changes?[job]?[change] ///Identifiers for away mission spawnpoints #define AWAYSTART_BEACH "AWAYSTART_BEACH" diff --git a/code/__DEFINES/maths.dm b/code/__DEFINES/maths.dm index 1939ca94ec455..a7a95817b4405 100644 --- a/code/__DEFINES/maths.dm +++ b/code/__DEFINES/maths.dm @@ -188,21 +188,21 @@ var/pixel_x = 0 var/pixel_y = 0 for(var/i in 1 to increments) - pixel_x += sin(angle)+16*sin(angle)*2 - pixel_y += cos(angle)+16*cos(angle)*2 + pixel_x += sin(angle)+(ICON_SIZE_X/2)*sin(angle)*2 + pixel_y += cos(angle)+(ICON_SIZE_Y/2)*cos(angle)*2 var/new_x = starting.x var/new_y = starting.y - while(pixel_x > 16) - pixel_x -= 32 + while(pixel_x > (ICON_SIZE_X/2)) + pixel_x -= ICON_SIZE_X new_x++ - while(pixel_x < -16) - pixel_x += 32 + while(pixel_x < -(ICON_SIZE_X/2)) + pixel_x += ICON_SIZE_X new_x-- - while(pixel_y > 16) - pixel_y -= 32 + while(pixel_y > (ICON_SIZE_Y/2)) + pixel_y -= ICON_SIZE_Y new_y++ - while(pixel_y < -16) - pixel_y += 32 + while(pixel_y < -(ICON_SIZE_Y/2)) + pixel_y += ICON_SIZE_Y new_y-- new_x = clamp(new_x, 1, world.maxx) new_y = clamp(new_y, 1, world.maxy) diff --git a/code/__DEFINES/memory_defines.dm b/code/__DEFINES/memory_defines.dm index 2b07ab6270d57..f6c537f9e8187 100644 --- a/code/__DEFINES/memory_defines.dm +++ b/code/__DEFINES/memory_defines.dm @@ -1,7 +1,7 @@ ///name of the file that has all the memory strings #define MEMORY_FILE "memories.json" ///name of the file that has all the saved engravings -#define ENGRAVING_SAVE_FILE "data/engravings/[SSmapping.config.map_name]_engravings.json" +#define ENGRAVING_SAVE_FILE "data/engravings/[SSmapping.current_map.map_name]_engravings.json" ///name of the file that has all the prisoner tattoos #define PRISONER_TATTOO_SAVE_FILE "data/engravings/prisoner_tattoos.json" ///Current version of the engraving persistence json diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 0de4d7e6ab763..f0368ac8d92df 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -44,6 +44,10 @@ #define VENTCRAWLER_NUDE 1 #define VENTCRAWLER_ALWAYS 2 +// Flags for the mob_flags var on /mob +/// May override the names used in screentips of OTHER OBJECTS hovered over. +#define MOB_HAS_SCREENTIPS_NAME_OVERRIDE (1 << 0) + //Mob bio-types flags ///The mob is organic, can heal from medical sutures. #define MOB_ORGANIC (1 << 0) @@ -995,3 +999,7 @@ GLOBAL_LIST_INIT(layers_to_offset, list( #define BUTT_SPRITE_PLASMA "plasma" #define BUTT_SPRITE_FUZZY "fuzzy" #define BUTT_SPRITE_SLIME "slime" + +/// Distance which you can see someone's ID card +/// Short enough that you can inspect over tables (bartender checking age) +#define ID_EXAMINE_DISTANCE 3 diff --git a/code/__DEFINES/movement.dm b/code/__DEFINES/movement.dm index be3546ea102d1..9706819610f5e 100644 --- a/code/__DEFINES/movement.dm +++ b/code/__DEFINES/movement.dm @@ -2,21 +2,21 @@ #define MIN_GLIDE_SIZE 1 /// The maximum for glide_size to be clamped to. /// This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case. -#define MAX_GLIDE_SIZE 32 +#define MAX_GLIDE_SIZE ICON_SIZE_ALL /// Compensating for time dilation GLOBAL_VAR_INIT(glide_size_multiplier, 1.0) ///Broken down, here's what this does: -/// divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +/// divides the world icon_size by delay divided by ticklag to get the number of pixels something should be moving each tick. /// The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set /// Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. /// The whole result is then clamped to within the range above. /// Not very readable but it works -#define DELAY_TO_GLIDE_SIZE(delay) (clamp(((world.icon_size / max((delay) / world.tick_lag, 1)) * GLOB.glide_size_multiplier), MIN_GLIDE_SIZE, MAX_GLIDE_SIZE)) +#define DELAY_TO_GLIDE_SIZE(delay) (clamp(((ICON_SIZE_ALL / max((delay) / world.tick_lag, 1)) * GLOB.glide_size_multiplier), MIN_GLIDE_SIZE, MAX_GLIDE_SIZE)) ///Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar -#define MOVEMENT_ADJUSTED_GLIDE_SIZE(delay, movement_disparity) (world.icon_size / ((delay) / world.tick_lag) * movement_disparity * GLOB.glide_size_multiplier) +#define MOVEMENT_ADJUSTED_GLIDE_SIZE(delay, movement_disparity) (ICON_SIZE_ALL / ((delay) / world.tick_lag) * movement_disparity * GLOB.glide_size_multiplier) //Movement loop priority. Only one loop can run at a time, this dictates that // Higher numbers beat lower numbers @@ -134,3 +134,19 @@ GLOBAL_VAR_INIT(glide_size_multiplier, 1.0) #define MOVELOOP_FAILURE 0 #define MOVELOOP_SUCCESS 1 #define MOVELOOP_NOT_READY 2 + +#define NEWTONS *1 + +#define DEFAULT_INERTIA_SPEED 5 +/// Maximum inertia that an object can hold. Used to prevent objects from getting to stupid speeds. +#define INERTIA_FORCE_CAP 25 NEWTONS +/// How much inertia is deducted when a mob has newtonian spacemove capabilities and is not moving in the same direction +#define INERTIA_FORCE_SPACEMOVE_REDUCTION 0.75 NEWTONS +/// How much inertia we must have to not be able to instantly stop after having something to grab +#define INERTIA_FORCE_SPACEMOVE_GRAB 1.5 NEWTONS +/// How much inertia is required for the impacted object to be thrown at the wall +#define INERTIA_FORCE_THROW_FLOOR 10 NEWTONS +/// How much inertia is required past the floor to add 1 strength +#define INERTIA_FORCE_PER_THROW_FORCE 5 NEWTONS +// Results in maximum speed of 1 tile per tick, capped at about 2/3rds of maximum force +#define INERTIA_SPEED_COEF 0.375 diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index d6b62da97d470..5fb9d9447bbc0 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -80,6 +80,7 @@ //Job preferences levels +#define JP_ANY 0 #define JP_LOW 1 #define JP_MEDIUM 2 #define JP_HIGH 3 diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 168e4f9d85dfe..080725b16162c 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -188,3 +188,6 @@ GLOBAL_LIST_INIT(announcer_keys, list( #define SFX_DEFAULT_FISH_SLAP "default_fish_slap" #define SFX_ALT_FISH_SLAP "alt_fish_slap" #define SFX_FISH_PICKUP "fish_pickup" +#define SFX_CAT_MEOW "cat_meow" +#define SFX_CAT_PURR "cat_purr" +#define SFX_LIQUID_POUR "liquid_pour" diff --git a/code/__DEFINES/span.dm b/code/__DEFINES/span.dm index 259a13e1e9afe..9b3c2612afa34 100644 --- a/code/__DEFINES/span.dm +++ b/code/__DEFINES/span.dm @@ -14,8 +14,8 @@ #define span_alien(str) ("" + str + "") #define span_announce(str) ("" + str + "") #define span_announcement_header(str) ("" + str + "") -#define span_average(str) ("" + str + "") +#define span_bad(str) ("" + str + "") #define span_big(str) ("" + str + "") #define span_bigicon(str) ("" + str + "") #define span_binarysay(str) ("" + str + "") @@ -48,9 +48,12 @@ #define span_drone(str) ("" + str + "") #define span_engradio(str) ("" + str + "") #define span_extremelybig(str) ("" + str + "") +#define span_emote(str) ("" + str + "") #define span_enteradio(str) ("" + str + "") +#define span_game(str) ("" + str + "") #define span_game_say(str) ("" + str + "") #define span_ghostalert(str) ("" + str + "") +#define span_good(str) ("" + str + "") #define span_green(str) ("" + str + "") #define span_greenannounce(str) ("" + str + "") #define span_greenteamradio(str) ("" + str + "") @@ -70,6 +73,7 @@ #define span_info(str) ("" + str + "") #define span_infoplain(str) ("" + str + "") #define span_interface(str) ("" + str + "") +#define span_italics(str) ("" + str + "") #define span_linkify(str) ("" + str + "") #define span_looc(str) ("" + str + "") #define span_major_announcement_text(str) ("" + str + "") @@ -117,19 +121,22 @@ #define span_secradio(str) ("" + str + "") #define span_servradio(str) ("" + str + "") #define span_singing(str) ("" + str + "") +#define span_slightly_larger(str) ("" + str + "") #define span_slime(str) ("" + str + "") #define span_small(str) ("" + str + "") +#define span_smalldanger(str) ("" + str + "") #define span_smallnotice(str) ("" + str + "") #define span_smallnoticeital(str) ("" + str + "") #define span_soapbox(str) ("" + str + "") +#define span_spiderbreacher(str) ("" + str + "") #define span_spiderbroodmother(str) ("" + str + "") #define span_spiderscout(str) ("" + str + "") -#define span_spiderbreacher(str) ("" + str + "") #define span_subheader_announcement_text(str) ("" + str + "") #define span_suicide(str) ("" + str + "") #define span_suppradio(str) ("" + str + "") #define span_syndradio(str) ("" + str + "") #define span_tape_recorder(str) ("" + str + "") +#define span_tinydanger(str) ("" + str + "") #define span_tinynotice(str) ("" + str + "") #define span_tinynoticeital(str) ("" + str + "") #define span_unconscious(str) ("" + str + "") diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index ead7764d60523..121cf5a072d17 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -37,7 +37,7 @@ /// Does this by inverting the passed in flags and seeing if we're still incapacitated #define INCAPACITATED_IGNORING(mob, flags) (mob.incapacitated & ~(flags)) -/// Maxamounts of fire stacks a mob can get +/// Max amounts of fire stacks a mob can get #define MAX_FIRE_STACKS 20 /// If a mob has a higher threshold than this, the icon shown will be increased to the big fire icon. #define MOB_BIG_FIRE_STACK_THRESHOLD 3 diff --git a/code/__DEFINES/surgery.dm b/code/__DEFINES/surgery.dm index feddc24c6f858..237e956ca7fae 100644 --- a/code/__DEFINES/surgery.dm +++ b/code/__DEFINES/surgery.dm @@ -28,6 +28,8 @@ #define ORGAN_VIRGIN (1<<10) /// ALWAYS show this when scanned by advanced scanners, even if it is totally healthy #define ORGAN_PROMINENT (1<<11) +/// An organ that is ostensibly dangerous when inside a body +#define ORGAN_HAZARDOUS (1<<12) /// Helper to figure out if a limb is organic #define IS_ORGANIC_LIMB(limb) (limb.bodytype & BODYTYPE_ORGANIC) diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index 4766b3dfe661e..42f2d5fc31fee 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,7 +1,7 @@ // tgstation-server DMAPI // The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. -#define TGS_DMAPI_VERSION "7.2.1" +#define TGS_DMAPI_VERSION "7.3.0" // All functions and datums outside this document are subject to change with any version and should not be relied on. diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm index 2348bd49f194b..794c56691a6da 100644 --- a/code/__DEFINES/tools.dm +++ b/code/__DEFINES/tools.dm @@ -39,3 +39,16 @@ /// Combination flag for any item interaction that blocks the rest of the attack chain #define ITEM_INTERACT_ANY_BLOCKER (ITEM_INTERACT_SUCCESS | ITEM_INTERACT_BLOCKING) + +/// How many seconds between each fuel depletion tick ("use" proc) +#define TOOL_FUEL_BURN_INTERVAL 5 + +///This is a number I got by quickly searching up the temperature to melt iron/glass, though not really realistic. +///This is used for places where lighters should not be hot enough to be used as a welding tool on. +#define HIGH_TEMPERATURE_REQUIRED 1500 + +/** + * A helper for checking if an item interaction should be skipped. + * This is only used explicitly because some interactions may not want to ever be skipped. + */ +#define SHOULD_SKIP_INTERACTION(target, item, user) (HAS_TRAIT(target, TRAIT_COMBAT_MODE_SKIP_INTERACTION) && user.combat_mode) diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 11b1e0d2b3127..4fdf598f65977 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -26,6 +26,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_RESTRAINED "restrained" /// Apply this to make a mob not dense, and remove it when you want it to no longer make them undense, other sources of undesity will still apply. Always define a unique source when adding a new instance of this! #define TRAIT_UNDENSE "undense" +/// Makes the mob immune to damage and several other ailments. +#define TRAIT_GODMODE "godmode" /// Expands our FOV by 30 degrees if restricted #define TRAIT_EXPANDED_FOV "expanded_fov" /// Doesn't miss attacks @@ -112,6 +114,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_STABLELIVER "stable_liver" #define TRAIT_VATGROWN "vatgrown" #define TRAIT_RESISTHEAT "resist_heat" +/// Trait for when you can no longer gain body heat +#define TRAIT_HYPOTHERMIC "body_hypothermic" ///For when you've gotten a power from a dna vault #define TRAIT_USED_DNA_VAULT "used_dna_vault" /// For when you want to be able to touch hot things, but still want fire to be an issue. @@ -219,22 +223,30 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NO_STAGGER "no_stagger" /// Getting hit by thrown movables won't push you away #define TRAIT_NO_THROW_HITPUSH "no_throw_hitpush" +/// This mob likes to eat fish. Raw, uncut fish. +#define TRAIT_FISH_EATER "fish_eater" ///Added to mob or mind, changes the icons of the fish shown in the minigame UI depending on the possible reward. #define TRAIT_REVEAL_FISH "reveal_fish" ///This trait gets you a list of fishes that can be caught when examining a fishing spot. #define TRAIT_EXAMINE_FISHING_SPOT "examine_fishing_spot" ///lobstrosities and carps will prioritize/flee from those that have this trait (given by the skill-locked hat) #define TRAIT_SCARY_FISHERMAN "scary_fisherman" +/// Atoms with this trait can be right-clicked with a fish to release them, presumably back in the fishing spot they were caught from. +#define TRAIT_CATCH_AND_RELEASE "catch_and_release" ///This trait lets you get the size and weight of the fish by examining them #define TRAIT_EXAMINE_FISH "examine_fish" ///This trait lets you roughly know if the fish is dead, starving, drowning or sick by examining them #define TRAIT_EXAMINE_DEEPER_FISH "examine_deeper_fish" ///Trait given to turfs or objects that can be fished from #define TRAIT_FISHING_SPOT "fishing_spot" +///This trait prevents the fishing spot from being linked to the fish-porter when a multitool is being used. +#define TRAIT_UNLINKABLE_FISHING_SPOT "unlinkable_fishing_spot" ///Trait given to mobs that can fish without a rod #define TRAIT_PROFOUND_FISHER "profound_fisher" /// If an atom has this trait, then you can toss a bottle with a message in it. #define TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION "message_in_a_bottle_location" +/// Stops other objects of the same type from being inserted inside the same aquarium it's in. +#define TRAIT_UNIQUE_AQUARIUM_CONTENT "unique_aquarium_content" /// This trait lets you evaluate someone's fitness level against your own #define TRAIT_EXAMINE_FITNESS "reveal_power_level" /// These mobs have particularly hygienic tongues @@ -656,7 +668,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_ASHSTORM_IMMUNE "ashstorm_immune" #define TRAIT_SNOWSTORM_IMMUNE "snowstorm_immune" #define TRAIT_RADSTORM_IMMUNE "radstorm_immune" -#define TRAIT_VOIDSTORM_IMMUNE "voidstorm_immune" #define TRAIT_WEATHER_IMMUNE "weather_immune" //Immune to ALL weather effects. /// Cannot be grabbed by goliath tentacles @@ -738,6 +749,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_T_RAY_VISIBLE "t-ray-visible" /// If this item's been fried #define TRAIT_FOOD_FRIED "food_fried" +/// If this item's been bbq grilled +#define TRAIT_FOOD_BBQ_GRILLED "food_bbq_grilled" /// This is a silver slime created item #define TRAIT_FOOD_SILVER "food_silver" /// If this item's been made by a chef instead of being map-spawned or admin-spawned or such @@ -748,6 +761,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NEEDS_TWO_HANDS "needstwohands" /// Can't be catched when thrown #define TRAIT_UNCATCHABLE "uncatchable" +/// You won't catch duds while fishing with this rod. +#define TRAIT_ROD_REMOVE_FISHING_DUD "rod_remove_fishing_dud" /// Stuff that can go inside fish cases #define TRAIT_FISH_CASE_COMPATIBILE "fish_case_compatibile" /// If the item can be used as a bit. @@ -761,7 +776,14 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Baits with this trait will ignore bait preferences and related fish traits. #define TRAIT_OMNI_BAIT "omni_bait" /// The bait won't be consumed when used -#define TRAIT_BAIT_UNCONSUMABLE "bait_unconsumabe" +#define TRAIT_BAIT_UNCONSUMABLE "bait_unconsumable" +/// This bait ignores environmental conditions for fishing (like low light for nocturnal fish) +#define TRAIT_BAIT_IGNORE_ENVIRONMENT "bait_ignore_environment" +/** + * This bait won't apply TRAIT_ROD_REMOVE_FISHING_DUD to the rod it's attached on, + * instead, it'll allow the fishing dud to be there unless there's at least one fish that likes the bait + */ +#define TRAIT_BAIT_ALLOW_FISHING_DUD "bait_dont_affect_fishing_dud" /// Plants that were mutated as a result of passive instability, not a mutation threshold. #define TRAIT_PLANT_WILDMUTATE "wildmutation" /// If you hit an APC with exposed internals with this item it will try to shock you @@ -790,6 +812,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_HAUNTED "haunted" /// An item that, if it has contents, will ignore its contents when scanning for contraband. #define TRAIT_CONTRABAND_BLOCKER "contraband_blocker" +/// For edible items that cannot be composted inside hydro trays +#define TRAIT_UNCOMPOSTABLE "uncompostable" //quirk traits #define TRAIT_ALCOHOL_TOLERANCE "alcohol_tolerance" @@ -826,6 +850,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_THROWINGARM "throwing_arm" #define TRAIT_SETTLER "settler" #define TRAIT_STRONG_STOMACH "strong_stomach" +#define TRAIT_VEGETARIAN "trait_vegetarian" /// This mob always lands on their feet when they fall, for better or for worse. #define TRAIT_CATLIKE_GRACE "catlike_grace" @@ -950,6 +975,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FISH_AMPHIBIOUS "fish_amphibious" ///Trait needed for the lubefish evolution #define TRAIT_FISH_FED_LUBE "fish_fed_lube" +#define TRAIT_FISH_WELL_COOKED "fish_well_cooked" #define TRAIT_FISH_NO_HUNGER "fish_no_hunger" ///It comes from a fish case. Relevant for bounties so far. #define TRAIT_FISH_FROM_CASE "fish_from_case" @@ -959,6 +985,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FISH_RECESSIVE "fish_recessive" ///This fish comes equipped with a stinger (increased damage and potentially venomous if also toxic) #define TRAIT_FISH_STINGER "fish_stinger" +///This fish is currently on cooldown and cannot splash ink unto people's faces +#define TRAIT_FISH_INK_ON_COOLDOWN "fish_ink_on_cooldown" +///This fish requires two hands to carry even if smaller than FISH_SIZE_TWO_HANDS_REQUIRED, as long as it's bulky-sized. +#define TRAIT_FISH_SHOULD_TWOHANDED "fish_should_twohanded" +///This fish won't be killed when cooked. +#define TRAIT_FISH_SURVIVE_COOKING "fish_survive_cooking" /// Trait given to angelic constructs to let them purge cult runes #define TRAIT_ANGELIC "angelic" @@ -1106,11 +1138,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// this object has been frozen #define TRAIT_FROZEN "frozen" -/// Currently fishing -#define TRAIT_GONE_FISHING "fishing" -/// Currently fishing, and it's the active minigame phase -#define TRAIT_ACTIVELY_FISHING "actively_fishing" - /// Makes a character be better/worse at tackling depending on their wing's status #define TRAIT_TACKLING_WINGED_ATTACKER "tacking_winged_attacker" @@ -1253,6 +1280,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///Trait given to a turf that should not be allowed to be terraformed, such as turfs holding ore vents. #define TRAIT_NO_TERRAFORM "no_terraform" +///Trait that prevents mobs from stopping by grabbing objects +#define TRAIT_NOGRAV_ALWAYS_DRIFT "nograv_always_drift" + ///Mobs with these trait do not get italicized/quiet speech when speaking in low pressure #define TRAIT_SPEECH_BOOSTER "speech_booster" @@ -1262,4 +1292,20 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///Trait which allows mobs to parry mining mob projectiles #define TRAIT_MINING_PARRYING "mining_parrying" +/** + * + * This trait is used in some interactions very high in the interaction chain to allow + * certain atoms to be skipped by said interactions if the user is in combat mode. + * + * Its primarily use case is for stuff like storage and tables, to allow things like emags to be bagged + * (because in some contexts you might want to be emagging a bag, and in others you might want to be storing it.) + * + * This is only checked by certain items explicitly so you can't just add the trait and expect it to work. + * (This may be changed later but I chose to do it this way to avoid messing up interactions which require combat mode) + */ +#define TRAIT_COMBAT_MODE_SKIP_INTERACTION "combat_mode_skip_interaction" + +///A "fake" effect that should not be subject to normal effect removal methods (like the effect remover component) +#define TRAIT_ILLUSORY_EFFECT "illusory_effect" + // END TRAIT DEFINES diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index ecdbdd15e3591..beb2b98944bc0 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -196,6 +196,9 @@ /// Trait given by a fulton extraction pack #define FULTON_PACK_TRAIT "fulton-pack" +/// Trait from mob/living/update_transform() +#define UPDATE_TRANSFORM_TRAIT "update_transform" + /// Trait granted by the berserker hood. #define BERSERK_TRAIT "berserk_trait" /// Trait granted by [/obj/item/rod_of_asclepius] @@ -296,5 +299,11 @@ /// Trait when a drink was renamed by a shaker #define SHAKER_LABEL_TRAIT "shaker_trait" +/// Trait given by a jetpack +#define JETPACK_TRAIT "jetpack_trait" + /// Trait added by style component #define STYLE_TRAIT "style" + +/// Trait from an engraving +#define ENGRAVED_TRAIT "engraved" diff --git a/code/__HELPERS/atoms.dm b/code/__HELPERS/atoms.dm index 7106ec81be1ba..d54b29b3f4ac9 100644 --- a/code/__HELPERS/atoms.dm +++ b/code/__HELPERS/atoms.dm @@ -63,6 +63,8 @@ var/turf/target_turf = get_turf(target) if(get_dist(source, target) > length) return FALSE + if(current == target_turf) + return TRUE var/steps = 1 if(current == target_turf)//they are on the same turf, source can see the target return TRUE @@ -83,9 +85,9 @@ return get_dir(start, end) & (rand() * (dx+dy) < dy ? 3 : 12) /** - * Finds the distance between two atoms, in pixels - * centered = FALSE counts from turf edge to edge - * centered = TRUE counts from turf center to turf center + * Finds the distance between two atoms, in pixels \ + * centered = FALSE counts from turf edge to edge \ + * centered = TRUE counts from turf center to turf center \ * of course mathematically this is just adding world.icon_size on again **/ /proc/get_pixel_distance(atom/start, atom/end, centered = TRUE) @@ -93,7 +95,7 @@ return 0 . = bounds_dist(start, end) + sqrt((((start.pixel_x + end.pixel_x) ** 2) + ((start.pixel_y + end.pixel_y) ** 2))) if(centered) - . += world.icon_size + . += ICON_SIZE_ALL /** * Check if there is already a wall item on the turf loc @@ -334,6 +336,6 @@ rough example of the "cone" made by the 3 dirs checked var/icon_width = icon_dimensions["width"] var/icon_height = icon_dimensions["height"] return list( - "x" = icon_width > world.icon_size && pixel_x != 0 ? (icon_width - world.icon_size) * 0.5 : 0, - "y" = icon_height > world.icon_size && pixel_y != 0 ? (icon_height - world.icon_size) * 0.5 : 0, + "x" = icon_width > ICON_SIZE_X && pixel_x != 0 ? (icon_width - ICON_SIZE_X) * 0.5 : 0, + "y" = icon_height > ICON_SIZE_Y && pixel_y != 0 ? (icon_height - ICON_SIZE_Y) * 0.5 : 0, ) diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm index f9957f4c7393e..76651964e24e0 100644 --- a/code/__HELPERS/cmp.dm +++ b/code/__HELPERS/cmp.dm @@ -195,3 +195,20 @@ /proc/cmp_deathmatch_mods(datum/deathmatch_modifier/a, datum/deathmatch_modifier/b) return sorttext(b.name, a.name) + +/** + * Orders fish types following this order (freshwater -> saltwater -> anadromous -> sulphuric water -> any water -> air) + * If both share the same required fluid type, they'll be ordered by name instead. + */ +/proc/cmp_fish_fluid(obj/item/fish/a, obj/item/fish/b) + var/static/list/fluids_priority = list( + AQUARIUM_FLUID_FRESHWATER, + AQUARIUM_FLUID_SALTWATER, + AQUARIUM_FLUID_ANADROMOUS, + AQUARIUM_FLUID_SULPHWATEVER, + AQUARIUM_FLUID_ANY_WATER, + AQUARIUM_FLUID_AIR, + ) + var/position_a = fluids_priority.Find(initial(a.required_fluid_type)) + var/position_b = fluids_priority.Find(initial(b.required_fluid_type)) + return cmp_numeric_asc(position_a, position_b) || cmp_text_asc(initial(b.name), initial(a.name)) diff --git a/code/__HELPERS/dynamic_human_icon_gen.dm b/code/__HELPERS/dynamic_human_icon_gen.dm index df8f4716bb918..f1f3be038a86b 100644 --- a/code/__HELPERS/dynamic_human_icon_gen.dm +++ b/code/__HELPERS/dynamic_human_icon_gen.dm @@ -57,6 +57,7 @@ GLOBAL_LIST_EMPTY(dynamic_human_appearances) /proc/set_dynamic_human_appearance(list/arguments) var/atom/target = arguments[1] //1st argument is the target var/dynamic_appearance = get_dynamic_human_appearance(arglist(arguments.Copy(2))) //the rest of the arguments starting from 2 matter to the proc - target.icon = 'icons/blanks/32x32.dmi' - target.icon_state = "nothing" + target.icon = 'icons/mob/human/human.dmi' + target.icon_state = "" + target.appearance_flags |= KEEP_TOGETHER target.copy_overlays(dynamic_appearance, cut_old = TRUE) diff --git a/code/__HELPERS/filters.dm b/code/__HELPERS/filters.dm index cd44409ddb239..14233a2807636 100644 --- a/code/__HELPERS/filters.dm +++ b/code/__HELPERS/filters.dm @@ -23,7 +23,7 @@ GLOBAL_LIST_INIT(master_filter_info, list( ) ), // Not implemented, but if this isn't uncommented some windows will just error - // Needs either a proper matrix editor, or just a hook to our existing one + // Needs either a proper matrix editor, or just a hook to our existing one // Issue is filterrific assumes variables will have the same value type if they share the same name, which this violates // Gotta refactor this sometime "color" = list( @@ -169,7 +169,7 @@ GLOBAL_LIST_INIT(master_filter_info, list( if(!isnull(space)) .["space"] = space -/proc/displacement_map_filter(icon, render_source, x, y, size = 32) +/proc/displacement_map_filter(icon, render_source, x, y, size = ICON_SIZE_ALL) . = list("type" = "displace") if(!isnull(icon)) .["icon"] = icon diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index ce48e593980b5..3eb89831957b8 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -181,7 +181,7 @@ //First we spawn a dude. var/mob/living/carbon/human/new_character = new//The mob being spawned. - SSjob.SendToLateJoin(new_character) + SSjob.send_to_late_join(new_character) ghost_player.client.prefs.safe_transfer_prefs_to(new_character) new_character.dna.update_dna_identity() @@ -235,7 +235,7 @@ if(!SSticker.IsRoundInProgress() || QDELETED(character)) return var/area/player_area = get_area(character) - deadchat_broadcast(" has arrived at the station at [player_area.name].", "[character.real_name] ([rank])", follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE) + 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) return if(!GLOB.announcement_systems.len) @@ -243,8 +243,16 @@ if(!(character.mind.assigned_role.job_flags & JOB_ANNOUNCE_ARRIVAL)) return - var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems) - announcer.announce("ARRIVAL", character.real_name, rank, list()) //make the list empty to make it announce it in common + var/obj/machinery/announcement_system/announcer + var/list/available_machines = list() + for(var/obj/machinery/announcement_system/announce as anything in GLOB.announcement_systems) + if(announce.arrival_toggle) + available_machines += announce + break + if(!length(available_machines)) + return + announcer = pick(available_machines) + announcer.announce(AUTO_ANNOUNCE_ARRIVAL, character.real_name, rank, list()) //make the list empty to make it announce it in common ///Check if the turf pressure allows specialized equipment to work /proc/lavaland_equipment_pressure_check(turf/turf_to_check) diff --git a/code/__HELPERS/hallucinations.dm b/code/__HELPERS/hallucinations.dm index edd65ee926abf..d3d4a2630ed05 100644 --- a/code/__HELPERS/hallucinations.dm +++ b/code/__HELPERS/hallucinations.dm @@ -86,6 +86,30 @@ GLOBAL_LIST_EMPTY(all_ongoing_hallucinations) if(length(optional_messages)) to_chat(nearby_living, pick(optional_messages)) +/** + * Emits a hallucinating pulse around the passed atom. + * Affects everyone in the passed radius except for those with TRAIT_MADNESS_IMMUNE. This affects blind players. + * + * center - required, the center of the pulse + * radius - the radius around that the pulse reaches + * hallucination_duration - how much hallucination is added by the pulse. reduced based on distance to the center. + * hallucination_max_duration - a cap on how much hallucination can be added + * optional_messages - optional list of messages passed. Those affected by pulses will be given one of the messages in said list. + */ +/proc/hallucination_pulse(atom/center, radius = 7, hallucination_duration = 50 SECONDS, hallucination_max_duration, list/optional_messages) + for(var/mob/living/nearby_living in range(center, radius)) + if(HAS_MIND_TRAIT(nearby_living, TRAIT_MADNESS_IMMUNE)) + continue + + if(nearby_living.mob_biotypes & NO_HALLUCINATION_BIOTYPES) + continue + + // Everyone else gets hallucinations. + var/dist = sqrt(1 / max(1, get_dist(nearby_living, center))) + nearby_living.adjust_hallucinations_up_to(hallucination_duration * dist, hallucination_max_duration) + if(length(optional_messages)) + 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()) @@ -226,7 +250,7 @@ ADMIN_VERB(debug_hallucination_weighted_list_per_type, R_DEBUG, "Show Hallucinat if(!custom_icon_state) return - var/custom_name = tgui_input_text(user, "What name should it show up as? (Can be empty)", "Custom Delusion: Name") + var/custom_name = tgui_input_text(user, "What name should it show up as? (Can be empty)", "Custom Delusion: Name", max_length = MAX_NAME_LEN) delusion_args += list( custom_icon_file = custom_icon_file, diff --git a/code/__HELPERS/hearted.dm b/code/__HELPERS/hearted.dm index adae298516ec6..d8f7832cbc06b 100644 --- a/code/__HELPERS/hearted.dm +++ b/code/__HELPERS/hearted.dm @@ -45,11 +45,11 @@ var/heart_nominee switch(attempt) if(1) - heart_nominee = tgui_input_text(src, "What was their name? Just a first or last name may be enough.", "<3?") + heart_nominee = tgui_input_text(src, "What was their name? Just a first or last name may be enough.", "<3?", max_length = MAX_NAME_LEN) if(2) - heart_nominee = tgui_input_text(src, "Try again, what was their name? Just a first or last name may be enough.", "<3?") + heart_nominee = tgui_input_text(src, "Try again, what was their name? Just a first or last name may be enough.", "<3?", max_length = MAX_NAME_LEN) if(3) - heart_nominee = tgui_input_text(src, "One more try, what was their name? Just a first or last name may be enough.", "<3?") + heart_nominee = tgui_input_text(src, "One more try, what was their name? Just a first or last name may be enough.", "<3?", max_length = MAX_NAME_LEN) if(!heart_nominee) return diff --git a/code/__HELPERS/honkerblast.dm b/code/__HELPERS/honkerblast.dm index c0712f420f2d7..f49a5ca4aca29 100644 --- a/code/__HELPERS/honkerblast.dm +++ b/code/__HELPERS/honkerblast.dm @@ -5,7 +5,7 @@ var/list/properly_honked = list() var/list/severely_honked = list() - playsound(origin_turf, 'sound/items/airhorn.ogg', 100, TRUE) + playsound(origin_turf, 'sound/items/airhorn/airhorn.ogg', 100, TRUE) for(var/mob/living/carbon/victim as anything in hearers(max(light_range, medium_range, heavy_range), origin_turf)) if(!victim.can_hear()) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 127ae5387e1b0..ec238d2e495b0 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -402,7 +402,7 @@ world /// appearance system (overlays/underlays, etc.) is not available. /// /// Only the first argument is required. -/proc/getFlatIcon(image/appearance, defdir, deficon, defstate, defblend, start = TRUE, no_anim = FALSE) +/proc/getFlatIcon(image/appearance, defdir, deficon, defstate, defblend, start = TRUE, no_anim = FALSE, parentcolor) // Loop through the underlays, then overlays, sorting them into the layers list #define PROCESS_OVERLAYS_OR_UNDERLAYS(flat, process, base_layer) \ for (var/i in 1 to process.len) { \ @@ -466,25 +466,24 @@ world var/base_icon_dir //We'll use this to get the icon state to display if not null BUT NOT pass it to overlays as the dir we have - //Try to remove/optimize this section ASAP, CPU hog. - //Determines if there's directionals. - if(render_icon && curdir != SOUTH) - if ( - !length(icon_states(icon(curicon, curstate, NORTH))) \ - && !length(icon_states(icon(curicon, curstate, EAST))) \ - && !length(icon_states(icon(curicon, curstate, WEST))) \ - ) - base_icon_dir = SOUTH + if(render_icon) + //Try to remove/optimize this section if you can, it's a CPU hog. + //Determines if there're directionals. + if (curdir != SOUTH) + // icon states either have 1, 4 or 8 dirs. We only have to check + // one of NORTH, EAST or WEST to know that this isn't a 1-dir icon_state since they just have SOUTH. + if(!length(icon_states(icon(curicon, curstate, NORTH)))) + base_icon_dir = SOUTH + + var/list/icon_dimensions = get_icon_dimensions(curicon) + var/icon_width = icon_dimensions["width"] + var/icon_height = icon_dimensions["height"] + if(icon_width != 32 || icon_height != 32) + flat.Scale(icon_width, icon_height) if(!base_icon_dir) base_icon_dir = curdir - // Expand our canvas to fit if we're too big - if(render_icon) - var/icon/active_icon = icon(curicon) - if(active_icon.Width() != 32 || active_icon.Height() != 32) - flat.Scale(active_icon.Width(), active_icon.Height()) - var/curblend = appearance.blend_mode || defblend if(appearance.overlays.len || appearance.underlays.len) @@ -514,6 +513,20 @@ world var/addY1 = 0 var/addY2 = 0 + if(appearance.color) + if(islist(appearance.color)) + flat.MapColors(arglist(appearance.color)) + else + flat.Blend(appearance.color, ICON_MULTIPLY) + + if(parentcolor && !(appearance.appearance_flags & RESET_COLOR)) + if(islist(parentcolor)) + flat.MapColors(arglist(parentcolor)) + else + flat.Blend(parentcolor, ICON_MULTIPLY) + + var/next_parentcolor = appearance.color || parentcolor + for(var/image/layer_image as anything in layers) if(layer_image.alpha == 0) continue @@ -521,8 +534,14 @@ world if(layer_image == copy) // 'layer_image' is an /image based on the object being flattened. curblend = BLEND_OVERLAY add = icon(layer_image.icon, layer_image.icon_state, base_icon_dir) + if(appearance.color) + if(islist(appearance.color)) + add.MapColors(arglist(appearance.color)) + else + add.Blend(appearance.color, ICON_MULTIPLY) else // 'I' is an appearance object. - add = getFlatIcon(image(layer_image), curdir, curicon, curstate, curblend, FALSE, no_anim) + add = getFlatIcon(image(layer_image), curdir, curicon, curstate, curblend, FALSE, no_anim, next_parentcolor) + if(!add) continue @@ -554,11 +573,6 @@ world // Blend the overlay into the flattened icon flat.Blend(add, blendMode2iconMode(curblend), layer_image.pixel_x + 2 - flatX1, layer_image.pixel_y + 2 - flatY1) - if(appearance.color) - if(islist(appearance.color)) - flat.MapColors(arglist(appearance.color)) - else - flat.Blend(appearance.color, ICON_MULTIPLY) if(appearance.alpha < 255) flat.Blend(rgb(255, 255, 255, appearance.alpha), ICON_MULTIPLY) @@ -1024,7 +1038,7 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) var/icon/target_icon = target var/icon_base64 = icon2base64(target_icon) - if (target_icon.Height() > world.icon_size || target_icon.Width() > world.icon_size) + if (target_icon.Height() > ICON_SIZE_Y || target_icon.Width() > ICON_SIZE_X) var/icon_md5 = md5(icon_base64) icon_base64 = bicon_cache[icon_md5] if (!icon_base64) // Doesn't exist yet, make it. @@ -1078,14 +1092,14 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) var/top_part_filter = filter(type="alpha",icon=icon('icons/effects/alphacolors.dmi',"white"),y=0) filters += top_part_filter var/filter_index = length(filters) - animate(filters[filter_index],y=-32,time=time) + animate(filters[filter_index],y=-ICON_SIZE_Y,time=time) //Appearing part var/obj/effect/overlay/appearing_part = new appearing_part.appearance = result_appearance appearing_part.appearance_flags |= KEEP_TOGETHER | KEEP_APART appearing_part.vis_flags = VIS_INHERIT_ID appearing_part.filters = filter(type="alpha",icon=icon('icons/effects/alphacolors.dmi',"white"),y=0,flags=MASK_INVERSE) - animate(appearing_part.filters[1],y=-32,time=time) + animate(appearing_part.filters[1],y=-ICON_SIZE_Y,time=time) transformation_objects += appearing_part //Transform effect thing if(transform_appearance) @@ -1132,19 +1146,19 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) if(!x_dimension || !y_dimension) return - if((x_dimension == world.icon_size) && (y_dimension == world.icon_size)) + if((x_dimension == ICON_SIZE_X) && (y_dimension == ICON_SIZE_Y)) return image_to_center //Offset the image so that its bottom left corner is shifted this many pixels //This makes it infinitely easier to draw larger inhands/images larger than world.iconsize //but still use them in game - var/x_offset = -((x_dimension / world.icon_size) - 1) * (world.icon_size * 0.5) - var/y_offset = -((y_dimension / world.icon_size) - 1) * (world.icon_size * 0.5) + var/x_offset = -((x_dimension / ICON_SIZE_X) - 1) * (ICON_SIZE_X * 0.5) + var/y_offset = -((y_dimension / ICON_SIZE_Y) - 1) * (ICON_SIZE_Y * 0.5) - //Correct values under world.icon_size - if(x_dimension < world.icon_size) + //Correct values under icon_size + if(x_dimension < ICON_SIZE_X) x_offset *= -1 - if(y_dimension < world.icon_size) + if(y_dimension < ICON_SIZE_Y) y_offset *= -1 image_to_center.pixel_x = x_offset @@ -1202,7 +1216,7 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) */ /proc/get_size_in_tiles(obj/target) var/icon/size_check = icon(target.icon, target.icon_state) - var/size = size_check.Width() / world.icon_size + var/size = size_check.Width() / ICON_SIZE_X return size @@ -1215,11 +1229,11 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) var/size = get_size_in_tiles(src) if(dir in list(NORTH, SOUTH)) - bound_width = size * world.icon_size - bound_height = world.icon_size + bound_width = size * ICON_SIZE_X + bound_height = ICON_SIZE_Y else - bound_width = world.icon_size - bound_height = size * world.icon_size + bound_width = ICON_SIZE_X + bound_height = size * ICON_SIZE_Y /// Returns a list containing the width and height of an icon file /proc/get_icon_dimensions(icon_path) @@ -1247,15 +1261,15 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) var/width = icon_dimensions["width"] var/height = icon_dimensions["height"] - if(width > world.icon_size) - alert_overlay.pixel_x = -(world.icon_size / 2) * ((width - world.icon_size) / world.icon_size) - if(height > world.icon_size) - alert_overlay.pixel_y = -(world.icon_size / 2) * ((height - world.icon_size) / world.icon_size) - if(width > world.icon_size || height > world.icon_size) + if(width > ICON_SIZE_X) + alert_overlay.pixel_x = -(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) + if(width > ICON_SIZE_X || height > ICON_SIZE_Y) if(width >= height) - scale = world.icon_size / width + scale = ICON_SIZE_X / width else - scale = world.icon_size / height + scale = ICON_SIZE_Y / height alert_overlay.transform = alert_overlay.transform.Scale(scale) return alert_overlay diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index 5a55fd46fd296..7e6db6fb0209b 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -2,8 +2,8 @@ /proc/get_angle(atom/movable/start, atom/movable/end)//For beams. if(!start || !end) return 0 - var/dy =(32 * end.y + end.pixel_y) - (32 * start.y + start.pixel_y) - var/dx =(32 * end.x + end.pixel_x) - (32 * start.x + start.pixel_x) + var/dy =(ICON_SIZE_Y * end.y + end.pixel_y) - (ICON_SIZE_Y * start.y + start.pixel_y) + var/dx =(ICON_SIZE_X * end.x + end.pixel_x) - (ICON_SIZE_X * start.x + start.pixel_x) return delta_to_angle(dx, dy) /// Calculate the angle produced by a pair of x and y deltas @@ -18,8 +18,8 @@ /// Angle between two arbitrary points and horizontal line same as [/proc/get_angle] /proc/get_angle_raw(start_x, start_y, start_pixel_x, start_pixel_y, end_x, end_y, end_pixel_x, end_pixel_y) - var/dy = (32 * end_y + end_pixel_y) - (32 * start_y + start_pixel_y) - var/dx = (32 * end_x + end_pixel_x) - (32 * start_x + start_pixel_x) + var/dy = (ICON_SIZE_Y * end_y + end_pixel_y) - (ICON_SIZE_Y * start_y + start_pixel_y) + var/dx = (ICON_SIZE_X * end_x + end_pixel_x) - (ICON_SIZE_X * start_x + start_pixel_x) if(!dy) return (dx >= 0) ? 90 : 270 . = arctan(dx/dy) @@ -241,3 +241,7 @@ /// Useful for providing an additive modifier to a value that is used as a divisor, such as `/obj/projectile/var/speed` /proc/reciprocal_add(x, y) return 1/((1/x)+y) + +/// 180s an angle +/proc/reverse_angle(angle) + return (angle + 180) % 360 diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 7c8e84e226d23..867f6f9e7649d 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -208,7 +208,7 @@ GLOBAL_LIST_INIT(skin_tone_names, list( var/atom/target_loc = target?.loc var/drifting = FALSE - if(GLOB.move_manager.processing_on(user, SSspacedrift)) + if(GLOB.move_manager.processing_on(user, SSnewtonian_movement)) drifting = TRUE var/holding = user.get_active_held_item() @@ -237,7 +237,7 @@ GLOBAL_LIST_INIT(skin_tone_names, list( if(!QDELETED(progbar)) progbar.update(world.time - starttime) - if(drifting && !GLOB.move_manager.processing_on(user, SSspacedrift)) + if(drifting && !GLOB.move_manager.processing_on(user, SSnewtonian_movement)) drifting = FALSE user_loc = user.loc diff --git a/code/__HELPERS/mouse_control.dm b/code/__HELPERS/mouse_control.dm index 0c99e53e7a0cd..14588b41cb701 100644 --- a/code/__HELPERS/mouse_control.dm +++ b/code/__HELPERS/mouse_control.dm @@ -11,8 +11,8 @@ var/x = (text2num(screen_loc_X[1]) * 32 + text2num(screen_loc_X[2]) - 32) var/y = (text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32) var/list/screenview = getviewsize(client.view) - var/screenviewX = screenview[1] * world.icon_size - var/screenviewY = screenview[2] * world.icon_size + var/screenviewX = screenview[1] * ICON_SIZE_X + var/screenviewY = screenview[2] * ICON_SIZE_Y var/ox = round(screenviewX/2) - client.pixel_x //"origin" x var/oy = round(screenviewY/2) - client.pixel_y //"origin" y var/angle = SIMPLIFY_DEGREES(ATAN2(y - oy, x - ox)) diff --git a/code/__HELPERS/movement.dm b/code/__HELPERS/movement.dm new file mode 100644 index 0000000000000..e820b3dfff125 --- /dev/null +++ b/code/__HELPERS/movement.dm @@ -0,0 +1,2 @@ +/// Converts w_class into newtons from throwing it, in (0.6 ~ 2.2) range +#define WEIGHT_TO_NEWTONS(w_class, arguments...) 0.2 NEWTONS + w_class * 0.4 NEWTONS diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index c1ca3cc638b26..96155ea5588a1 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -142,7 +142,7 @@ else finalized_announcement = CHAT_ALERT_DEFAULT_SPAN(jointext(minor_announcement_strings, "")) - var/custom_sound = sound_override || (alert ? 'sound/misc/notice1.ogg' : 'sound/misc/notice2.ogg') + var/custom_sound = sound_override || (alert ? 'sound/announcer/notice/notice1.ogg' : 'sound/announcer/notice/notice2.ogg') dispatch_announcement_to_players(finalized_announcement, players, custom_sound, should_play_sound) /// Sends an announcement about the level changing to players. Uses the passed in datum and the subsystem's previous security level to generate the message. @@ -186,7 +186,7 @@ /// Proc that just dispatches the announcement to our applicable audience. Only the announcement is a mandatory arg. /proc/dispatch_announcement_to_players(announcement, list/players = GLOB.player_list, sound_override = null, should_play_sound = TRUE) - var/sound_to_play = !isnull(sound_override) ? sound_override : 'sound/misc/notice2.ogg' + var/sound_to_play = !isnull(sound_override) ? sound_override : 'sound/announcer/notice/notice2.ogg' for(var/mob/target in players) if(isnewplayer(target) || !target.can_hear()) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 71e80014bb54a..72af6cf3ac181 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -571,7 +571,7 @@ GLOBAL_LIST_INIT(achievements_unlocked, list()) /datum/controller/subsystem/ticker/proc/medal_report() if(GLOB.commendations.len) var/list/parts = list() - parts += "Medal Commendations:" + parts += span_header("Medal Commendations:") for (var/com in GLOB.commendations) parts += com return "
[parts.Join("
")]
" @@ -660,7 +660,7 @@ GLOBAL_LIST_INIT(achievements_unlocked, list()) var/datum/action/report/R = new C.player_details.player_actions += R R.Grant(C.mob) - to_chat(C,"Show roundend report again") + to_chat(C,span_infoplain("Show roundend report again")) /datum/action/report name = "Show roundend report" diff --git a/code/__HELPERS/screen_objs.dm b/code/__HELPERS/screen_objs.dm index cb8520225ab8c..00f6bd415704f 100644 --- a/code/__HELPERS/screen_objs.dm +++ b/code/__HELPERS/screen_objs.dm @@ -13,11 +13,11 @@ if(findtext(screen_loc, "EAST")) // If you're starting from the east, we start from the east too x += view_size[1] if(findtext(screen_loc, "WEST")) // HHHHHHHHHHHHHHHHHHHHHH WEST is technically a 1 tile offset from the start. Shoot me please - x += world.icon_size + x += ICON_SIZE_X if(findtext(screen_loc, "NORTH")) y += view_size[2] if(findtext(screen_loc, "SOUTH")) - y += world.icon_size + y += ICON_SIZE_Y var/list/x_and_y = splittext(screen_loc, ",") @@ -36,8 +36,8 @@ x_coord = text2num(cut_relative_direction(x_coord)) y_coord = text2num(cut_relative_direction(y_coord)) - x += x_coord * world.icon_size - y += y_coord * world.icon_size + x += x_coord * ICON_SIZE_X + y += y_coord * ICON_SIZE_Y if(length(x_pack) > 1) x += text2num(x_pack[2]) @@ -51,14 +51,14 @@ /proc/offset_to_screen_loc(x_offset, y_offset, view = null) if(view) var/list/view_bounds = view_to_pixels(view) - x_offset = clamp(x_offset, world.icon_size, view_bounds[1]) - y_offset = clamp(y_offset, world.icon_size, view_bounds[2]) + x_offset = clamp(x_offset, ICON_SIZE_X, view_bounds[1]) + y_offset = clamp(y_offset, ICON_SIZE_Y, view_bounds[2]) // Round with no argument is floor, so we get the non pixel offset here - var/x = round(x_offset / world.icon_size) - var/pixel_x = x_offset % world.icon_size - var/y = round(y_offset / world.icon_size) - var/pixel_y = y_offset % world.icon_size + var/x = round(x_offset / ICON_SIZE_X) + var/pixel_x = x_offset % ICON_SIZE_X + var/y = round(y_offset / ICON_SIZE_Y) + var/pixel_y = y_offset % ICON_SIZE_Y var/list/generated_loc = list() generated_loc += "[x]" @@ -88,9 +88,9 @@ // Bias to the right, down, left, and then finally up if(base_x + target_offset < view_size[1]) return offset_to_screen_loc(base_x + target_offset, base_y, view) - if(base_y - target_offset > world.icon_size) + if(base_y - target_offset > ICON_SIZE_Y) return offset_to_screen_loc(base_x, base_y - target_offset, view) - if(base_x - target_offset > world.icon_size) + if(base_x - target_offset > ICON_SIZE_X) return offset_to_screen_loc(base_x - target_offset, base_y, view) if(base_y + target_offset < view_size[2]) return offset_to_screen_loc(base_x, base_y + target_offset, view) @@ -104,12 +104,12 @@ /// Returns a screen_loc format for a tiling screen objects from start and end positions. Start should be bottom left corner, and end top right corner. /proc/spanning_screen_loc(start_px, start_py, end_px, end_py) - var/starting_tile_x = round(start_px / 32) - start_px -= starting_tile_x * 32 - var/starting_tile_y = round(start_py/ 32) - start_py -= starting_tile_y * 32 - var/ending_tile_x = round(end_px / 32) - end_px -= ending_tile_x * 32 - var/ending_tile_y = round(end_py / 32) - end_py -= ending_tile_y * 32 + var/starting_tile_x = round(start_px / ICON_SIZE_X) + start_px -= starting_tile_x * ICON_SIZE_X + var/starting_tile_y = round(start_py/ ICON_SIZE_Y) + start_py -= starting_tile_y * ICON_SIZE_Y + var/ending_tile_x = round(end_px / ICON_SIZE_X) + end_px -= ending_tile_x * ICON_SIZE_X + var/ending_tile_y = round(end_py / ICON_SIZE_Y) + end_py -= ending_tile_y * ICON_SIZE_Y return "[starting_tile_x]:[start_px],[starting_tile_y]:[start_py] to [ending_tile_x]:[end_px],[ending_tile_y]:[end_py]" diff --git a/code/__HELPERS/spatial_info.dm b/code/__HELPERS/spatial_info.dm index 529532f50cf4d..a2c47e87c0a10 100644 --- a/code/__HELPERS/spatial_info.dm +++ b/code/__HELPERS/spatial_info.dm @@ -211,37 +211,49 @@ for(var/obj/item/radio/radio as anything in radios) . |= get_hearers_in_LOS(radio.canhear_range, radio, FALSE) +//Used when converting pixels to tiles to make them accurate +#define OFFSET_X (0.5 / ICON_SIZE_X) +#define OFFSET_Y (0.5 / ICON_SIZE_Y) + ///Calculate if two atoms are in sight, returns TRUE or FALSE /proc/inLineOfSight(X1,Y1,X2,Y2,Z=1,PX1=16.5,PY1=16.5,PX2=16.5,PY2=16.5) - var/turf/T + var/turf/current_turf if(X1 == X2) if(Y1 == Y2) return TRUE //Light cannot be blocked on same tile else - var/s = SIGN(Y2-Y1) - Y1+=s + var/sign = SIGN(Y2-Y1) + Y1 += sign while(Y1 != Y2) - T=locate(X1,Y1,Z) - if(IS_OPAQUE_TURF(T)) + current_turf = locate(X1, Y1, Z) + if(IS_OPAQUE_TURF(current_turf)) return FALSE - Y1+=s + Y1 += sign else - var/m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) - var/b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles + //This looks scary but we're just calculating a linear function (y = mx + b) + + //m = y/x + var/m = (ICON_SIZE_Y*(Y2-Y1) + (PY2-PY1)) / (ICON_SIZE_X*(X2-X1) + (PX2-PX1))//In pixels + + //b = y - mx + var/b = (Y1 + PY1/ICON_SIZE_Y - OFFSET_Y) - m*(X1 + PX1/ICON_SIZE_X - OFFSET_X)//In tiles + var/signX = SIGN(X2-X1) var/signY = SIGN(Y2-Y1) - if(X1= mx+b + Y1 += signY //Line exits tile vertically else - X1+=signX //Line exits tile horizontally - T=locate(X1,Y1,Z) - if(IS_OPAQUE_TURF(T)) + X1 += signX //Line exits tile horizontally + current_turf = locate(X1, Y1, Z) + if(IS_OPAQUE_TURF(current_turf)) return FALSE return TRUE +#undef OFFSET_X +#undef OFFSET_Y /proc/is_in_sight(atom/first_atom, atom/second_atom) var/turf/first_turf = get_turf(first_atom) diff --git a/code/__HELPERS/turfs.dm b/code/__HELPERS/turfs.dm index c4867ba999373..c779c4b681b0f 100644 --- a/code/__HELPERS/turfs.dm +++ b/code/__HELPERS/turfs.dm @@ -237,9 +237,9 @@ Turf and target are separate in case you want to teleport some distance from a t var/list/icon_dimensions = get_icon_dimensions(checked_atom.icon) var/checked_atom_icon_height = icon_dimensions["height"] var/checked_atom_icon_width = icon_dimensions["width"] - if(checked_atom_icon_height != world.icon_size || checked_atom_icon_width != world.icon_size) - pixel_x_offset += ((checked_atom_icon_width / world.icon_size) - 1) * (world.icon_size * 0.5) - pixel_y_offset += ((checked_atom_icon_height / world.icon_size) - 1) * (world.icon_size * 0.5) + if(checked_atom_icon_height != ICON_SIZE_Y || checked_atom_icon_width != ICON_SIZE_X) + pixel_x_offset += ((checked_atom_icon_width / ICON_SIZE_X) - 1) * (ICON_SIZE_X * 0.5) + pixel_y_offset += ((checked_atom_icon_height / ICON_SIZE_Y) - 1) * (ICON_SIZE_Y * 0.5) return list(pixel_x_offset, pixel_y_offset) @@ -248,8 +248,8 @@ Turf and target are separate in case you want to teleport some distance from a t **/ /proc/pixel_offset_turf(turf/offset_from, list/offsets) //DY and DX - var/rough_x = round(round(offsets[1], world.icon_size) / world.icon_size) - var/rough_y = round(round(offsets[2], world.icon_size) / world.icon_size) + var/rough_x = round(round(offsets[1], ICON_SIZE_X) / ICON_SIZE_X) + var/rough_y = round(round(offsets[2], ICON_SIZE_Y) / ICON_SIZE_Y) var/final_x = clamp(offset_from.x + rough_x, 1, world.maxx) var/final_y = clamp(offset_from.y + rough_y, 1, world.maxy) @@ -275,8 +275,8 @@ Turf and target are separate in case you want to teleport some distance from a t click_turf_y = origin.y + text2num(click_turf_y[1]) - round(actual_view[2] / 2) - 1 var/turf/click_turf = locate(clamp(click_turf_x, 1, world.maxx), clamp(click_turf_y, 1, world.maxy), click_turf_z) - LAZYSET(modifiers, ICON_X, "[(click_turf_px - click_turf.pixel_x) + ((click_turf_x - click_turf.x) * world.icon_size)]") - LAZYSET(modifiers, ICON_Y, "[(click_turf_py - click_turf.pixel_y) + ((click_turf_y - click_turf.y) * world.icon_size)]") + LAZYSET(modifiers, ICON_X, "[(click_turf_px - click_turf.pixel_x) + ((click_turf_x - click_turf.x) * ICON_SIZE_X)]") + LAZYSET(modifiers, ICON_Y, "[(click_turf_py - click_turf.pixel_y) + ((click_turf_y - click_turf.y) * ICON_SIZE_Y)]") return click_turf ///Almost identical to the params_to_turf(), but unused (remove?) diff --git a/code/__HELPERS/view.dm b/code/__HELPERS/view.dm index 30e8bc8f9f973..139bdedc425ff 100644 --- a/code/__HELPERS/view.dm +++ b/code/__HELPERS/view.dm @@ -16,8 +16,8 @@ if(!view) return list(0, 0) var/list/view_info = getviewsize(view) - view_info[1] *= world.icon_size - view_info[2] *= world.icon_size + view_info[1] *= ICON_SIZE_X + view_info[2] *= ICON_SIZE_Y return view_info /** diff --git a/code/__byond_version_compat.dm b/code/__byond_version_compat.dm index 0f19332934d09..6680e655551f5 100644 --- a/code/__byond_version_compat.dm +++ b/code/__byond_version_compat.dm @@ -9,6 +9,11 @@ #error You need version 515.1627 or higher #endif +// Unable to compile this version thanks to mutable appearance changes +#if (DM_VERSION == 515 && DM_BUILD == 1643) +#error This version of BYOND cannot compile this project. Visit www.byond.com/download/build to download an older version or update (if possible). +#endif + // Keep savefile compatibilty at minimum supported level /savefile/byond_version = MIN_COMPILER_VERSION diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 8db59bccc3532..3e3f2bfe8d93a 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -65,6 +65,7 @@ DEFINE_BITFIELD(area_flags, list( "VALID_TERRITORY" = VALID_TERRITORY, "XENOBIOLOGY_COMPATIBLE" = XENOBIOLOGY_COMPATIBLE, "NO_BOH" = NO_BOH, + "UNLIMITED_FISHING" = UNLIMITED_FISHING, )) DEFINE_BITFIELD(turf_flags, list( @@ -253,6 +254,10 @@ DEFINE_BITFIELD(mob_biotypes, list( "MOB_UNDEAD" = MOB_UNDEAD, )) +DEFINE_BITFIELD(mob_flags, list( + "MOB_HAS_SCREENTIPS_NAME_OVERRIDE" = MOB_HAS_SCREENTIPS_NAME_OVERRIDE, +)) + DEFINE_BITFIELD(mob_respiration_type, list( "RESPIRATION_OXYGEN" = RESPIRATION_OXYGEN, "RESPIRATION_N2" = RESPIRATION_N2, @@ -560,6 +565,13 @@ DEFINE_BITFIELD(gun_flags, list( "TURRET_INCOMPATIBLE" = TURRET_INCOMPATIBLE, )) +DEFINE_BITFIELD(fish_flags, list( + "FISH_FLAG_SHOW_IN_CATALOG" = FISH_FLAG_SHOW_IN_CATALOG, + "FISH_DO_FLOP_ANIM" = FISH_DO_FLOP_ANIM, + "FISH_FLAG_PETTED" = FISH_FLAG_PETTED, + "FISH_FLAG_EXPERIMENT_SCANNABLE" = FISH_FLAG_EXPERIMENT_SCANNABLE, +)) + DEFINE_BITFIELD(bot_mode_flags, list( "POWER_ON" = BOT_MODE_ON, "AUTO_PATROL" = BOT_MODE_AUTOPATROL, diff --git a/code/_globalvars/lists/achievements.dm b/code/_globalvars/lists/achievements.dm index 283931f99847c..c788f070ad3b7 100644 --- a/code/_globalvars/lists/achievements.dm +++ b/code/_globalvars/lists/achievements.dm @@ -3,7 +3,7 @@ GLOBAL_LIST_EMPTY(commendations) GLOBAL_LIST_INIT(achievement_categories, list("Bosses", "Jobs", "Skills", "Misc", "Mafia", "Scores")) ///A list of sounds that can be played when unlocking an achievement, set in the preferences. GLOBAL_LIST_INIT(achievement_sounds, list( - CHEEVO_SOUND_PING = sound('sound/effects/glockenspiel_ping.ogg', volume = 70), - CHEEVO_SOUND_JINGLE = sound('sound/effects/beeps_jingle.ogg', volume = 70), - CHEEVO_SOUND_TADA = sound('sound/effects/tada_fanfare.ogg', volume = 30), + CHEEVO_SOUND_PING = sound('sound/effects/achievement/glockenspiel_ping.ogg', volume = 70), + CHEEVO_SOUND_JINGLE = sound('sound/effects/achievement/beeps_jingle.ogg', volume = 70), + CHEEVO_SOUND_TADA = sound('sound/effects/achievement/tada_fanfare.ogg', volume = 30), )) diff --git a/code/_globalvars/lists/ambience.dm b/code/_globalvars/lists/ambience.dm index 12a389cf081f8..24d765b71c183 100644 --- a/code/_globalvars/lists/ambience.dm +++ b/code/_globalvars/lists/ambience.dm @@ -1,167 +1,167 @@ GLOBAL_LIST_INIT(generic_ambience,list( - 'sound/ambience/ambigen1.ogg', - 'sound/ambience/ambigen2.ogg', - 'sound/ambience/ambigen3.ogg', - 'sound/ambience/ambigen4.ogg', - 'sound/ambience/ambigen5.ogg', - 'sound/ambience/ambigen6.ogg', - 'sound/ambience/ambigen7.ogg', - 'sound/ambience/ambigen8.ogg', - 'sound/ambience/ambigen9.ogg', - 'sound/ambience/ambigen10.ogg', - 'sound/ambience/ambigen11.ogg', - 'sound/ambience/ambigen13.ogg', - 'sound/ambience/ambigen14.ogg', + 'sound/ambience/general/ambigen1.ogg', + 'sound/ambience/general/ambigen2.ogg', + 'sound/ambience/general/ambigen3.ogg', + 'sound/ambience/general/ambigen4.ogg', + 'sound/ambience/general/ambigen5.ogg', + 'sound/ambience/general/ambigen6.ogg', + 'sound/ambience/general/ambigen7.ogg', + 'sound/ambience/general/ambigen8.ogg', + 'sound/ambience/general/ambigen9.ogg', + 'sound/ambience/general/ambigen10.ogg', + 'sound/ambience/general/ambigen11.ogg', + 'sound/ambience/general/ambigen13.ogg', + 'sound/ambience/general/ambigen14.ogg', )) GLOBAL_LIST_INIT(holy_ambience,list( - 'sound/ambience/ambicha1.ogg', - 'sound/ambience/ambicha2.ogg', - 'sound/ambience/ambicha3.ogg', - 'sound/ambience/ambicha4.ogg', - 'sound/ambience/ambiholy.ogg', - 'sound/ambience/ambiholy2.ogg', - 'sound/ambience/ambiholy3.ogg', + 'sound/ambience/holy/ambicha1.ogg', + 'sound/ambience/holy/ambicha2.ogg', + 'sound/ambience/holy/ambicha3.ogg', + 'sound/ambience/holy/ambicha4.ogg', + 'sound/ambience/holy/ambiholy.ogg', + 'sound/ambience/holy/ambiholy2.ogg', + 'sound/ambience/holy/ambiholy3.ogg', )) GLOBAL_LIST_INIT(danger_ambience,list( - 'sound/ambience/ambidanger.ogg', - 'sound/ambience/ambidanger2.ogg', + 'sound/ambience/misc/ambidanger.ogg', + 'sound/ambience/misc/ambidanger2.ogg', )) GLOBAL_LIST_INIT(ruins_ambience,list( - 'sound/ambience/ambicave.ogg', - 'sound/ambience/ambidanger.ogg', - 'sound/ambience/ambidanger2.ogg', - 'sound/ambience/ambimaint1.ogg', - 'sound/ambience/ambimine.ogg', - 'sound/ambience/ambimystery.ogg', - 'sound/ambience/ambiruin.ogg', - 'sound/ambience/ambiruin2.ogg', - 'sound/ambience/ambiruin3.ogg', - 'sound/ambience/ambiruin4.ogg', - 'sound/ambience/ambiruin5.ogg', - 'sound/ambience/ambiruin6.ogg', - 'sound/ambience/ambiruin7.ogg', - 'sound/ambience/ambitech3.ogg', + 'sound/ambience/lavaland/ambicave.ogg', + 'sound/ambience/misc/ambidanger.ogg', + 'sound/ambience/misc/ambidanger2.ogg', + 'sound/ambience/maintenance/ambimaint1.ogg', + 'sound/ambience/ruin/ambimine.ogg', + 'sound/ambience/misc/ambimystery.ogg', + 'sound/ambience/ruin/ambiruin.ogg', + 'sound/ambience/ruin/ambiruin2.ogg', + 'sound/ambience/ruin/ambiruin3.ogg', + 'sound/ambience/ruin/ambiruin4.ogg', + 'sound/ambience/ruin/ambiruin5.ogg', + 'sound/ambience/ruin/ambiruin6.ogg', + 'sound/ambience/ruin/ambiruin7.ogg', + 'sound/ambience/engineering/ambitech3.ogg', )) GLOBAL_LIST_INIT(engi_ambience,list( - 'sound/ambience/ambiatmos.ogg', - 'sound/ambience/ambiatmos2.ogg', - 'sound/ambience/ambisin1.ogg', - 'sound/ambience/ambisin2.ogg', - 'sound/ambience/ambisin3.ogg', - 'sound/ambience/ambisin4.ogg', - 'sound/ambience/ambitech.ogg', - 'sound/ambience/ambitech2.ogg', - 'sound/ambience/ambitech3.ogg', + 'sound/ambience/engineering/ambiatmos.ogg', + 'sound/ambience/engineering/ambiatmos2.ogg', + 'sound/ambience/engineering/ambisin1.ogg', + 'sound/ambience/engineering/ambisin2.ogg', + 'sound/ambience/engineering/ambisin3.ogg', + 'sound/ambience/engineering/ambisin4.ogg', + 'sound/ambience/engineering/ambitech.ogg', + 'sound/ambience/engineering/ambitech2.ogg', + 'sound/ambience/engineering/ambitech3.ogg', )) GLOBAL_LIST_INIT(mining_ambience, list( - 'sound/ambience/ambicave.ogg', - 'sound/ambience/ambidanger.ogg', - 'sound/ambience/ambidanger2.ogg', - 'sound/ambience/ambilava1.ogg', - 'sound/ambience/ambilava2.ogg', - 'sound/ambience/ambilava3.ogg', - 'sound/ambience/ambimaint1.ogg', - 'sound/ambience/ambimine.ogg', - 'sound/ambience/ambiruin.ogg', - 'sound/ambience/ambiruin2.ogg', - 'sound/ambience/ambiruin3.ogg', - 'sound/ambience/ambiruin4.ogg', - 'sound/ambience/ambiruin5.ogg', - 'sound/ambience/ambiruin6.ogg', - 'sound/ambience/ambiruin7.ogg', + 'sound/ambience/lavaland/ambicave.ogg', + 'sound/ambience/misc/ambidanger.ogg', + 'sound/ambience/misc/ambidanger2.ogg', + 'sound/ambience/lavaland/ambilava1.ogg', + 'sound/ambience/lavaland/ambilava2.ogg', + 'sound/ambience/lavaland/ambilava3.ogg', + 'sound/ambience/maintenance/ambimaint1.ogg', + 'sound/ambience/ruin/ambimine.ogg', + 'sound/ambience/ruin/ambiruin.ogg', + 'sound/ambience/ruin/ambiruin2.ogg', + 'sound/ambience/ruin/ambiruin3.ogg', + 'sound/ambience/ruin/ambiruin4.ogg', + 'sound/ambience/ruin/ambiruin5.ogg', + 'sound/ambience/ruin/ambiruin6.ogg', + 'sound/ambience/ruin/ambiruin7.ogg', )) GLOBAL_LIST_INIT(icemoon_ambience,list( - 'sound/ambience/ambiicetheme.ogg', - 'sound/ambience/ambiicemelody1.ogg', - 'sound/ambience/ambiicemelody2.ogg', - 'sound/ambience/ambiicemelody3.ogg', - 'sound/ambience/ambiicemelody4.ogg', - 'sound/ambience/ambiicesting1.ogg', - 'sound/ambience/ambiicesting2.ogg', - 'sound/ambience/ambiicesting3.ogg', - 'sound/ambience/ambiicesting4.ogg', - 'sound/ambience/ambiicesting5.ogg', + 'sound/ambience/icemoon/ambiicetheme.ogg', + 'sound/ambience/icemoon/ambiicemelody1.ogg', + 'sound/ambience/icemoon/ambiicemelody2.ogg', + 'sound/ambience/icemoon/ambiicemelody3.ogg', + 'sound/ambience/icemoon/ambiicemelody4.ogg', + 'sound/ambience/icemoon/ambiicesting1.ogg', + 'sound/ambience/icemoon/ambiicesting2.ogg', + 'sound/ambience/icemoon/ambiicesting3.ogg', + 'sound/ambience/icemoon/ambiicesting4.ogg', + 'sound/ambience/icemoon/ambiicesting5.ogg', )) GLOBAL_LIST_INIT(medical_ambience,list( - 'sound/ambience/ambinice.ogg', + 'sound/ambience/medical/ambinice.ogg', )) GLOBAL_LIST_INIT(virology_ambience,list( - 'sound/ambience/ambiviro.ogg', - 'sound/ambience/ambiviro1.ogg', - 'sound/ambience/ambiviro2.ogg', + 'sound/ambience/medical/ambiviro.ogg', + 'sound/ambience/medical/ambiviro1.ogg', + 'sound/ambience/medical/ambiviro2.ogg', )) GLOBAL_LIST_INIT(spooky_ambience,list( - 'sound/ambience/ambimo1.ogg', - 'sound/ambience/ambimo2.ogg', - 'sound/ambience/ambimystery.ogg', - 'sound/ambience/ambiodd.ogg', - 'sound/ambience/ambiruin6.ogg', - 'sound/ambience/ambiruin7.ogg', + 'sound/ambience/medical/ambimo1.ogg', + 'sound/ambience/medical/ambimo2.ogg', + 'sound/ambience/misc/ambimystery.ogg', + 'sound/ambience/misc/ambiodd.ogg', + 'sound/ambience/ruin/ambiruin6.ogg', + 'sound/ambience/ruin/ambiruin7.ogg', )) GLOBAL_LIST_INIT(space_ambience,list( - 'sound/ambience/ambiatmos.ogg', - 'sound/ambience/ambispace.ogg', - 'sound/ambience/ambispace2.ogg', - 'sound/ambience/ambispace3.ogg', - 'sound/ambience/ambispace4.ogg', - 'sound/ambience/ambispace5.ogg', - 'sound/ambience/ambispace6.ogg', - 'sound/ambience/title2.ogg', + 'sound/ambience/engineering/ambiatmos.ogg', + 'sound/ambience/space/ambispace.ogg', + 'sound/ambience/space/ambispace2.ogg', + 'sound/ambience/space/ambispace3.ogg', + 'sound/ambience/space/ambispace4.ogg', + 'sound/ambience/space/ambispace5.ogg', + 'sound/ambience/space/ambispace6.ogg', + 'sound/music/lobby_music/title2.ogg', )) GLOBAL_LIST_INIT(maint_ambience,list( - 'sound/ambience/ambimaint1.ogg', - 'sound/ambience/ambimaint2.ogg', - 'sound/ambience/ambimaint3.ogg', - 'sound/ambience/ambimaint4.ogg', - 'sound/ambience/ambimaint5.ogg', - 'sound/ambience/ambimaint6.ogg', - 'sound/ambience/ambimaint7.ogg', - 'sound/ambience/ambimaint8.ogg', - 'sound/ambience/ambimaint9.ogg', - 'sound/ambience/ambimaint10.ogg', - 'sound/ambience/ambimaint11.ogg', - 'sound/ambience/ambimaint12.ogg', - 'sound/ambience/ambitech2.ogg', - 'sound/voice/lowHiss1.ogg', - 'sound/voice/lowHiss2.ogg', - 'sound/voice/lowHiss3.ogg', - 'sound/voice/lowHiss4.ogg', - 'sound/ambience/maintambience.ogg', + 'sound/ambience/maintenance/ambimaint1.ogg', + 'sound/ambience/maintenance/ambimaint2.ogg', + 'sound/ambience/maintenance/ambimaint3.ogg', + 'sound/ambience/maintenance/ambimaint4.ogg', + 'sound/ambience/maintenance/ambimaint5.ogg', + 'sound/ambience/maintenance/ambimaint6.ogg', + 'sound/ambience/maintenance/ambimaint7.ogg', + 'sound/ambience/maintenance/ambimaint8.ogg', + 'sound/ambience/maintenance/ambimaint9.ogg', + 'sound/ambience/maintenance/ambimaint10.ogg', + 'sound/ambience/maintenance/ambimaint11.ogg', + 'sound/ambience/maintenance/ambimaint12.ogg', + 'sound/ambience/engineering/ambitech2.ogg', + 'sound/mobs/non-humanoids/hiss/lowHiss1.ogg', + 'sound/mobs/non-humanoids/hiss/lowHiss2.ogg', + 'sound/mobs/non-humanoids/hiss/lowHiss3.ogg', + 'sound/mobs/non-humanoids/hiss/lowHiss4.ogg', + 'sound/ambience/maintenance/maintambience.ogg', )) GLOBAL_LIST_INIT(away_ambience,list( - 'sound/ambience/ambiatmos.ogg', - 'sound/ambience/ambiatmos2.ogg', - 'sound/ambience/ambidanger.ogg', - 'sound/ambience/ambidanger2.ogg', - 'sound/ambience/ambimaint.ogg', - 'sound/ambience/ambiodd.ogg', - 'sound/ambience/ambiruin.ogg', - 'sound/ambience/ambiruin2.ogg', - 'sound/ambience/ambiruin3.ogg', - 'sound/ambience/ambiruin4.ogg', - 'sound/ambience/ambiruin5.ogg', - 'sound/ambience/ambiruin6.ogg', - 'sound/ambience/ambiruin7.ogg', - 'sound/ambience/ambitech.ogg', - 'sound/ambience/ambitech2.ogg', + 'sound/ambience/engineering/ambiatmos.ogg', + 'sound/ambience/engineering/ambiatmos2.ogg', + 'sound/ambience/misc/ambidanger.ogg', + 'sound/ambience/misc/ambidanger2.ogg', + 'sound/ambience/maintenance/ambimaint.ogg', + 'sound/ambience/misc/ambiodd.ogg', + 'sound/ambience/ruin/ambiruin.ogg', + 'sound/ambience/ruin/ambiruin2.ogg', + 'sound/ambience/ruin/ambiruin3.ogg', + 'sound/ambience/ruin/ambiruin4.ogg', + 'sound/ambience/ruin/ambiruin5.ogg', + 'sound/ambience/ruin/ambiruin6.ogg', + 'sound/ambience/ruin/ambiruin7.ogg', + 'sound/ambience/engineering/ambitech.ogg', + 'sound/ambience/engineering/ambitech2.ogg', )) GLOBAL_LIST_INIT(reebe_ambience,list( - 'sound/ambience/ambireebe1.ogg', - 'sound/ambience/ambireebe2.ogg', - 'sound/ambience/ambireebe3.ogg', + 'sound/ambience/misc/ambireebe1.ogg', + 'sound/ambience/misc/ambireebe2.ogg', + 'sound/ambience/misc/ambireebe3.ogg', )) GLOBAL_LIST_INIT(creepy_ambience,list( @@ -169,25 +169,25 @@ GLOBAL_LIST_INIT(creepy_ambience,list( 'sound/effects/ghost2.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/screech.ogg', - 'sound/hallucinations/behind_you1.ogg', - 'sound/hallucinations/behind_you2.ogg', - 'sound/hallucinations/far_noise.ogg', - 'sound/hallucinations/growl1.ogg', - 'sound/hallucinations/growl2.ogg', - 'sound/hallucinations/growl3.ogg', - 'sound/hallucinations/i_see_you1.ogg', - 'sound/hallucinations/i_see_you2.ogg', - 'sound/hallucinations/im_here1.ogg', - 'sound/hallucinations/im_here2.ogg', - 'sound/hallucinations/look_up1.ogg', - 'sound/hallucinations/look_up2.ogg', - 'sound/hallucinations/over_here1.ogg', - 'sound/hallucinations/over_here2.ogg', - 'sound/hallucinations/over_here3.ogg', - 'sound/hallucinations/turn_around1.ogg', - 'sound/hallucinations/turn_around2.ogg', - 'sound/hallucinations/veryfar_noise.ogg', - 'sound/hallucinations/wail.ogg', + 'sound/effects/hallucinations/behind_you1.ogg', + 'sound/effects/hallucinations/behind_you2.ogg', + 'sound/effects/hallucinations/far_noise.ogg', + 'sound/effects/hallucinations/growl1.ogg', + 'sound/effects/hallucinations/growl2.ogg', + 'sound/effects/hallucinations/growl3.ogg', + 'sound/effects/hallucinations/i_see_you1.ogg', + 'sound/effects/hallucinations/i_see_you2.ogg', + 'sound/effects/hallucinations/im_here1.ogg', + 'sound/effects/hallucinations/im_here2.ogg', + 'sound/effects/hallucinations/look_up1.ogg', + 'sound/effects/hallucinations/look_up2.ogg', + 'sound/effects/hallucinations/over_here1.ogg', + 'sound/effects/hallucinations/over_here2.ogg', + 'sound/effects/hallucinations/over_here3.ogg', + 'sound/effects/hallucinations/turn_around1.ogg', + 'sound/effects/hallucinations/turn_around2.ogg', + 'sound/effects/hallucinations/veryfar_noise.ogg', + 'sound/effects/hallucinations/wail.ogg', )) GLOBAL_LIST_INIT(ambience_assoc,list( diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 82cc3f1cf10b3..123deaa2518e5 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -134,22 +134,22 @@ GLOBAL_LIST_EMPTY(female_clothing_icons) GLOBAL_LIST_INIT(scarySounds, list( 'sound/effects/footstep/clownstep1.ogg', 'sound/effects/footstep/clownstep2.ogg', - 'sound/effects/glassbr1.ogg', - 'sound/effects/glassbr2.ogg', - 'sound/effects/glassbr3.ogg', - 'sound/items/welder.ogg', - 'sound/items/welder2.ogg', - 'sound/machines/airlock.ogg', - 'sound/voice/hiss1.ogg', - 'sound/voice/hiss2.ogg', - 'sound/voice/hiss3.ogg', - 'sound/voice/hiss4.ogg', - 'sound/voice/hiss5.ogg', - 'sound/voice/hiss6.ogg', - 'sound/weapons/armbomb.ogg', - 'sound/weapons/taser.ogg', - 'sound/weapons/thudswoosh.ogg', - 'sound/weapons/shove.ogg', + 'sound/effects/glass/glassbr1.ogg', + 'sound/effects/glass/glassbr2.ogg', + 'sound/effects/glass/glassbr3.ogg', + 'sound/items/tools/welder.ogg', + 'sound/items/tools/welder2.ogg', + 'sound/machines/airlock/airlock.ogg', + 'sound/mobs/non-humanoids/hiss/hiss1.ogg', + 'sound/mobs/non-humanoids/hiss/hiss2.ogg', + 'sound/mobs/non-humanoids/hiss/hiss3.ogg', + 'sound/mobs/non-humanoids/hiss/hiss4.ogg', + 'sound/mobs/non-humanoids/hiss/hiss5.ogg', + 'sound/mobs/non-humanoids/hiss/hiss6.ogg', + 'sound/items/weapons/armbomb.ogg', + 'sound/items/weapons/taser.ogg', + 'sound/items/weapons/thudswoosh.ogg', + 'sound/items/weapons/shove.ogg', )) diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 8a3697eaa4b56..dad143c4279db 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -10,6 +10,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_AI_PAUSED" = TRAIT_AI_PAUSED, "TRAIT_BANNED_FROM_CARGO_SHUTTLE" = TRAIT_BANNED_FROM_CARGO_SHUTTLE, "TRAIT_BEING_SHOCKED" = TRAIT_BEING_SHOCKED, + "TRAIT_CATCH_AND_RELEASE" = TRAIT_CATCH_AND_RELEASE, "TRAIT_COMMISSIONED" = TRAIT_COMMISSIONED, "TRAIT_CLIMBABLE" = TRAIT_CLIMBABLE, "TRAIT_CURRENTLY_CLEANING" = TRAIT_CURRENTLY_CLEANING, @@ -17,6 +18,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_DO_NOT_SPLASH" = TRAIT_DO_NOT_SPLASH, "TRAIT_DRIED" = TRAIT_DRIED, "TRAIT_DRYABLE" = TRAIT_DRYABLE, + "TRAIT_FISHING_SPOT" = TRAIT_FISHING_SPOT, "TRAIT_FOOD_CHEF_MADE" = TRAIT_FOOD_CHEF_MADE, "TRAIT_FOOD_FRIED" = TRAIT_FOOD_FRIED, "TRAIT_QUALITY_FOOD_INGREDIENT" = TRAIT_QUALITY_FOOD_INGREDIENT, @@ -29,6 +31,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SPINNING" = TRAIT_SPINNING, "TRAIT_STICKERED" = TRAIT_STICKERED, "TRAIT_UNHITTABLE_BY_PROJECTILES" = TRAIT_UNHITTABLE_BY_PROJECTILES, + "TRAIT_UNLINKABLE_FISHING_SPOT" = TRAIT_UNLINKABLE_FISHING_SPOT, ), /atom/movable = list( "TRAIT_ACTIVE_STORAGE" = TRAIT_ACTIVE_STORAGE, @@ -37,6 +40,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BLOCKING_EXPLOSIVES" = TRAIT_BLOCKING_EXPLOSIVES, "TRAIT_BOULDER_BREAKER" = TRAIT_BOULDER_BREAKER, "TRAIT_CASTABLE_LOC" = TRAIT_CASTABLE_LOC, + "TRAIT_CHASM_STOPPER" = TRAIT_CHASM_STOPPER, + "TRAIT_COMBAT_MODE_SKIP_INTERACTION" = TRAIT_COMBAT_MODE_SKIP_INTERACTION, "TRAIT_DEL_ON_SPACE_DUMP" = TRAIT_DEL_ON_SPACE_DUMP, "TRAIT_FISH_CASE_COMPATIBILE" = TRAIT_FISH_CASE_COMPATIBILE, "TRAIT_FROZEN" = TRAIT_FROZEN, @@ -50,28 +55,26 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_MOVE_FLYING" = TRAIT_MOVE_FLYING, "TRAIT_MOVE_GROUND" = TRAIT_MOVE_GROUND, "TRAIT_MOVE_PHASING" = TRAIT_MOVE_PHASING, - "TRAIT_MOVE_VENTCRAWLING" = TRAIT_MOVE_VENTCRAWLING, "TRAIT_MOVE_UPSIDE_DOWN" = TRAIT_MOVE_UPSIDE_DOWN, + "TRAIT_MOVE_VENTCRAWLING" = TRAIT_MOVE_VENTCRAWLING, + "TRAIT_NOT_ENGRAVABLE" = TRAIT_NOT_ENGRAVABLE, "TRAIT_NO_FLOATING_ANIM" = TRAIT_NO_FLOATING_ANIM, "TRAIT_NO_MANIFEST_CONTENTS_ERROR" = TRAIT_NO_MANIFEST_CONTENTS_ERROR, "TRAIT_NO_MISSING_ITEM_ERROR" = TRAIT_NO_MISSING_ITEM_ERROR, "TRAIT_NO_THROW_HITPUSH" = TRAIT_NO_THROW_HITPUSH, - "TRAIT_NOT_ENGRAVABLE" = TRAIT_NOT_ENGRAVABLE, - "TRAIT_SPELLS_TRANSFER_TO_LOC" = TRAIT_SPELLS_TRANSFER_TO_LOC, "TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT" = TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT, "TRAIT_ON_HIT_EFFECT" = TRAIT_ON_HIT_EFFECT, "TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN, "TRAIT_SCARY_FISHERMAN" = TRAIT_SCARY_FISHERMAN, "TRAIT_SECLUDED_LOCATION" = TRAIT_SECLUDED_LOCATION, "TRAIT_SNOWSTORM_IMMUNE" = TRAIT_SNOWSTORM_IMMUNE, + "TRAIT_SPELLS_TRANSFER_TO_LOC" = TRAIT_SPELLS_TRANSFER_TO_LOC, "TRAIT_TELEKINESIS_CONTROLLED" = TRAIT_TELEKINESIS_CONTROLLED, "TRAIT_UNDERFLOOR" = TRAIT_UNDERFLOOR, "TRAIT_UNIQUE_IMMERSE" = TRAIT_UNIQUE_IMMERSE, - "TRAIT_VOIDSTORM_IMMUNE" = TRAIT_VOIDSTORM_IMMUNE, - "TRAIT_WAS_RENAMED" = TRAIT_WAS_RENAMED, "TRAIT_WADDLING" = TRAIT_WADDLING, + "TRAIT_WAS_RENAMED" = TRAIT_WAS_RENAMED, "TRAIT_WEATHER_IMMUNE" = TRAIT_WEATHER_IMMUNE, - "TRAIT_CHASM_STOPPER" = TRAIT_CHASM_STOPPER, ), /datum/controller/subsystem/economy = list( "TRAIT_MARKET_CRASHING" = TRAIT_MARKET_CRASHING, @@ -123,7 +126,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_ABDUCTOR_TRAINING" = TRAIT_ABDUCTOR_TRAINING, "TRAIT_ACT_AS_CULTIST" = TRAIT_ACT_AS_CULTIST, "TRAIT_ACT_AS_HERETIC" = TRAIT_ACT_AS_HERETIC, - "TRAIT_ACTIVELY_FISHING" = TRAIT_ACTIVELY_FISHING, "TRAIT_ADAMANTINE_EXTRACT_ARMOR" = TRAIT_ADAMANTINE_EXTRACT_ARMOR, "TRAIT_ADVANCEDTOOLUSER" = TRAIT_ADVANCEDTOOLUSER, "TRAIT_AGENDER" = TRAIT_AGENDER, @@ -238,6 +240,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_FEARLESS" = TRAIT_FEARLESS, "TRAIT_FENCE_CLIMBER" = TRAIT_FENCE_CLIMBER, "TRAIT_FINGERPRINT_PASSTHROUGH" = TRAIT_FINGERPRINT_PASSTHROUGH, + "TRAIT_FISH_EATER" = TRAIT_FISH_EATER, "TRAIT_FIST_MINING" = TRAIT_FIST_MINING, "TRAIT_FIXED_MUTANT_COLORS" = TRAIT_FIXED_MUTANT_COLORS, "TRAIT_FLESH_DESIRE" = TRAIT_FLESH_DESIRE, @@ -257,7 +260,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_GARLIC_BREATH" = TRAIT_GARLIC_BREATH, "TRAIT_GENELESS" = TRAIT_GENELESS, "TRAIT_GIANT" = TRAIT_GIANT, - "TRAIT_GONE_FISHING" = TRAIT_GONE_FISHING, + "TRAIT_GODMODE" = TRAIT_GODMODE, "TRAIT_GOOD_HEARING" = TRAIT_GOOD_HEARING, "TRAIT_GRABWEAKNESS" = TRAIT_GRABWEAKNESS, "TRAIT_GREENTEXT_CURSED" = TRAIT_GREENTEXT_CURSED, @@ -282,6 +285,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HOT_SPRING_CURSED" = TRAIT_HOT_SPRING_CURSED, "TRAIT_HULK" = TRAIT_HULK, "TRAIT_HUSK" = TRAIT_HUSK, + "TRAIT_HYPOTHERMIC" = TRAIT_HYPOTHERMIC, "TRAIT_ID_APPRAISER" = TRAIT_ID_APPRAISER, "TRAIT_IGNORE_ELEVATION" = TRAIT_IGNORE_ELEVATION, "TRAIT_IGNORESLOWDOWN" = TRAIT_IGNORESLOWDOWN, @@ -522,6 +526,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_USER_SCOPED" = TRAIT_USER_SCOPED, "TRAIT_USES_SKINTONES" = TRAIT_USES_SKINTONES, "TRAIT_VATGROWN" = TRAIT_VATGROWN, + "TRAIT_VEGETARIAN" = TRAIT_VEGETARIAN, "TRAIT_VENTCRAWLER_ALWAYS" = TRAIT_VENTCRAWLER_ALWAYS, "TRAIT_VENTCRAWLER_NUDE" = TRAIT_VENTCRAWLER_NUDE, "TRAIT_VIRUSIMMUNE" = TRAIT_VIRUSIMMUNE, @@ -539,11 +544,15 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_XRAY_HEARING" = TRAIT_XRAY_HEARING, "TRAIT_XRAY_VISION" = TRAIT_XRAY_VISION, + "TRAIT_NOGRAV_ALWAYS_DRIFT" = TRAIT_NOGRAV_ALWAYS_DRIFT, "TRAIT_SPEECH_BOOSTER" = TRAIT_SPEECH_BOOSTER, "TRAIT_MINING_PARRYING" = TRAIT_MINING_PARRYING, + "TRAIT_ILLUSORY_EFFECT" = TRAIT_ILLUSORY_EFFECT, ), /obj/item = list( "TRAIT_APC_SHOCKING" = TRAIT_APC_SHOCKING, + "TRAIT_BAIT_ALLOW_FISHING_DUD" = TRAIT_BAIT_ALLOW_FISHING_DUD, + "TRAIT_BAIT_IGNORE_ENVIRONMENT" = TRAIT_BAIT_IGNORE_ENVIRONMENT, "TRAIT_BAIT_UNCONSUMABLE" = TRAIT_BAIT_UNCONSUMABLE, "TRAIT_BAKEABLE" = TRAIT_BAKEABLE, "TRAIT_BASIC_QUALITY_BAIT" = TRAIT_BASIC_QUALITY_BAIT, @@ -553,6 +562,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_CUSTOM_TAP_SOUND" = TRAIT_CUSTOM_TAP_SOUND, "TRAIT_DANGEROUS_OBJECT" = TRAIT_DANGEROUS_OBJECT, "TRAIT_FISHING_BAIT" = TRAIT_FISHING_BAIT, + "TRAIT_FOOD_BBQ_GRILLED" = TRAIT_FOOD_BBQ_GRILLED, "TRAIT_GERM_SENSITIVE" = TRAIT_GERM_SENSITIVE, "TRAIT_GOOD_QUALITY_BAIT" = TRAIT_GOOD_QUALITY_BAIT, "TRAIT_GREAT_QUALITY_BAIT" = TRAIT_GREAT_QUALITY_BAIT, @@ -573,6 +583,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_T_RAY_VISIBLE" = TRAIT_T_RAY_VISIBLE, "TRAIT_TRANSFORM_ACTIVE" = TRAIT_TRANSFORM_ACTIVE, "TRAIT_UNCATCHABLE" = TRAIT_UNCATCHABLE, + "TRAIT_UNCOMPOSTABLE" = TRAIT_UNCOMPOSTABLE, + "TRAIT_UNIQUE_AQUARIUM_CONTENT" = TRAIT_UNIQUE_AQUARIUM_CONTENT, "TRAIT_WIELDED" = TRAIT_WIELDED, ), /obj/item/ammo_casing = list( @@ -604,16 +616,23 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_FISH_FED_LUBE" = TRAIT_FISH_FED_LUBE, "TRAIT_FISH_FLOPPING" = TRAIT_FISH_FLOPPING, "TRAIT_FISH_FROM_CASE" = TRAIT_FISH_FROM_CASE, + "TRAIT_FISH_INK_ON_COOLDOWN" = TRAIT_FISH_INK_ON_COOLDOWN, "TRAIT_FISH_NO_HUNGER" = TRAIT_FISH_NO_HUNGER, "TRAIT_FISH_NO_MATING" = TRAIT_FISH_NO_MATING, "TRAIT_FISH_RECESSIVE" = TRAIT_FISH_RECESSIVE, "TRAIT_FISH_SELF_REPRODUCE" = TRAIT_FISH_SELF_REPRODUCE, + "TRAIT_FISH_SHOULD_TWOHANDED" = TRAIT_FISH_SHOULD_TWOHANDED, "TRAIT_FISH_STASIS" = TRAIT_FISH_STASIS, "TRAIT_FISH_STINGER" = TRAIT_FISH_STINGER, + "TRAIT_FISH_SURVIVE_COOKING" = TRAIT_FISH_SURVIVE_COOKING, "TRAIT_FISH_TOXIN_IMMUNE" = TRAIT_FISH_TOXIN_IMMUNE, "TRAIT_RESIST_EMULSIFY" = TRAIT_RESIST_EMULSIFY, + "TRAIT_FISH_WELL_COOKED" = TRAIT_FISH_WELL_COOKED, "TRAIT_YUCKY_FISH" = TRAIT_YUCKY_FISH, ), + /obj/item/fishing_rod = list( + "TRAIT_ROD_REMOVE_FISHING_DUD" = TRAIT_ROD_REMOVE_FISHING_DUD, + ), /obj/item/integrated_circuit = list( "TRAIT_CIRCUIT_UI_OPEN" = TRAIT_CIRCUIT_UI_OPEN, "TRAIT_CIRCUIT_UNDUPABLE" = TRAIT_CIRCUIT_UNDUPABLE, @@ -661,7 +680,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_CONTAINMENT_FIELD" = TRAIT_CONTAINMENT_FIELD, "TRAIT_ELEVATED_TURF" = TRAIT_ELEVATED_TURF, "TRAIT_FIREDOOR_STOP" = TRAIT_FIREDOOR_STOP, - "TRAIT_FISHING_SPOT" = TRAIT_FISHING_SPOT, "TRAIT_HYPERSPACE_STOPPED" = TRAIT_HYPERSPACE_STOPPED, "TRAIT_IMMERSE_STOPPED" = TRAIT_IMMERSE_STOPPED, "TRAIT_LAVA_STOPPED" = TRAIT_LAVA_STOPPED, diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index afb8709109832..335e35a7111ec 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -4,8 +4,9 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( /atom = list( - "TRAIT_UNHITTABLE_BY_PROJECTILES" = TRAIT_UNHITTABLE_BY_PROJECTILES, + "TRAIT_CATCH_AND_RELEASE" = TRAIT_CATCH_AND_RELEASE, "TRAIT_KEEP_TOGETHER" = TRAIT_KEEP_TOGETHER, + "TRAIT_UNHITTABLE_BY_PROJECTILES" = TRAIT_UNHITTABLE_BY_PROJECTILES, ), /atom/movable = list( "TRAIT_ASHSTORM_IMMUNE" = TRAIT_ASHSTORM_IMMUNE, @@ -20,7 +21,6 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN, "TRAIT_SCARY_FISHERMAN" = TRAIT_SCARY_FISHERMAN, "TRAIT_SNOWSTORM_IMMUNE" = TRAIT_SNOWSTORM_IMMUNE, - "TRAIT_VOIDSTORM_IMMUNE" = TRAIT_VOIDSTORM_IMMUNE, "TRAIT_WEATHER_IMMUNE" = TRAIT_WEATHER_IMMUNE, ), /mob = list( @@ -102,6 +102,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_FAT" = TRAIT_FAT, "TRAIT_FEARLESS" = TRAIT_FEARLESS, "TRAIT_FENCE_CLIMBER" = TRAIT_FENCE_CLIMBER, + "TRAIT_FISH_EATER" = TRAIT_FISH_EATER, "TRAIT_FIST_MINING" = TRAIT_FIST_MINING, "TRAIT_FIXED_MUTANT_COLORS" = TRAIT_FIXED_MUTANT_COLORS, "TRAIT_FLESH_DESIRE" = TRAIT_FLESH_DESIRE, @@ -118,6 +119,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_GARLIC_BREATH" = TRAIT_GARLIC_BREATH, "TRAIT_GENELESS" = TRAIT_GENELESS, "TRAIT_GIANT" = TRAIT_GIANT, + "TRAIT_GODMODE" = TRAIT_GODMODE, "TRAIT_GOOD_HEARING" = TRAIT_GOOD_HEARING, "TRAIT_GRABWEAKNESS" = TRAIT_GRABWEAKNESS, "TRAIT_GREENTEXT_CURSED" = TRAIT_GREENTEXT_CURSED, @@ -300,6 +302,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_UNSTABLE" = TRAIT_UNSTABLE, "TRAIT_USED_DNA_VAULT" = TRAIT_USED_DNA_VAULT, "TRAIT_USES_SKINTONES" = TRAIT_USES_SKINTONES, + "TRAIT_VEGETARIAN" = TRAIT_VEGETARIAN, "TRAIT_VENTCRAWLER_ALWAYS" = TRAIT_VENTCRAWLER_ALWAYS, "TRAIT_VENTCRAWLER_NUDE" = TRAIT_VENTCRAWLER_NUDE, "TRAIT_VIRUSIMMUNE" = TRAIT_VIRUSIMMUNE, @@ -339,16 +342,22 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_FISH_ELECTROGENESIS" = TRAIT_FISH_ELECTROGENESIS, "TRAIT_FISH_FED_LUBE" = TRAIT_FISH_FED_LUBE, "TRAIT_FISH_FROM_CASE" = TRAIT_FISH_FROM_CASE, + "TRAIT_FISH_INK_ON_COOLDOWN" = TRAIT_FISH_INK_ON_COOLDOWN, "TRAIT_FISH_NO_HUNGER" = TRAIT_FISH_NO_HUNGER, "TRAIT_FISH_NO_MATING" = TRAIT_FISH_NO_MATING, "TRAIT_FISH_RECESSIVE" = TRAIT_FISH_RECESSIVE, "TRAIT_FISH_SELF_REPRODUCE" = TRAIT_FISH_SELF_REPRODUCE, + "TRAIT_FISH_SHOULD_TWOHANDED" = TRAIT_FISH_SHOULD_TWOHANDED, "TRAIT_FISH_STASIS" = TRAIT_FISH_STASIS, "TRAIT_FISH_STINGER" = TRAIT_FISH_STINGER, + "TRAIT_FISH_SURVIVE_COOKING" = TRAIT_FISH_SURVIVE_COOKING, "TRAIT_FISH_TOXIN_IMMUNE" = TRAIT_FISH_TOXIN_IMMUNE, "TRAIT_RESIST_EMULSIFY" = TRAIT_RESIST_EMULSIFY, "TRAIT_YUCKY_FISH" = TRAIT_YUCKY_FISH, ), + /obj/item/fishing_rod = list( + "TRAIT_ROD_REMOVE_FISHING_DUD" = TRAIT_ROD_REMOVE_FISHING_DUD, + ), /obj/item/organ/internal/liver = list( "TRAIT_BALLMER_SCIENTIST" = TRAIT_BALLMER_SCIENTIST, "TRAIT_COMEDY_METABOLISM" = TRAIT_COMEDY_METABOLISM, diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 0c441ba928ee4..ff9a1fc54eb1b 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -400,15 +400,15 @@ mouse_opacity = MOUSE_OPACITY_OPAQUE screen_loc = "CENTER" -#define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / world.icon_size) -#define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose. +#define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / ICON_SIZE_ALL) +#define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose. //Ok well I trust you /atom/movable/screen/click_catcher/proc/UpdateGreed(view_size_x = 15, view_size_y = 15) var/icon/newicon = icon('icons/hud/screen_gen.dmi', "catcher") var/ox = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_x) var/oy = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_y) - var/px = view_size_x * world.icon_size - var/py = view_size_y * world.icon_size + var/px = view_size_x * ICON_SIZE_X + var/py = view_size_y * ICON_SIZE_Y var/sx = min(MAX_SAFE_BYOND_ICON_SCALE_PX, px) var/sy = min(MAX_SAFE_BYOND_ICON_SCALE_PX, py) newicon.Scale(sx, sy) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index d477195a603ab..5e4ee1e849dbb 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -435,7 +435,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." if(!QDELETED(rube) && !QDELETED(offerer)) offerer.visible_message(span_danger("[offerer] pulls away from [rube]'s slap at the last second, dodging the high-five entirely!"), span_nicegreen("[rube] fails to make contact with your hand, making an utter fool of [rube.p_them()]self!"), span_hear("You hear a disappointing sound of flesh not hitting flesh!"), ignored_mobs=rube) to_chat(rube, span_userdanger("[uppertext("NO! [offerer] PULLS [offerer.p_their()] HAND AWAY FROM YOURS! YOU'RE TOO SLOW!")]")) - playsound(offerer, 'sound/weapons/thudswoosh.ogg', 100, TRUE, 1) + playsound(offerer, 'sound/items/weapons/thudswoosh.ogg', 100, TRUE, 1) rube.Knockdown(1 SECONDS) offerer.add_mood_event("high_five", /datum/mood_event/down_low) rube.add_mood_event("high_five", /datum/mood_event/too_slow) diff --git a/code/_onclick/hud/alien.dm b/code/_onclick/hud/alien.dm index 476140acb1edd..b9a0e3bf655f4 100644 --- a/code/_onclick/hud/alien.dm +++ b/code/_onclick/hud/alien.dm @@ -59,14 +59,15 @@ H.leap_icon.screen_loc = ui_alien_storage_r static_inventory += H.leap_icon + floor_change = new /atom/movable/screen/floor_changer(null, src) + floor_change.icon = ui_style + floor_change.screen_loc = ui_above_intent + static_inventory += floor_change + using = new/atom/movable/screen/language_menu(null, src) using.screen_loc = ui_alien_language_menu static_inventory += using - using = new /atom/movable/screen/floor_menu(null, src) - using.screen_loc = ui_alien_floor_menu - static_inventory += using - using = new /atom/movable/screen/navigate(null, src) using.screen_loc = ui_alien_navigate_menu static_inventory += using diff --git a/code/_onclick/hud/alien_larva.dm b/code/_onclick/hud/alien_larva.dm index 77d135ce2c663..bb2b9fcb14aee 100644 --- a/code/_onclick/hud/alien_larva.dm +++ b/code/_onclick/hud/alien_larva.dm @@ -10,6 +10,11 @@ action_intent.screen_loc = ui_combat_toggle static_inventory += action_intent + floor_change = new /atom/movable/screen/floor_changer(null, src) + floor_change.icon = ui_style + floor_change.screen_loc = ui_above_intent + static_inventory += floor_change + healths = new /atom/movable/screen/healths/alien(null, src) infodisplay += healths @@ -32,10 +37,6 @@ using.screen_loc = ui_alien_language_menu static_inventory += using - using = new /atom/movable/screen/floor_menu(null, src) - using.screen_loc = ui_alien_floor_menu - static_inventory += using - using = new /atom/movable/screen/navigate(null, src) using.screen_loc = ui_alien_navigate_menu static_inventory += using diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm index c4650437c6396..2ce3923c88740 100644 --- a/code/_onclick/hud/credits.dm +++ b/code/_onclick/hud/credits.dm @@ -1,6 +1,6 @@ #define CREDIT_ROLL_SPEED 125 #define CREDIT_SPAWN_SPEED 10 -#define CREDIT_ANIMATE_HEIGHT (14 * world.icon_size) +#define CREDIT_ANIMATE_HEIGHT (14 * ICON_SIZE_Y) #define CREDIT_EASE_DURATION 22 #define CREDITS_PATH "[global.config.directory]/contributors.dmi" @@ -45,9 +45,9 @@ parent = P icon_state = credited maptext = MAPTEXT_PIXELLARI(credited) - maptext_x = world.icon_size + 8 - maptext_y = (world.icon_size / 2) - 4 - maptext_width = world.icon_size * 3 + maptext_x = ICON_SIZE_X + 8 + maptext_y = (ICON_SIZE_Y / 2) - 4 + maptext_width = ICON_SIZE_X * 3 var/matrix/M = matrix(transform) M.Translate(0, CREDIT_ANIMATE_HEIGHT) animate(src, transform = M, time = CREDIT_ROLL_SPEED) diff --git a/code/_onclick/hud/generic_dextrous.dm b/code/_onclick/hud/generic_dextrous.dm index aac5a2b75ccaa..4048fd91b16f6 100644 --- a/code/_onclick/hud/generic_dextrous.dm +++ b/code/_onclick/hud/generic_dextrous.dm @@ -33,6 +33,10 @@ action_intent.screen_loc = ui_combat_toggle static_inventory += action_intent + floor_change = new /atom/movable/screen/floor_changer(null, src) + floor_change.icon = 'icons/hud/screen_midnight.dmi' + static_inventory += floor_change + zone_select = new /atom/movable/screen/zone_sel(null, src) zone_select.icon = ui_style diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index e20c1ede2f663..9f90076a3ac71 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -91,10 +91,10 @@ using.icon = ui_style static_inventory += using - using = new /atom/movable/screen/floor_menu(null, src) - using.screen_loc = ui_ghost_floor_menu - using.icon = ui_style - static_inventory += using + floor_change = new /atom/movable/screen/floor_changer/vertical(null, src) + floor_change.icon = ui_style + floor_change.screen_loc = ui_ghost_floor_changer + static_inventory += floor_change /datum/hud/ghost/show_hud(version = 0, mob/viewmob) // don't show this HUD if observing; show the HUD of the observee diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 73497bf418ff1..2f15e52ff31f6 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -41,6 +41,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( var/atom/movable/screen/rest_icon var/atom/movable/screen/throw_icon var/atom/movable/screen/module_store_icon + var/atom/movable/screen/floor_change var/list/static_inventory = list() //the screen objects which are static var/list/toggleable_inventory = list() //the screen objects which can be hidden @@ -197,6 +198,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( SIGNAL_HANDLER update_parallax_pref() // If your eye changes z level, so should your parallax prefs var/turf/eye_turf = get_turf(eye) + SEND_SIGNAL(src, COMSIG_HUD_Z_CHANGED, eye_turf.z) var/new_offset = GET_TURF_PLANE_OFFSET(eye_turf) if(current_plane_offset == new_offset) return @@ -228,6 +230,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( zone_select = null pull_icon = null rest_icon = null + floor_change = null hand_slots.Cut() QDEL_LIST(toggleable_inventory) @@ -419,6 +422,11 @@ GLOBAL_LIST_INIT(available_ui_styles, list( return update_robot_modules_display() +/datum/hud/new_player/show_hud(version = 0, mob/viewmob) + . = ..() + if(.) + show_station_trait_buttons() + /datum/hud/proc/hidden_inventory_update() return @@ -541,7 +549,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( if(!our_client) position_action(button, button.linked_action.default_button_position) return - button.screen_loc = get_valid_screen_location(relative_to.screen_loc, world.icon_size, our_client.view_size.getView()) // Asks for a location adjacent to our button that won't overflow the map + button.screen_loc = get_valid_screen_location(relative_to.screen_loc, ICON_SIZE_ALL, our_client.view_size.getView()) // Asks for a location adjacent to our button that won't overflow the map button.location = relative_to.location @@ -705,14 +713,14 @@ GLOBAL_LIST_INIT(available_ui_styles, list( // We're primarially concerned about width here, if someone makes us 1x2000 I wish them a swift and watery death var/furthest_screen_loc = ButtonNumberToScreenCoords(column_max - 1) var/list/offsets = screen_loc_to_offset(furthest_screen_loc, owner_view) - if(offsets[1] > world.icon_size && offsets[1] < view_size[1] && offsets[2] > world.icon_size && offsets[2] < view_size[2]) // We're all good + if(offsets[1] > ICON_SIZE_X && offsets[1] < view_size[1] && offsets[2] > ICON_SIZE_Y && offsets[2] < view_size[2]) // We're all good return for(column_max in column_max - 1 to 1 step -1) // Yes I could do this by unwrapping ButtonNumberToScreenCoords, but I don't feel like it var/tested_screen_loc = ButtonNumberToScreenCoords(column_max) offsets = screen_loc_to_offset(tested_screen_loc, owner_view) // We've found a valid max length, pack it in - if(offsets[1] > world.icon_size && offsets[1] < view_size[1] && offsets[2] > world.icon_size && offsets[2] < view_size[2]) + if(offsets[1] > ICON_SIZE_X && offsets[1] < view_size[1] && offsets[2] > ICON_SIZE_Y && offsets[2] < view_size[2]) break // Use our newly resized column max refresh_actions() diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 5834a3973555c..0ab0f022ca22e 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -70,15 +70,16 @@ using.icon = ui_style static_inventory += using - using = new /atom/movable/screen/floor_menu(null, src) - using.icon = ui_style - static_inventory += using - action_intent = new /atom/movable/screen/combattoggle/flashy(null, src) action_intent.icon = ui_style action_intent.screen_loc = ui_combat_toggle static_inventory += action_intent + floor_change = new /atom/movable/screen/floor_changer(null, src) + floor_change.icon = ui_style + floor_change.screen_loc = ui_human_floor_changer + static_inventory += floor_change + using = new /atom/movable/screen/mov_intent(null, src) using.icon = ui_style diff --git a/code/_onclick/hud/living.dm b/code/_onclick/hud/living.dm index 70084b1ecd9c6..d70d2f7d55d39 100644 --- a/code/_onclick/hud/living.dm +++ b/code/_onclick/hud/living.dm @@ -15,6 +15,10 @@ action_intent.screen_loc = ui_combat_toggle static_inventory += action_intent + floor_change = new /atom/movable/screen/floor_changer(null, src) + floor_change.icon = 'icons/hud/screen_midnight.dmi' + static_inventory += floor_change + combo_display = new /atom/movable/screen/combo(null, src) infodisplay += combo_display diff --git a/code/_onclick/hud/map_popups.dm b/code/_onclick/hud/map_popups.dm index f0277d187ff4d..bf524b6c8d906 100644 --- a/code/_onclick/hud/map_popups.dm +++ b/code/_onclick/hud/map_popups.dm @@ -105,8 +105,8 @@ if(!popup_name) return clear_map("[popup_name]_map") - var/x_value = world.icon_size * tilesize * width - var/y_value = world.icon_size * tilesize * height + var/x_value = ICON_SIZE_X * tilesize * width + var/y_value = ICON_SIZE_Y * tilesize * height var/map_name = create_popup(popup_name, title, x_value, y_value) var/atom/movable/screen/background/background = new diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index 2910a9f0cc829..cac1be97ae688 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -37,8 +37,8 @@ var/client/our_client = usr.client var/list/offset = screen_loc_to_offset(LAZYACCESS(modifiers, SCREEN_LOC)) if(snap2grid) //Discard Pixel Values - offset[1] = FLOOR(offset[1], world.icon_size) // drops any pixel offset - offset[2] = FLOOR(offset[2], world.icon_size) // drops any pixel offset + offset[1] = FLOOR(offset[1], ICON_SIZE_X) // drops any pixel offset + offset[2] = FLOOR(offset[2], ICON_SIZE_Y) // drops any pixel offset else //Normalise Pixel Values (So the object drops at the center of the mouse, not 16 pixels off) offset[1] += x_off offset[2] += y_off diff --git a/code/_onclick/hud/new_player.dm b/code/_onclick/hud/new_player.dm index 371341aec0bf5..1c794b5566d2d 100644 --- a/code/_onclick/hud/new_player.dm +++ b/code/_onclick/hud/new_player.dm @@ -6,6 +6,7 @@ /datum/hud/new_player ///Whether the menu is currently on the client's screen or not var/menu_hud_status = TRUE + var/list/shown_station_trait_buttons /datum/hud/new_player/New(mob/owner) . = ..() @@ -26,31 +27,58 @@ if (!lobbyscreen.always_shown) lobbyscreen.RegisterSignal(src, COMSIG_HUD_LOBBY_COLLAPSED, TYPE_PROC_REF(/atom/movable/screen/lobby, collapse_button)) lobbyscreen.RegisterSignal(src, COMSIG_HUD_LOBBY_EXPANDED, TYPE_PROC_REF(/atom/movable/screen/lobby, expand_button)) - if (istype(lobbyscreen, /atom/movable/screen/lobby/button)) - var/atom/movable/screen/lobby/button/lobby_button = lobbyscreen - lobby_button.owner = REF(owner) - add_station_trait_buttons() -/// Display buttons for relevant station traits -/datum/hud/new_player/proc/add_station_trait_buttons() +/// Load and then display the buttons for relevant station traits +/datum/hud/new_player/proc/show_station_trait_buttons() if (!mymob?.client || mymob.client.interviewee || !length(GLOB.lobby_station_traits)) return - var/buttons_created = 0 - var/y_offset = 397 - var/y_button_offset = 27 for (var/datum/station_trait/trait as anything in GLOB.lobby_station_traits) - if (!trait.can_display_lobby_button(mymob.client)) + if (QDELETED(trait) || !trait.can_display_lobby_button(mymob.client)) + remove_station_trait_button(trait) + continue + if(LAZYACCESS(shown_station_trait_buttons, trait)) continue var/atom/movable/screen/lobby/button/sign_up/sign_up_button = new(our_hud = src) - sign_up_button.SlowInit() - sign_up_button.owner = REF(mymob) - sign_up_button.screen_loc = offset_to_screen_loc(233, y_offset, mymob.client.view) - y_offset += y_button_offset - static_inventory += sign_up_button trait.setup_lobby_button(sign_up_button) - buttons_created++ - if (buttons_created >= MAX_STATION_TRAIT_BUTTONS_VERTICAL) - return + static_inventory |= sign_up_button + LAZYSET(shown_station_trait_buttons, trait, sign_up_button) + RegisterSignal(trait, COMSIG_QDELETING, PROC_REF(remove_station_trait_button)) + + place_station_trait_buttons() + +/// Display the buttosn for relevant station traits. +/datum/hud/new_player/proc/place_station_trait_buttons() + if(hud_version != HUD_STYLE_STANDARD || !mymob?.client) + return + + var/y_offset = 397 + var/x_offset = 233 + var/y_button_offset = 27 + var/x_button_offset = -27 + var/iteration = 0 + for(var/trait in shown_station_trait_buttons) + var/atom/movable/screen/lobby/button/sign_up/sign_up_button = shown_station_trait_buttons[trait] + iteration++ + sign_up_button.screen_loc = offset_to_screen_loc(x_offset, y_offset, mymob.client.view) + mymob.client.screen |= sign_up_button + if (iteration >= MAX_STATION_TRAIT_BUTTONS_VERTICAL) + iteration = 0 + y_offset = 397 + x_offset += x_button_offset + else + y_offset += y_button_offset + +/// Remove a station trait button, then re-order the rest. +/datum/hud/new_player/proc/remove_station_trait_button(datum/station_trait/trait) + SIGNAL_HANDLER + var/atom/movable/screen/lobby/button/sign_up/button = LAZYACCESS(shown_station_trait_buttons, trait) + if(!button) + return + LAZYREMOVE(shown_station_trait_buttons, trait) + UnregisterSignal(trait, COMSIG_QDELETING) + static_inventory -= button + qdel(button) + place_station_trait_buttons() /atom/movable/screen/lobby plane = SPLASHSCREEN_PLANE @@ -94,11 +122,9 @@ var/enabled = TRUE ///Is the button currently being hovered over with the mouse? var/highlighted = FALSE - /// The ref of the mob that owns this button. Only the owner can click on it. - var/owner /atom/movable/screen/lobby/button/Click(location, control, params) - if(owner != REF(usr)) + if(usr != get_mob()) return if(!usr.client || usr.client.interviewee) @@ -113,7 +139,7 @@ return TRUE /atom/movable/screen/lobby/button/MouseEntered(location,control,params) - if(owner != REF(usr)) + if(usr != get_mob()) return if(!usr.client || usr.client.interviewee) @@ -124,7 +150,7 @@ update_appearance(UPDATE_ICON) /atom/movable/screen/lobby/button/MouseExited() - if(owner != REF(usr)) + if(usr != get_mob()) return if(!usr.client || usr.client.interviewee) diff --git a/code/_onclick/hud/parallax/parallax.dm b/code/_onclick/hud/parallax/parallax.dm index 135c3f0caef6e..ee266cd21e314 100644 --- a/code/_onclick/hud/parallax/parallax.dm +++ b/code/_onclick/hud/parallax/parallax.dm @@ -191,7 +191,7 @@ if(!offset_x && !offset_y && !force) return - var/glide_rate = round(world.icon_size / screenmob.glide_size * world.tick_lag, world.tick_lag) + var/glide_rate = round(ICON_SIZE_ALL / screenmob.glide_size * world.tick_lag, world.tick_lag) C.previous_turf = posobj var/largest_change = max(abs(offset_x), abs(offset_y)) @@ -297,8 +297,8 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_layer) /atom/movable/screen/parallax_layer/proc/update_o(view) if (!view) view = world.view - - var/static/parallax_scaler = world.icon_size / 480 + var/static/pixel_grid_size = ICON_SIZE_ALL * 15 + var/static/parallax_scaler = ICON_SIZE_ALL / pixel_grid_size // Turn the view size into a grid of correctly scaled overlays var/list/viewscales = getviewsize(view) @@ -311,8 +311,8 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_layer) if(x == 0 && y == 0) continue var/mutable_appearance/texture_overlay = mutable_appearance(icon, icon_state) - texture_overlay.pixel_w += 480 * x - texture_overlay.pixel_z += 480 * y + texture_overlay.pixel_w += pixel_grid_size * x + texture_overlay.pixel_z += pixel_grid_size * y new_overlays += texture_overlay cut_overlays() add_overlay(new_overlays) diff --git a/code/_onclick/hud/picture_in_picture.dm b/code/_onclick/hud/picture_in_picture.dm index b6ac49446fc80..f2cf8f4b21081 100644 --- a/code/_onclick/hud/picture_in_picture.dm +++ b/code/_onclick/hud/picture_in_picture.dm @@ -56,7 +56,7 @@ move_tab.icon_state = "move" move_tab.plane = HUD_PLANE var/matrix/M = matrix() - M.Translate(0, (height + 0.25) * world.icon_size) + M.Translate(0, (height + 0.25) * ICON_SIZE_Y) move_tab.transform = M add_overlay(move_tab) @@ -69,7 +69,7 @@ MA.plane = HUD_PLANE button_x.appearance = MA M = matrix() - M.Translate((max(4, width) - 0.75) * world.icon_size, (height + 0.25) * world.icon_size) + M.Translate((max(4, width) - 0.75) * ICON_SIZE_X, (height + 0.25) * ICON_SIZE_Y) button_x.transform = M vis_contents += button_x @@ -82,7 +82,7 @@ MA.plane = HUD_PLANE button_expand.appearance = MA M = matrix() - M.Translate(world.icon_size, (height + 0.25) * world.icon_size) + M.Translate(ICON_SIZE_X, (height + 0.25) * ICON_SIZE_Y) button_expand.transform = M vis_contents += button_expand @@ -95,7 +95,7 @@ MA.plane = HUD_PLANE button_shrink.appearance = MA M = matrix() - M.Translate(2 * world.icon_size, (height + 0.25) * world.icon_size) + M.Translate(2 * ICON_SIZE_X, (height + 0.25) * ICON_SIZE_Y) button_shrink.transform = M vis_contents += button_shrink @@ -103,7 +103,7 @@ if((width > 0) && (height > 0)) var/matrix/M = matrix() M.Scale(width + 0.5, height + 0.5) - M.Translate((width-1)/2 * world.icon_size, (height-1)/2 * world.icon_size) + M.Translate((width-1)/2 * ICON_SIZE_X, (height-1)/2 * ICON_SIZE_Y) standard_background.transform = M add_overlay(standard_background) @@ -115,7 +115,7 @@ src.width = width src.height = height - y_off = -height * world.icon_size - 16 + y_off = (-height * ICON_SIZE_Y) - (ICON_SIZE_Y / 2) cut_overlays() add_background() diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 3bd370120b3a4..ab95d3bb392eb 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -388,8 +388,8 @@ GLOBAL_LIST_EMPTY(radial_menus) if (user_space) var/turf/user_turf = get_turf(user) var/turf/anchor_turf = get_turf(anchor) - offset_x = (anchor_turf.x - user_turf.x) * world.icon_size + anchor.pixel_x - user.pixel_x - offset_y = (anchor_turf.y - user_turf.y) * world.icon_size + anchor.pixel_y - user.pixel_y + offset_x = (anchor_turf.x - user_turf.x) * ICON_SIZE_X + anchor.pixel_x - user.pixel_x + offset_y = (anchor_turf.y - user_turf.y) * ICON_SIZE_Y + anchor.pixel_y - user.pixel_y menu.show_to(user, offset_x, offset_y) menu.wait(user, anchor, require_near) var/answer = menu.selected_choice diff --git a/code/_onclick/hud/rendering/plane_master_group.dm b/code/_onclick/hud/rendering/plane_master_group.dm index 23096cc0e9ccd..4bed46f983f4a 100644 --- a/code/_onclick/hud/rendering/plane_master_group.dm +++ b/code/_onclick/hud/rendering/plane_master_group.dm @@ -24,10 +24,23 @@ build_plane_masters(0, SSmapping.max_plane_offset) /datum/plane_master_group/Destroy() - orphan_hud() + set_hud(null) QDEL_LIST_ASSOC_VAL(plane_masters) return ..() +/datum/plane_master_group/proc/set_hud(datum/hud/new_hud) + if(new_hud == our_hud) + return + if(our_hud) + our_hud.master_groups -= key + hide_hud() + our_hud = new_hud + if(new_hud) + our_hud.master_groups[key] = src + show_hud() + build_planes_offset(our_hud, active_offset) + SEND_SIGNAL(src, COMSIG_GROUP_HUD_CHANGED, our_hud) + /// Display a plane master group to some viewer, so show all our planes to it /datum/plane_master_group/proc/attach_to(datum/hud/viewing_hud) if(viewing_hud.master_groups[key]) @@ -42,18 +55,11 @@ relay_loc = "1,1" rebuild_plane_masters() - our_hud = viewing_hud + set_hud(viewing_hud) our_hud.master_groups[key] = src show_hud() build_planes_offset(our_hud, active_offset) -/// Hide the plane master from its current hud, fully clear it out -/datum/plane_master_group/proc/orphan_hud() - if(our_hud) - our_hud.master_groups -= key - hide_hud() - our_hud = null - /// Well, refresh our group, mostly useful for plane specific updates /datum/plane_master_group/proc/refresh_hud() hide_hud() 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 c96361348f0de..acfa5ee274ca2 100644 --- a/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm +++ b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm @@ -243,6 +243,18 @@ documentation = "Holds the areas themselves, which ends up meaning it holds any overlays/effects we apply to areas. NOT snow or rad storms, those go on above lighting" plane = AREA_PLANE +/atom/movable/screen/plane_master/weather + name = "Weather" + 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 + +/atom/movable/screen/plane_master/weather/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + /atom/movable/screen/plane_master/massive_obj name = "Massive object" documentation = "Huge objects need to render above everything else on the game plane, otherwise they'd well, get clipped and look not that huge. This does that." @@ -285,6 +297,18 @@ documentation = "Anything on the game plane that needs a space to draw on that will be above the lighting plane.\
Mostly little alerts and effects, also sometimes contains things that are meant to look as if they glow." +/atom/movable/screen/plane_master/weather_glow + name = "Weather Glow" + documentation = "Holds the glowing parts of the main tiling 32x32 sprites of weather." + plane = WEATHER_GLOW_PLANE + start_hidden = TRUE + +/atom/movable/screen/plane_master/weather_glow/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + /** * Handles emissive overlays and emissive blockers. */ diff --git a/code/_onclick/hud/rendering/render_plate.dm b/code/_onclick/hud/rendering/render_plate.dm index e4cdc41ca1cfb..66339c837d050 100644 --- a/code/_onclick/hud/rendering/render_plate.dm +++ b/code/_onclick/hud/rendering/render_plate.dm @@ -345,7 +345,7 @@ if(!.) return - RegisterSignal(mymob, COMSIG_MOB_SIGHT_CHANGE, PROC_REF(handle_sight)) + RegisterSignal(mymob, COMSIG_MOB_SIGHT_CHANGE, PROC_REF(handle_sight), override = TRUE) handle_sight(mymob, mymob.sight, NONE) /atom/movable/screen/plane_master/rendering_plate/light_mask/hide_from(mob/oldmob) diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index e2e534443691a..2d82bb0c1e6e8 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -87,11 +87,6 @@ using.screen_loc = ui_borg_navigate_menu static_inventory += using -// Z-level floor change - using = new /atom/movable/screen/floor_menu(null, src) - using.screen_loc = ui_borg_floor_menu - static_inventory += using - //Radio using = new /atom/movable/screen/robot/radio(null, src) using.screen_loc = ui_borg_radio @@ -149,6 +144,11 @@ action_intent.screen_loc = ui_combat_toggle static_inventory += action_intent + floor_change = new /atom/movable/screen/floor_changer(null, src) + floor_change.icon = ui_style + floor_change.screen_loc = ui_borg_floor_changer + static_inventory += floor_change + //Health healths = new /atom/movable/screen/healths/robot(null, src) infodisplay += healths diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index cb06e00d116ef..31390c62cbb91 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -160,33 +160,6 @@ /atom/movable/screen/language_menu/Click() usr.get_language_holder().open_language_menu(usr) -/atom/movable/screen/floor_menu - name = "change floor" - icon = 'icons/hud/screen_midnight.dmi' - icon_state = "floor_change" - screen_loc = ui_floor_menu - -/atom/movable/screen/floor_menu/Initialize(mapload) - . = ..() - register_context() - -/atom/movable/screen/floor_menu/add_context(atom/source, list/context, obj/item/held_item, mob/user) - . = ..() - - context[SCREENTIP_CONTEXT_LMB] = "Go up a floor" - context[SCREENTIP_CONTEXT_RMB] = "Go down a floor" - return CONTEXTUAL_SCREENTIP_SET - -/atom/movable/screen/floor_menu/Click(location,control,params) - var/list/modifiers = params2list(params) - - if(LAZYACCESS(modifiers, RIGHT_CLICK) || LAZYACCESS(modifiers, ALT_CLICK)) - usr.down() - return - - usr.up() - return - /atom/movable/screen/inventory /// The identifier for the slot. It has nothing to do with ID cards. var/slot_id @@ -380,6 +353,34 @@ icon = 'icons/hud/screen_cyborg.dmi' screen_loc = ui_borg_intents +/atom/movable/screen/floor_changer + name = "change floor" + icon = 'icons/hud/screen_midnight.dmi' + icon_state = "floor_change" + screen_loc = ui_floor_changer + var/vertical = FALSE + +/atom/movable/screen/floor_changer/Click(location,control,params) + var/list/modifiers = params2list(params) + + var/mouse_position + + if(vertical) + mouse_position = text2num(LAZYACCESS(modifiers, ICON_Y)) + else + mouse_position = text2num(LAZYACCESS(modifiers, ICON_X)) + + if(mouse_position > 16) + usr.up() + return + + usr.down() + return + +/atom/movable/screen/floor_changer/vertical + icon_state = "floor_change_v" + vertical = TRUE + /atom/movable/screen/spacesuit name = "Space suit cell status" icon_state = "spacesuit_0" diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 5af9b7e016156..e7c4ef3e06790 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -214,7 +214,7 @@ return FALSE if(!force && !HAS_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND)) - playsound(src, 'sound/weapons/tap.ogg', get_clamped_volume(), TRUE, -1) + playsound(src, 'sound/items/weapons/tap.ogg', get_clamped_volume(), TRUE, -1) else if(hitsound) playsound(src, hitsound, get_clamped_volume(), TRUE, extrarange = stealthy_audio ? SILENCED_SOUND_EXTRARANGE : -1, falloff_distance = 0) diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 964459aea68d4..e1ed3284441f6 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -313,13 +313,13 @@ /datum/config_entry/string/banappeals /datum/config_entry/string/wikiurl - default = "http://www.tgstation13.org/wiki" + default = "http://tgstation13.org/wiki" /datum/config_entry/string/forumurl default = "http://tgstation13.org/phpBB/index.php" /datum/config_entry/string/rulesurl - default = "http://www.tgstation13.org/wiki/Rules" + default = "http://tgstation13.org/wiki/Rules" /datum/config_entry/string/githuburl default = "https://www.github.com/tgstation/tgstation" @@ -738,3 +738,27 @@ /datum/config_entry/number/upload_limit_admin default = 5242880 min_val = 0 + +/// The minimum number of tallies a map vote entry can have. +/datum/config_entry/number/map_vote_minimum_tallies + default = 1 + min_val = 0 + max_val = 50 + +/// The flat amount all maps get by default +/datum/config_entry/number/map_vote_flat_bonus + default = 5 + min_val = 0 + max_val = INFINITY + +/// The maximum number of tallies a map vote entry can have. +/datum/config_entry/number/map_vote_maximum_tallies + default = 200 + min_val = 0 + max_val = INFINITY + +/// The number of tallies that are carried over between rounds. +/datum/config_entry/number/map_vote_tally_carryover_percentage + default = 100 + min_val = 0 + max_val = 100 diff --git a/code/controllers/subsystem/ai_controllers.dm b/code/controllers/subsystem/ai_controllers.dm index 30d3c4986f2a2..49c571a9a0763 100644 --- a/code/controllers/subsystem/ai_controllers.dm +++ b/code/controllers/subsystem/ai_controllers.dm @@ -23,14 +23,12 @@ SUBSYSTEM_DEF(ai_controllers) /datum/controller/subsystem/ai_controllers/fire(resumed) var/timer = TICK_USAGE_REAL for(var/datum/ai_controller/ai_controller as anything in GLOB.ai_controllers_by_status[planning_status]) - if(!COOLDOWN_FINISHED(ai_controller, failed_planning_cooldown)) - continue - - if(!ai_controller.able_to_plan()) + if(!ai_controller.able_to_plan) continue ai_controller.SelectBehaviors(wait * 0.1) - if(!LAZYLEN(ai_controller.current_behaviors)) //Still no plan - COOLDOWN_START(ai_controller, failed_planning_cooldown, AI_FAILED_PLANNING_COOLDOWN) + + if(!length(ai_controller.current_behaviors)) //Still no plan + ai_controller.planning_failed() our_cost = MC_AVERAGE(our_cost, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 4557e153db190..bbc21becc0f3b 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -488,29 +488,26 @@ SUBSYSTEM_DEF(air) T.excited = FALSE ///Adds a turf to active processing, handles duplicates. Call this with blockchanges == TRUE if you want to nuke the assoc excited group -/datum/controller/subsystem/air/proc/add_to_active(turf/open/T, blockchanges = FALSE) - if(istype(T) && T.air) - T.significant_share_ticker = 0 - if(blockchanges && T.excited_group) //This is used almost exclusivly for shuttles, so the excited group doesn't stay behind - T.excited_group.garbage_collect() //Nuke it - if(T.excited) //Don't keep doing it if there's no point +/datum/controller/subsystem/air/proc/add_to_active(turf/open/activate, blockchanges = FALSE) + if(istype(activate) && activate.air) + activate.significant_share_ticker = 0 + if(blockchanges && activate.excited_group) //This is used almost exclusivly for shuttles, so the excited group doesn't stay behind + activate.excited_group.garbage_collect() //Nuke it + if(activate.excited) //Don't keep doing it if there's no point return #ifdef VISUALIZE_ACTIVE_TURFS - T.add_atom_colour(COLOR_VIBRANT_LIME, TEMPORARY_COLOUR_PRIORITY) + activate.add_atom_colour(COLOR_VIBRANT_LIME, TEMPORARY_COLOUR_PRIORITY) #endif - T.excited = TRUE - active_turfs += T - if(currentpart == SSAIR_ACTIVETURFS) - currentrun += T - else if(T.flags_1 & INITIALIZED_1) - for(var/turf/S in T.atmos_adjacent_turfs) - add_to_active(S, TRUE) + activate.excited = TRUE + active_turfs += activate + else if(activate.flags_1 & INITIALIZED_1) + for(var/turf/neighbor as anything in activate.atmos_adjacent_turfs) + add_to_active(neighbor, TRUE) else if(map_loading) if(queued_for_activation) - queued_for_activation[T] = T - return + queued_for_activation[activate] = activate else - T.requires_activation = TRUE + activate.requires_activation = TRUE /datum/controller/subsystem/air/StartLoadingMap() LAZYINITLIST(queued_for_activation) @@ -560,8 +557,8 @@ SUBSYSTEM_DEF(air) if(enemy_tile.current_cycle == -INFINITE) continue // .air instead of .return_air() because we can guarantee that the proc won't do anything - if(potential_diff.air.compare(enemy_tile.air)) - //testing("Active turf found. Return value of compare(): [T.air.compare(enemy_tile.air)]") + if(potential_diff.air.compare(enemy_tile.air, MOLES)) + //testing("Active turf found. Return value of compare(): [T.air.compare(enemy_tile.air, MOLES)]") if(!potential_diff.excited) potential_diff.excited = TRUE SSair.active_turfs += potential_diff diff --git a/code/controllers/subsystem/ambience.dm b/code/controllers/subsystem/ambience.dm index 7258b0b16e948..87f088a41ea13 100644 --- a/code/controllers/subsystem/ambience.dm +++ b/code/controllers/subsystem/ambience.dm @@ -70,16 +70,16 @@ SUBSYSTEM_DEF(ambience) ///A list of rare sound effects to fuck with players. No, it does not contain actual minecraft sounds anymore. var/static/list/minecraft_cave_noises = list( - 'sound/machines/airlock.ogg', + 'sound/machines/airlock/airlock.ogg', 'sound/effects/snap.ogg', 'sound/effects/footstep/clownstep1.ogg', 'sound/effects/footstep/clownstep2.ogg', - 'sound/items/welder.ogg', - 'sound/items/welder2.ogg', - 'sound/items/crowbar.ogg', + 'sound/items/tools/welder.ogg', + 'sound/items/tools/welder2.ogg', + 'sound/items/tools/crowbar.ogg', 'sound/items/deconstruct.ogg', - 'sound/ambience/source_holehit3.ogg', - 'sound/ambience/cavesound3.ogg', + 'sound/ambience/misc/source_holehit3.ogg', + 'sound/ambience//misc/cavesound3.ogg', ) /area/station/maintenance/play_ambience(mob/M, sound/override_sound, volume) diff --git a/code/controllers/subsystem/bitrunning.dm b/code/controllers/subsystem/bitrunning.dm index 78afb101945b0..63c2561f0f496 100644 --- a/code/controllers/subsystem/bitrunning.dm +++ b/code/controllers/subsystem/bitrunning.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(bitrunning) var/can_view_reward = domain.difficulty < (scanner_tier + 1) && domain.cost <= points + 3 UNTYPED_LIST_ADD(levels, list( - "announce_ghosts"= domain.announce_to_ghosts, + "announce_ghosts" = domain.announce_to_ghosts, "cost" = domain.cost, "desc" = can_view ? domain.desc : "Limited scanning capabilities. Cannot infer domain details.", "difficulty" = domain.difficulty, diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 18ba37eb13785..83c666de64ac4 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -357,7 +357,7 @@ Versioning "z_coord" = L.z, "last_words" = L.last_words, "suicide" = did_they_suicide, - "map" = SSmapping.config.map_name, + "map" = SSmapping.current_map.map_name, "internet_address" = world.internet_address || "0", "port" = "[world.port]", "round_id" = GLOB.round_id, diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm index 56fcaac27fcb2..27db0ad9ea8af 100644 --- a/code/controllers/subsystem/dynamic/dynamic.dm +++ b/code/controllers/subsystem/dynamic/dynamic.dm @@ -532,7 +532,7 @@ SUBSYSTEM_DEF(dynamic) var/security = 0 // BANDASTATION EDIT - Force players to play Sec - SSjob.DivideOccupations(pure = TRUE, allow_all = TRUE) + SSjob.divide_occupations(pure = TRUE, allow_all = TRUE) for(var/i in GLOB.new_player_list) var/mob/dead/new_player/player = i if(player.ready == PLAYER_READY_TO_PLAY && player.mind && player.check_preferences()) @@ -551,7 +551,7 @@ SUBSYSTEM_DEF(dynamic) if(player.mind?.assigned_role?.departments_list?.Find(/datum/job_department/security)) security++ // BANDASTATION EDIT END - SSjob.ResetOccupations() + SSjob.reset_occupations() log_dynamic("Listing [roundstart_rules.len] round start rulesets, and [candidates.len] players ready.") if (candidates.len <= 0) log_dynamic("[candidates.len] candidates.") @@ -1038,7 +1038,7 @@ SUBSYSTEM_DEF(dynamic) var/list/reopened_jobs = list() for(var/mob/living/quitter in GLOB.suicided_mob_list) - var/datum/job/job = SSjob.GetJob(quitter.job) + var/datum/job/job = SSjob.get_job(quitter.job) if(!job || !(job.job_flags & JOB_REOPEN_ON_ROUNDSTART_LOSS)) continue if(!include_command && job.departments_bitflags & DEPARTMENT_BITFLAG_COMMAND) diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets.dm index c77cce50d0157..0d3242a4d17b2 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets.dm @@ -283,7 +283,7 @@ if(length(exclusive_roles)) var/exclusive_candidate = FALSE for(var/role in exclusive_roles) - var/datum/job/job = SSjob.GetJob(role) + var/datum/job/job = SSjob.get_job(role) if((role in candidate_client.prefs.job_preferences) && SSjob.check_job_eligibility(candidate_player, job, "Dynamic Roundstart TC", add_job_to_log = TRUE) == JOB_AVAILABLE) exclusive_candidate = TRUE diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm index 3476702e741ed..4d182febb07e5 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm @@ -413,7 +413,7 @@ return ..() /datum/dynamic_ruleset/midround/from_ghosts/nuclear/finish_setup(mob/new_character, index) - new_character.mind.set_assigned_role(SSjob.GetJobType(/datum/job/nuclear_operative)) + new_character.mind.set_assigned_role(SSjob.get_job_type(/datum/job/nuclear_operative)) new_character.mind.special_role = ROLE_NUCLEAR_OPERATIVE if(index == 1) var/datum/antagonist/nukeop/leader/leader_antag_datum = new() @@ -572,12 +572,12 @@ var/mob/living/carbon/human/new_nightmare = new (find_maintenance_spawn(atmos_sensitive = TRUE, require_darkness = TRUE)) player_mind.transfer_to(new_nightmare) - player_mind.set_assigned_role(SSjob.GetJobType(/datum/job/nightmare)) + player_mind.set_assigned_role(SSjob.get_job_type(/datum/job/nightmare)) player_mind.special_role = ROLE_NIGHTMARE player_mind.add_antag_datum(/datum/antagonist/nightmare) new_nightmare.set_species(/datum/species/shadow/nightmare) - playsound(new_nightmare, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) + playsound(new_nightmare, 'sound/effects/magic/ethereal_exit.ogg', 50, TRUE, -1) message_admins("[ADMIN_LOOKUPFLW(new_nightmare)] has been made into a Nightmare by the midround ruleset.") log_dynamic("[key_name(new_nightmare)] was spawned as a Nightmare by the midround ruleset.") return new_nightmare @@ -618,7 +618,7 @@ player_mind.transfer_to(S) player_mind.add_antag_datum(/datum/antagonist/space_dragon) - playsound(S, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) + playsound(S, 'sound/effects/magic/ethereal_exit.ogg', 50, TRUE, -1) message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a Space Dragon by the midround ruleset.") log_dynamic("[key_name(S)] was spawned as a Space Dragon by the midround ruleset.") priority_announce("A large organic energy flux has been recorded near of [station_name()], please stand-by.", "Lifesign Alert") @@ -930,7 +930,7 @@ new_datum.original_ref = WEAKREF(clone_victim.mind) new_datum.setup_clone() - playsound(clone, 'sound/weapons/zapbang.ogg', 30, TRUE) + playsound(clone, 'sound/items/weapons/zapbang.ogg', 30, TRUE) new /obj/item/storage/toolbox/mechanical(clone.loc) //so they dont get stuck in maints message_admins("[ADMIN_LOOKUPFLW(clone)] has been made into a Paradox Clone by the midround ruleset.") @@ -991,11 +991,11 @@ var/mob/living/carbon/human/voidwalker = new (space_turf) player_mind.transfer_to(voidwalker) - player_mind.set_assigned_role(SSjob.GetJobType(/datum/job/voidwalker)) + player_mind.set_assigned_role(SSjob.get_job_type(/datum/job/voidwalker)) player_mind.special_role = antag_flag player_mind.add_antag_datum(antag_datum) - playsound(voidwalker, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) + playsound(voidwalker, 'sound/effects/magic/ethereal_exit.ogg', 50, TRUE, -1) message_admins("[ADMIN_LOOKUPFLW(voidwalker)] has been made into a Voidwalker by the midround ruleset.") log_dynamic("[key_name(voidwalker)] was spawned as a Voidwalker by the midround ruleset.") return voidwalker diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm index 999cd156b18d8..79eedc0adb8d7 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm @@ -63,7 +63,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) flags = HIGH_IMPACT_RULESET /datum/dynamic_ruleset/roundstart/malf_ai/ready(forced) - var/datum/job/ai_job = SSjob.GetJobType(/datum/job/ai) + var/datum/job/ai_job = SSjob.get_job_type(/datum/job/ai) // If we're not forced, we're going to make sure we can actually have an AI in this shift, if(!forced && min(ai_job.total_positions - ai_job.current_positions, ai_job.spawn_positions) <= 0) @@ -75,7 +75,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) /datum/dynamic_ruleset/roundstart/malf_ai/pre_execute(population) . = ..() - var/datum/job/ai_job = SSjob.GetJobType(/datum/job/ai) + var/datum/job/ai_job = SSjob.get_job_type(/datum/job/ai) // Maybe a bit too pedantic, but there should never be more malf AIs than there are available positions, spawn positions or antag cap allocations. var/num_malf = min(get_antag_cap(population), min(ai_job.total_positions - ai_job.current_positions, ai_job.spawn_positions)) for (var/i in 1 to num_malf) @@ -296,7 +296,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) var/mob/M = pick_n_take(candidates) if (M) assigned += M.mind - M.mind.set_assigned_role(SSjob.GetJobType(/datum/job/space_wizard)) + M.mind.set_assigned_role(SSjob.get_job_type(/datum/job/space_wizard)) M.mind.special_role = ROLE_WIZARD return TRUE @@ -429,7 +429,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) break var/mob/M = pick_n_take(candidates) assigned += M.mind - M.mind.set_assigned_role(SSjob.GetJobType(job_type)) + M.mind.set_assigned_role(SSjob.get_job_type(job_type)) M.mind.special_role = required_role return TRUE diff --git a/code/controllers/subsystem/explosions.dm b/code/controllers/subsystem/explosions.dm index 7bb597ba30e12..20194e66626ca 100644 --- a/code/controllers/subsystem/explosions.dm +++ b/code/controllers/subsystem/explosions.dm @@ -352,7 +352,7 @@ ADMIN_VERB(check_bomb_impacts, R_DEBUG, "Check Bomb Impact", "See what the effec who_did_it = "\[Projectile firer: [ADMIN_LOOKUPFLW(fired_projectile.firer)]\]" who_did_it_game_log = "\[Projectile firer: [key_name(fired_projectile.firer)]\]" else - who_did_it = "\[Projectile firer: [ADMIN_LOOKUPFLW(fired_projectile.firer.fingerprintslast)]\]" + who_did_it = "\[Projectile firer: [ADMIN_LOOKUPFLW(fired_projectile.firer?.fingerprintslast)]\]" who_did_it_game_log = "\[Projectile firer: [key_name(fired_projectile.firer.fingerprintslast)]\]" // Otherwise if the explosion cause is an atom, try get the fingerprints. else if(istype(explosion_cause)) @@ -521,7 +521,7 @@ ADMIN_VERB(check_bomb_impacts, R_DEBUG, "Check Bomb Impact", "See what the effec * - [creaking_sound][/sound]: The sound that plays when the station creaks during the explosion. * - [hull_creaking_sound][/sound]: The sound that plays when the station creaks after the explosion. */ -/datum/controller/subsystem/explosions/proc/shake_the_room(turf/epicenter, near_distance, far_distance, quake_factor, echo_factor, creaking, sound/near_sound = sound(get_sfx(SFX_EXPLOSION)), sound/far_sound = sound('sound/effects/explosionfar.ogg'), sound/echo_sound = sound('sound/effects/explosion_distant.ogg'), sound/creaking_sound = sound(get_sfx(SFX_EXPLOSION_CREAKING)), hull_creaking_sound = sound(get_sfx(SFX_HULL_CREAKING))) +/datum/controller/subsystem/explosions/proc/shake_the_room(turf/epicenter, near_distance, far_distance, quake_factor, echo_factor, creaking, sound/near_sound = sound(get_sfx(SFX_EXPLOSION)), sound/far_sound = sound('sound/effects/explosion/explosionfar.ogg'), sound/echo_sound = sound('sound/effects/explosion/explosion_distant.ogg'), sound/creaking_sound = sound(get_sfx(SFX_EXPLOSION_CREAKING)), hull_creaking_sound = sound(get_sfx(SFX_HULL_CREAKING))) var/frequency = get_rand_frequency() var/blast_z = epicenter.z if(isnull(creaking)) // Autoset creaking. diff --git a/code/controllers/subsystem/id_access.dm b/code/controllers/subsystem/id_access.dm index b80e5718128bd..93b823f18b595 100644 --- a/code/controllers/subsystem/id_access.dm +++ b/code/controllers/subsystem/id_access.dm @@ -409,6 +409,12 @@ SUBSYSTEM_DEF(id_access) if(trim.assignment) id_card.assignment = trim.assignment + var/datum/job/trim_job = trim.find_job() + if (!isnull(id_card.registered_account)) + var/datum/job/old_job = id_card.registered_account.account_job + id_card.registered_account.account_job = trim_job + id_card.registered_account.update_account_job_lists(trim_job, old_job) + id_card.update_label() id_card.update_icon() diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index b1629237dc6bf..08c1df969003f 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -22,7 +22,7 @@ SUBSYSTEM_DEF(job) var/list/unassigned = list() //Players who need jobs var/initial_players_to_assign = 0 //used for checking against population caps - // Whether to run DivideOccupations pure so that there are no side-effects from calling it other than + // Whether to run divide_occupations pure so that there are no side-effects from calling it other than // a player's assigned_role being set to some value. var/run_divide_occupation_pure = FALSE @@ -31,7 +31,7 @@ SUBSYSTEM_DEF(job) var/overflow_role = /datum/job/assistant - var/list/level_order = list(JP_HIGH,JP_MEDIUM,JP_LOW) + var/list/level_order = list(JP_HIGH, JP_MEDIUM, JP_LOW) /// Lazylist of mob:occupation_string pairs. var/list/dynamic_forced_occupations @@ -88,7 +88,7 @@ SUBSYSTEM_DEF(job) setup_job_lists() job_config_datum_singletons = generate_config_singletons() // we set this up here regardless in case someone wants to use the verb to generate the config file. if(!length(all_occupations)) - SetupOccupations() + setup_occupations() if(CONFIG_GET(flag/load_jobs_from_txt)) load_jobs_from_config() set_overflow_role(CONFIG_GET(string/overflow_job)) // this must always go after load_jobs_from_config() due to how the legacy systems operate, this always takes precedent. @@ -108,9 +108,9 @@ SUBSYSTEM_DEF(job) return overflow_jobs /datum/controller/subsystem/job/proc/set_overflow_role(new_overflow_role) - var/datum/job/new_overflow = ispath(new_overflow_role) ? GetJobType(new_overflow_role) : GetJob(new_overflow_role) + var/datum/job/new_overflow = ispath(new_overflow_role) ? get_job_type(new_overflow_role) : get_job(new_overflow_role) if(!new_overflow) - JobDebug("Failed to set new overflow role: [new_overflow_role]") + job_debug("SET_OVRFLW: Failed to set new overflow role: [new_overflow_role]") CRASH("set_overflow_role failed | new_overflow_role: [isnull(new_overflow_role) ? "null" : new_overflow_role]") var/cap = CONFIG_GET(number/overflow_cap) @@ -121,17 +121,16 @@ SUBSYSTEM_DEF(job) if(new_overflow.type == overflow_role) return - var/datum/job/old_overflow = GetJobType(overflow_role) + var/datum/job/old_overflow = get_job_type(overflow_role) old_overflow.allow_bureaucratic_error = initial(old_overflow.allow_bureaucratic_error) old_overflow.spawn_positions = initial(old_overflow.spawn_positions) old_overflow.total_positions = initial(old_overflow.total_positions) if(!(initial(old_overflow.job_flags) & JOB_CANNOT_OPEN_SLOTS)) old_overflow.job_flags &= ~JOB_CANNOT_OPEN_SLOTS overflow_role = new_overflow.type - JobDebug("Overflow role set to : [new_overflow.type]") + job_debug("SET_OVRFLW: Overflow role set to: [new_overflow.type]") - -/datum/controller/subsystem/job/proc/SetupOccupations() +/datum/controller/subsystem/job/proc/setup_occupations() name_occupations = list() type_occupations = list() @@ -205,20 +204,20 @@ SUBSYSTEM_DEF(job) return TRUE -/datum/controller/subsystem/job/proc/GetJob(rank) +/datum/controller/subsystem/job/proc/get_job(rank) if(!length(all_occupations)) - SetupOccupations() + setup_occupations() return name_occupations[rank] -/datum/controller/subsystem/job/proc/GetJobType(jobtype) +/datum/controller/subsystem/job/proc/get_job_type(jobtype) RETURN_TYPE(/datum/job) if(!length(all_occupations)) - SetupOccupations() + setup_occupations() return type_occupations[jobtype] /datum/controller/subsystem/job/proc/get_department_type(department_type) if(!length(all_occupations)) - SetupOccupations() + setup_occupations() return joinable_departments_by_type[department_type] /** @@ -230,89 +229,92 @@ SUBSYSTEM_DEF(job) * * latejoin - Set to TRUE if this is a latejoin role assignment. * * do_eligibility_checks - Set to TRUE to conduct all job eligibility tests and reject on failure. Set to FALSE if job eligibility has been tested elsewhere and they can be safely skipped. */ -/datum/controller/subsystem/job/proc/AssignRole(mob/dead/new_player/player, datum/job/job, latejoin = FALSE, do_eligibility_checks = TRUE) - JobDebug("Running AR, Player: [player], Job: [isnull(job) ? "null" : job], LateJoin: [latejoin]") +/datum/controller/subsystem/job/proc/assign_role(mob/dead/new_player/player, datum/job/job, latejoin = FALSE, do_eligibility_checks = TRUE) + job_debug("AR: Running, Player: [player], Job: [isnull(job) ? "null" : job], LateJoin: [latejoin]") if(!player?.mind || !job) - JobDebug("AR has failed, player has no mind or job is null, Player: [player], Rank: [isnull(job) ? "null" : job.type]") + job_debug("AR: Failed, player has no mind or job is null. Player: [player], Rank: [isnull(job) ? "null" : job.type]") return FALSE if(do_eligibility_checks && (check_job_eligibility(player, job, "AR", add_job_to_log = TRUE) != JOB_AVAILABLE)) return FALSE - JobDebug("Player: [player] is now Rank: [job.title], JCP:[job.current_positions], JPL:[latejoin ? job.total_positions : job.spawn_positions]") + job_debug("AR: Role now set and assigned - [player] is [job.title], JCP:[job.current_positions], JPL:[latejoin ? job.total_positions : job.spawn_positions]") player.mind.set_assigned_role(job) unassigned -= player job.current_positions++ return TRUE -/datum/controller/subsystem/job/proc/FindOccupationCandidates(datum/job/job, level) - JobDebug("Running FOC, Job: [job], Level: [job_priority_level_to_string(level)]") +/datum/controller/subsystem/job/proc/find_occupation_candidates(datum/job/job, level = 0) + job_debug("FOC: Now running, Job: [job], Level: [job_priority_level_to_string(level)]") var/list/candidates = list() for(var/mob/dead/new_player/player in unassigned) if(!player) - JobDebug("FOC player no longer exists.") + job_debug("FOC: Player no longer exists.") continue + if(!player.client) - JobDebug("FOC player client no longer exists, Player: [player]") + job_debug("FOC: Player client no longer exists, Player: [player]") continue + // Initial screening check. Does the player even have the job enabled, if they do - Is it at the correct priority level? var/player_job_level = player.client?.prefs.job_preferences[job.title] if(isnull(player_job_level)) - JobDebug("FOC player job not enabled, Player: [player]") + job_debug("FOC: Player job not enabled, Player: [player]") continue - else if(player_job_level != level) - JobDebug("FOC player job enabled at wrong level, Player: [player], TheirLevel: [job_priority_level_to_string(player_job_level)], ReqLevel: [job_priority_level_to_string(level)]") + + if(level && (player_job_level != level)) + job_debug("FOC: Player job enabled at wrong level, Player: [player], TheirLevel: [job_priority_level_to_string(player_job_level)], ReqLevel: [job_priority_level_to_string(level)]") continue - // This check handles its own output to JobDebug. + // This check handles its own output to job_debug. if(check_job_eligibility(player, job, "FOC", add_job_to_log = FALSE) != JOB_AVAILABLE) continue // They have the job enabled, at this priority level, with no restrictions applying to them. - JobDebug("FOC pass, Player: [player], Level: [job_priority_level_to_string(level)]") + job_debug("FOC: Player eligible, Player: [player], Level: [job_priority_level_to_string(level)]") candidates += player return candidates -/datum/controller/subsystem/job/proc/GiveRandomJob(mob/dead/new_player/player) - JobDebug("GRJ Giving random job, Player: [player]") +/datum/controller/subsystem/job/proc/give_random_job(mob/dead/new_player/player) + job_debug("GRJ: Giving random job, Player: [player]") . = FALSE for(var/datum/job/job as anything in shuffle(joinable_occupations)) if(QDELETED(player)) - JobDebug("GRJ player is deleted, aborting") + job_debug("GRJ: Player is deleted, aborting") break if((job.current_positions >= job.spawn_positions) && job.spawn_positions != -1) - JobDebug("GRJ job lacks spawn positions to be eligible, Player: [player], Job: [job]") + job_debug("GRJ: Job lacks spawn positions to be eligible, Player: [player], Job: [job]") continue - if(istype(job, GetJobType(overflow_role))) // We don't want to give him assistant, that's boring! - JobDebug("GRJ skipping overflow role, Player: [player], Job: [job]") + if(istype(job, get_job_type(overflow_role))) // We don't want to give him assistant, that's boring! + job_debug("GRJ: Skipping overflow role, Player: [player], Job: [job]") continue if(job.departments_bitflags & DEPARTMENT_BITFLAG_COMMAND) //If you want a command position, select it! - JobDebug("GRJ skipping command role, Player: [player], Job: [job]") + job_debug("GRJ: Skipping command role, Player: [player], Job: [job]") continue - // This check handles its own output to JobDebug. + // This check handles its own output to job_debug. if(check_job_eligibility(player, job, "GRJ", add_job_to_log = TRUE) != JOB_AVAILABLE) continue - if(AssignRole(player, job, do_eligibility_checks = FALSE)) - JobDebug("GRJ Random job given, Player: [player], Job: [job]") + if(assign_role(player, job, do_eligibility_checks = FALSE)) + job_debug("GRJ: Random job given, Player: [player], Job: [job]") return TRUE - JobDebug("GRJ Player eligible but AssignRole failed, Player: [player], Job: [job]") + job_debug("GRJ: Player eligible but assign_role failed, Player: [player], Job: [job]") -/datum/controller/subsystem/job/proc/ResetOccupations() - JobDebug("Occupations reset.") +/datum/controller/subsystem/job/proc/reset_occupations() + job_debug("RO: Occupations reset.") for(var/mob/dead/new_player/player as anything in GLOB.new_player_list) if(!player?.mind) continue - player.mind.set_assigned_role(GetJobType(/datum/job/unassigned)) + player.mind.set_assigned_role(get_job_type(/datum/job/unassigned)) player.mind.special_role = null - SetupOccupations() + setup_occupations() unassigned = list() if(CONFIG_GET(flag/load_jobs_from_txt)) // Any errors with the configs has already been said, we don't need to repeat them here. @@ -321,12 +323,11 @@ SUBSYSTEM_DEF(job) return -/** - * Will try to select a head, ignoring ALL non-head preferences for every level until. - * - * Basically tries to ensure there is at least one head in every shift if anyone has that job preference enabled at all. +/* + * Forces a random Head of Staff role to be assigned to a random eligible player. + * Returns TRUE if a player was selected and assigned the role. FALSE otherwise. */ -/datum/controller/subsystem/job/proc/FillHeadPosition() +/datum/controller/subsystem/job/proc/force_one_head_assignment() var/datum/job_department/command_department = get_department_type(/datum/job_department/command) if(!command_department) return FALSE @@ -334,60 +335,73 @@ SUBSYSTEM_DEF(job) for(var/datum/job/job as anything in command_department.department_jobs) if((job.current_positions >= job.total_positions) && job.total_positions != -1) continue - var/list/candidates = FindOccupationCandidates(job, level) + var/list/candidates = find_occupation_candidates(job, level) if(!candidates.len) continue var/mob/dead/new_player/candidate = pick(candidates) - // Eligibility checks done as part of FindOccupationCandidates. - if(AssignRole(candidate, job, do_eligibility_checks = FALSE)) + // Eligibility checks done as part of find_occupation_candidates. + if(assign_role(candidate, job, do_eligibility_checks = FALSE)) return TRUE return FALSE /** * Attempts to fill out all possible head positions for players with that job at a a given job priority level. + * Returns the number of Head positions assigned. * * Arguments: - * * level - One of the JP_LOW, JP_MEDIUM or JP_HIGH defines. Attempts to find candidates with head jobs at this priority only. + * * level - One of the JP_LOW, JP_MEDIUM, JP_HIGH or JP_ANY defines. Attempts to find candidates with head jobs at that priority only. */ -/datum/controller/subsystem/job/proc/CheckHeadPositions(level) +/datum/controller/subsystem/job/proc/fill_all_head_positions_at_priority(level) + . = 0 var/datum/job_department/command_department = get_department_type(/datum/job_department/command) + if(!command_department) - return + return . + for(var/datum/job/job as anything in command_department.department_jobs) if((job.current_positions >= job.total_positions) && job.total_positions != -1) continue - var/list/candidates = FindOccupationCandidates(job, level) + + var/list/candidates = find_occupation_candidates(job, level) if(!candidates.len) continue + var/mob/dead/new_player/candidate = pick(candidates) - // Eligibility checks done as part of FindOccupationCandidates - AssignRole(candidate, job, do_eligibility_checks = FALSE) + + // Eligibility checks done as part of find_occupation_candidates() above. + if(!assign_role(candidate, job, do_eligibility_checks = FALSE)) + continue + + .++ + + if((job.current_positions >= job.spawn_positions) && job.spawn_positions != -1) + job_debug("JOBS: Command Job is now full, Job: [job], Positions: [job.current_positions], Limit: [job.spawn_positions]") /// Attempts to fill out all available AI positions. /datum/controller/subsystem/job/proc/fill_ai_positions() - var/datum/job/ai_job = GetJob(JOB_AI) + var/datum/job/ai_job = get_job(JOB_AI) if(!ai_job) return // In byond for(in to) loops, the iteration is inclusive so we need to stop at ai_job.total_positions - 1 for(var/i in ai_job.current_positions to ai_job.total_positions - 1) for(var/level in level_order) var/list/candidates = list() - candidates = FindOccupationCandidates(ai_job, level) + candidates = find_occupation_candidates(ai_job, level) if(candidates.len) var/mob/dead/new_player/candidate = pick(candidates) - // Eligibility checks done as part of FindOccupationCandidates - if(AssignRole(candidate, GetJobType(/datum/job/ai), do_eligibility_checks = FALSE)) + // Eligibility checks done as part of find_occupation_candidates + if(assign_role(candidate, get_job_type(/datum/job/ai), do_eligibility_checks = FALSE)) break -/** Proc DivideOccupations +/** Proc divide_occupations * fills var "assigned_role" for all ready players. * This proc must not have any side effect besides of modifying "assigned_role". **/ -/datum/controller/subsystem/job/proc/DivideOccupations(pure = FALSE, allow_all = FALSE) +/datum/controller/subsystem/job/proc/divide_occupations(pure = FALSE, allow_all = FALSE) //Setup new player list and get the jobs list - JobDebug("Running DO, allow_all = [allow_all], pure = [pure]") + job_debug("DO: Running, allow_all = [allow_all], pure = [pure]") run_divide_occupation_pure = pure SEND_SIGNAL(src, COMSIG_OCCUPATIONS_DIVIDED, pure, allow_all) @@ -397,162 +411,175 @@ SUBSYSTEM_DEF(job) if(player.ready == PLAYER_READY_TO_PLAY && player.check_preferences() && player.mind && is_unassigned_job(player.mind.assigned_role)) unassigned += player - initial_players_to_assign = unassigned.len + initial_players_to_assign = length(unassigned) - JobDebug("DO, Len: [unassigned.len]") + job_debug("DO: Player count to assign roles to: [initial_players_to_assign]") //Scale number of open security officer slots to population setup_officer_positions() //Jobs will have fewer access permissions if the number of players exceeds the threshold defined in game_options.txt - var/mat = CONFIG_GET(number/minimal_access_threshold) - if(mat) - if(mat > unassigned.len) + var/min_access_threshold = CONFIG_GET(number/minimal_access_threshold) + if(min_access_threshold) + if(min_access_threshold > initial_players_to_assign) CONFIG_SET(flag/jobs_have_minimal_access, FALSE) else CONFIG_SET(flag/jobs_have_minimal_access, TRUE) - //Shuffle players and jobs - unassigned = shuffle(unassigned) + //Shuffle player list. + shuffle_inplace(unassigned) - HandleFeedbackGathering() + handle_feedback_gathering() - // Dynamic has picked a ruleset that requires enforcing some jobs before others. - JobDebug("DO, Assigning Priority Positions: [length(dynamic_forced_occupations)]") + // Assign any priority positions before all other standard job selections. + job_debug("DO: Assigning priority positions") assign_priority_positions() + job_debug("DO: Priority assignment complete") + + // The overflow role has limitless slots, plus having the Overflow box ticked in prefs should (with one exception) set the priority to JP_HIGH. + // So everyone with overflow enabled will get that job. Thus we can assign it immediately to all players that have it enabled. + job_debug("DO: Assigning early overflow roles") + assign_all_overflow_positions() + job_debug("DO: Early overflow roles assigned.") + + // At this point we can assume the following: + // From assign_priority_positions() + // 1. If possible, any necessary job roles to allow Dynamic rulesets to execute (such as an AI for malf AI) are satisfied. + // 2. All Head of Staff roles with any player pref set to JP_HIGH are filled out. + // 3. If any player not selected by the above has any Head of Staff preference enabled at any JP_ level, there is at least one Head of Staff. + // + // From assign_all_overflow_positions() + // 4. Anyone with the overflow role enabled has been given the overflow role. + + // Copy the joinable occupation list and filter out ineligible occupations due to above job assignments. + var/list/available_occupations = joinable_occupations.Copy() + var/datum/job_department/command_department = get_department_type(/datum/job_department/command) - //People who wants to be the overflow role, sure, go on. - JobDebug("DO, Running Overflow Check 1") - var/datum/job/overflow_datum = GetJobType(overflow_role) - var/list/overflow_candidates = FindOccupationCandidates(overflow_datum, JP_LOW) - JobDebug("AC1, Candidates: [overflow_candidates.len]") - for(var/mob/dead/new_player/player in overflow_candidates) - JobDebug("AC1 pass, Player: [player]") - // Eligibility checks done as part of FindOccupationCandidates - AssignRole(player, GetJobType(overflow_role), do_eligibility_checks = FALSE) - overflow_candidates -= player - JobDebug("DO, AC1 end") - - //Select one head - JobDebug("DO, Running Head Check") - FillHeadPosition() - JobDebug("DO, Head Check end") - - // Fill out any remaining AI positions. - JobDebug("DO, Running AI Check") - fill_ai_positions() - JobDebug("DO, AI Check end") + for(var/datum/job/job in available_occupations) + // Make sure the job isn't filled. If it is, remove it from the list so it doesn't get checked. + if((job.current_positions >= job.spawn_positions) && job.spawn_positions != -1) + job_debug("DO: Job is now filled, Job: [job], Current: [job.current_positions], Limit: [job.spawn_positions]") + available_occupations -= job + continue - //Other jobs are now checked - JobDebug("DO, Running standard job assignment") - // New job giving system by Donkie - // This will cause lots of more loops, but since it's only done once it shouldn't really matter much at all. - // Hopefully this will add more randomness and fairness to job giving. + // Command jobs are handled via fill_all_head_positions_at_priority(...) + // Remove these jobs from the list of available occupations to prevent multiple players being assigned to the same + // limited role without constantly having to iterate over the available_occupations list and re-check them. + if(job in command_department?.department_jobs) + available_occupations -= job + + job_debug("DO: Running standard job assignment") - // Loop through all levels from high to low - var/list/shuffledoccupations = shuffle(joinable_occupations) for(var/level in level_order) - //Check the head jobs first each level - CheckHeadPositions(level) + job_debug("JOBS: Filling in head roles, Level: [job_priority_level_to_string(level)]") + // Fill the head jobs first each level + fill_all_head_positions_at_priority(level) // Loop through all unassigned players for(var/mob/dead/new_player/player in unassigned) if(!allow_all) - if(PopcapReached()) - RejectPlayer(player) - - // Loop through all jobs - for(var/datum/job/job in shuffledoccupations) // SHUFFLE ME BABY - if(!job) - JobDebug("FOC invalid/null job in occupations, Player: [player], Job: [job]") - shuffledoccupations -= job - continue + if(popcap_reached()) + job_debug("JOBS: Popcap reached, trying to reject player: [player]") + try_reject_player(player) - // Make sure the job isn't filled. If it is, remove it from the list so it doesn't get checked again. - if((job.current_positions >= job.spawn_positions) && job.spawn_positions != -1) - JobDebug("FOC job filled and not overflow, Player: [player], Job: [job], Current: [job.current_positions], Limit: [job.spawn_positions]") - shuffledoccupations -= job - continue + job_debug("JOBS: Finding a job for player: [player], at job priority pref: [job_priority_level_to_string(level)]") + // Loop through all jobs and build a list of jobs this player could be eligible for. + var/list/possible_jobs = list() + for(var/datum/job/job in available_occupations) // Filter any job that doesn't fit the current level. var/player_job_level = player.client?.prefs.job_preferences[job.title] if(isnull(player_job_level)) - JobDebug("FOC player job not enabled, Player: [player]") + job_debug("JOBS: Job not enabled, Job: [job]") continue - else if(player_job_level != level) - JobDebug("FOC player job enabled but at different level, Player: [player], TheirLevel: [job_priority_level_to_string(player_job_level)], ReqLevel: [job_priority_level_to_string(level)]") + if(player_job_level != level) + job_debug("JOBS: Job enabled at different priority pref, Job: [job], TheirLevel: [job_priority_level_to_string(player_job_level)], ReqLevel: [job_priority_level_to_string(level)]") continue - if(check_job_eligibility(player, job, "DO", add_job_to_log = TRUE) != JOB_AVAILABLE) + if(check_job_eligibility(player, job, "JOBS", add_job_to_log = TRUE) != JOB_AVAILABLE) continue - JobDebug("DO pass, Player: [player], Level:[level], Job:[job.title]") - AssignRole(player, job, do_eligibility_checks = FALSE) - unassigned -= player - break + possible_jobs += job + + // If there are no possible jobs for them at this priority, skip them. + if(!length(possible_jobs)) + job_debug("JOBS: Player not eligible for any available jobs at this priority level: [player]") + continue + + // Otherwise, pick one of those jobs at random. + var/datum/job/picked_job = pick(possible_jobs) - JobDebug("DO, Ending standard job assignment") + job_debug("JOBS: Now assigning role to player: [player], Job:[picked_job.title]") + assign_role(player, picked_job, do_eligibility_checks = FALSE) + if((picked_job.current_positions >= picked_job.spawn_positions) && picked_job.spawn_positions != -1) + job_debug("JOBS: Job is now full, Job: [picked_job], Positions: [picked_job.current_positions], Limit: [picked_job.spawn_positions]") + available_occupations -= picked_job - JobDebug("DO, Handle unassigned.") - // Hand out random jobs to the people who didn't get any in the last check - // Also makes sure that they got their preference correct + job_debug("DO: Ending standard job assignment") + + job_debug("DO: Handle unassigned") + // For any players that didn't get a job, fall back on their pref setting for what to do. for(var/mob/dead/new_player/player in unassigned) - HandleUnassigned(player, allow_all) - JobDebug("DO, Ending handle unassigned.") + handle_unassigned(player, allow_all) + job_debug("DO: Ending handle unassigned") - JobDebug("DO, Handle unrejectable unassigned") + job_debug("DO: Handle unrejectable unassigned") //Mop up people who can't leave. for(var/mob/dead/new_player/player in unassigned) //Players that wanted to back out but couldn't because they're antags (can you feel the edge case?) - if(!GiveRandomJob(player)) - if(!AssignRole(player, GetJobType(overflow_role))) //If everything is already filled, make them an assistant - JobDebug("DO, Forced antagonist could not be assigned any random job or the overflow role. DivideOccupations failed.") - JobDebug("---------------------------------------------------") + if(!give_random_job(player)) + if(!assign_role(player, get_job_type(overflow_role))) //If everything is already filled, make them an assistant + job_debug("DO: Forced antagonist could not be assigned any random job or the overflow role. divide_occupations failed.") + job_debug("---------------------------------------------------") run_divide_occupation_pure = FALSE return FALSE //Living on the edge, the forced antagonist couldn't be assigned to overflow role (bans, client age) - just reroll - JobDebug("DO, Ending handle unrejectable unassigned") + job_debug("DO: Ending handle unrejectable unassigned") - JobDebug("All divide occupations tasks completed.") - JobDebug("---------------------------------------------------") + job_debug("All divide occupations tasks completed.") + job_debug("---------------------------------------------------") run_divide_occupation_pure = FALSE return TRUE //We couldn't find a job from prefs for this guy. -/datum/controller/subsystem/job/proc/HandleUnassigned(mob/dead/new_player/player, allow_all = FALSE) +/datum/controller/subsystem/job/proc/handle_unassigned(mob/dead/new_player/player, allow_all = FALSE) var/jobless_role = player.client.prefs.read_preference(/datum/preference/choiced/jobless_role) if(!allow_all) - if(PopcapReached()) - RejectPlayer(player) + if(popcap_reached()) + job_debug("HU: Popcap reached, trying to reject player: [player]") + try_reject_player(player) return switch (jobless_role) if (BEOVERFLOW) - var/datum/job/overflow_role_datum = GetJobType(overflow_role) + var/datum/job/overflow_role_datum = get_job_type(overflow_role) if(check_job_eligibility(player, overflow_role_datum, debug_prefix = "HU", add_job_to_log = TRUE) != JOB_AVAILABLE) - RejectPlayer(player) + job_debug("HU: Player cannot be overflow, trying to reject: [player]") + try_reject_player(player) return - if(!AssignRole(player, overflow_role_datum, do_eligibility_checks = FALSE)) - RejectPlayer(player) + if(!assign_role(player, overflow_role_datum, do_eligibility_checks = FALSE)) + job_debug("HU: Player could not be assigned overflow role, trying to reject: [player]") + try_reject_player(player) return if (BERANDOMJOB) - if(!GiveRandomJob(player)) - RejectPlayer(player) + if(!give_random_job(player)) + job_debug("HU: Player cannot be given a random job, trying to reject: [player]") + try_reject_player(player) return if (RETURNTOLOBBY) - RejectPlayer(player) + job_debug("HU: Player unable to be assigned job, return to lobby enabled: [player]") + try_reject_player(player) return else //Something gone wrong if we got here. - var/message = "HU: [player] fell through handling unassigned" - JobDebug(message) - log_game(message) - message_admins(message) - RejectPlayer(player) + job_debug("HU: [player] has an invalid jobless_role var: [jobless_role]") + log_game("[player] has an invalid jobless_role var: [jobless_role]") + message_admins("[player] has an invalid jobless_role, this shouldn't happen.") + try_reject_player(player) //Gives the player the stuff he should have with his rank -/datum/controller/subsystem/job/proc/EquipRank(mob/living/equipping, datum/job/job, client/player_client) +/datum/controller/subsystem/job/proc/equip_rank(mob/living/equipping, datum/job/job, client/player_client) equipping.job = job.title SEND_SIGNAL(equipping, COMSIG_JOB_RECEIVED, job) @@ -572,7 +599,7 @@ SUBSYSTEM_DEF(job) /datum/controller/subsystem/job/proc/handle_auto_deadmin_roles(client/C, rank) if(!C?.holder) return TRUE - var/datum/job/job = GetJob(rank) + var/datum/job/job = get_job(rank) var/timegate_expired = FALSE // allow only forcing deadminning in the first X seconds of the round if auto_deadmin_timegate is set in config @@ -590,7 +617,7 @@ SUBSYSTEM_DEF(job) return C.holder.auto_deadmin() /datum/controller/subsystem/job/proc/setup_officer_positions() - var/datum/job/J = SSjob.GetJob(JOB_SECURITY_OFFICER) + var/datum/job/J = SSjob.get_job(JOB_SECURITY_OFFICER) if(!J) CRASH("setup_officer_positions(): Security officer job is missing") @@ -598,7 +625,7 @@ SUBSYSTEM_DEF(job) if(ssc > 0) if(J.spawn_positions > 0) var/officer_positions = min(12, max(J.spawn_positions, round(unassigned.len / ssc))) //Scale between configured minimum and 12 officers - JobDebug("Setting open security officer positions to [officer_positions]") + job_debug("SOP: Setting open security officer positions to [officer_positions]") J.total_positions = officer_positions J.spawn_positions = officer_positions @@ -614,7 +641,7 @@ SUBSYSTEM_DEF(job) else //We ran out of spare locker spawns! break -/datum/controller/subsystem/job/proc/HandleFeedbackGathering() +/datum/controller/subsystem/job/proc/handle_feedback_gathering() for(var/datum/job/job as anything in joinable_occupations) var/high = 0 //high var/medium = 0 //medium @@ -653,7 +680,7 @@ SUBSYSTEM_DEF(job) SSblackbox.record_feedback("nested tally", "job_preferences", young, list("[job.title]", "young")) SSblackbox.record_feedback("nested tally", "job_preferences", newbie, list("[job.title]", "newbie")) -/datum/controller/subsystem/job/proc/PopcapReached() +/datum/controller/subsystem/job/proc/popcap_reached() var/hpc = CONFIG_GET(number/hard_popcap) var/epc = CONFIG_GET(number/extreme_popcap) if(hpc || epc) @@ -662,15 +689,15 @@ SUBSYSTEM_DEF(job) return 1 return 0 -/datum/controller/subsystem/job/proc/RejectPlayer(mob/dead/new_player/player) +/datum/controller/subsystem/job/proc/try_reject_player(mob/dead/new_player/player) if(player.mind && player.mind.special_role) - return - if(PopcapReached()) - JobDebug("Popcap overflow Check observer located, Player: [player]") - JobDebug("Player rejected :[player]") + job_debug("RJCT: Player unable to be rejected due to special_role, Player: [player], SpecialRole: [player.mind.special_role]") + return FALSE + + job_debug("RJCT: Player rejected, Player: [player]") unassigned -= player if(!run_divide_occupation_pure) - to_chat(player, "You have failed to qualify for any job you desired.") + to_chat(player, span_infoplain("You have failed to qualify for any job you desired.")) player.ready = PLAYER_NOT_READY @@ -679,10 +706,10 @@ SUBSYSTEM_DEF(job) var/oldjobs = SSjob.all_occupations sleep(2 SECONDS) for (var/datum/job/job as anything in oldjobs) - INVOKE_ASYNC(src, PROC_REF(RecoverJob), job) + INVOKE_ASYNC(src, PROC_REF(recover_job), job) -/datum/controller/subsystem/job/proc/RecoverJob(datum/job/J) - var/datum/job/newjob = GetJob(J.title) +/datum/controller/subsystem/job/proc/recover_job(datum/job/J) + var/datum/job/newjob = get_job(J.title) if (!istype(newjob)) return newjob.total_positions = J.total_positions @@ -699,7 +726,7 @@ SUBSYSTEM_DEF(job) if(buckle && isliving(joining_mob)) buckle_mob(joining_mob, FALSE, FALSE) -/datum/controller/subsystem/job/proc/SendToLateJoin(mob/M, buckle = TRUE) +/datum/controller/subsystem/job/proc/send_to_late_join(mob/M, buckle = TRUE) var/atom/destination if(M.mind && !is_unassigned_job(M.mind.assigned_role) && length(GLOB.jobspawn_overrides[M.mind.assigned_role.title])) //We're doing something special today. destination = pick(GLOB.jobspawn_overrides[M.mind.assigned_role.title]) @@ -734,19 +761,6 @@ SUBSYSTEM_DEF(job) stack_trace("Unable to find last resort spawn point.") return GET_ERROR_ROOM -///Lands specified mob at a random spot in the hallways -/datum/controller/subsystem/job/proc/DropLandAtRandomHallwayPoint(mob/living/living_mob) - var/turf/spawn_turf = get_safe_random_station_turf(typesof(/area/station/hallway)) - - if(!spawn_turf) - SendToLateJoin(living_mob) - else - podspawn(list( - "target" = spawn_turf, - "path" = /obj/structure/closet/supplypod/centcompod, - "spawn" = living_mob - )) - /// Returns a list of minds of all heads of staff who are alive /datum/controller/subsystem/job/proc/get_living_heads() . = list() @@ -781,7 +795,7 @@ SUBSYSTEM_DEF(job) if(sec.assigned_role.departments_bitflags & DEPARTMENT_BITFLAG_SECURITY) . += sec -/datum/controller/subsystem/job/proc/JobDebug(message) +/datum/controller/subsystem/job/proc/job_debug(message) log_job_debug(message) /// Builds various lists of jobs based on station, centcom and additional jobs with icons associated with them. @@ -846,12 +860,47 @@ SUBSYSTEM_DEF(job) safe_code_timer_id = null safe_code_request_loc = null -/// Blindly assigns the required roles to every player in the dynamic_forced_occupations list. +/// Assigns roles that are considered high priority, either due to dynamic needing to force a specific role for a specific ruleset +/// or making sure roles critical to round progression exist where possible every shift. /datum/controller/subsystem/job/proc/assign_priority_positions() + job_debug("APP: Assigning Dynamic ruleset forced occupations: [length(dynamic_forced_occupations)]") for(var/mob/new_player in dynamic_forced_occupations) - // Eligibility checks already carried out as part of the dynamic ruleset trim_candidates proc.area - // However no guarantee of game state between then and now, so don't skip eligibility checks on AssignRole. - AssignRole(new_player, GetJob(dynamic_forced_occupations[new_player])) + // Eligibility checks already carried out as part of the dynamic ruleset trim_candidates proc. + // However no guarantee of game state between then and now, so don't skip eligibility checks on assign_role. + assign_role(new_player, get_job(dynamic_forced_occupations[new_player])) + + // Get JP_HIGH department Heads of Staff in place. Indirectly useful for the Revolution ruleset to have as many Heads as possible. + job_debug("APP: Assigning all JP_HIGH head of staff roles.") + var/head_count = fill_all_head_positions_at_priority(JP_HIGH) + + // If nobody has JP_HIGH on a Head role, try to force at least one Head of Staff so every shift has the best chance + // of having at least one leadership role. + if(head_count == 0) + force_one_head_assignment() + + // Fill out all AI positions. + job_debug("APP: Filling all AI positions") + fill_ai_positions() + +/datum/controller/subsystem/job/proc/assign_all_overflow_positions() + job_debug("OVRFLW: Assigning all overflow roles.") + job_debug("OVRFLW: This shift's overflow role: [overflow_role]") + var/datum/job/overflow_datum = get_job_type(overflow_role) + + // When the Overflow role changes for any reason, this allows players to set otherwise invalid job priority pref states. + // So if Assistant is the "usual" Overflow but it gets changed to Clown for a shift, players can set the Assistant role's priorities + // to JP_MEDIUM and JP_LOW. When the "usual" Overflow role comes back, it returns to an On option in the prefs menu but still + // keeps its old JP_MEDIUM or JP_LOW value in the background. + + // Due to this prefs quirk, we actually don't want to find JP_HIGH candidates as it may exclude people with abnormal pref states that + // appear normal from the UI. By passing in JP_ANY, it will return all players that have the overflow job pref (which should be a toggle) + // set to any level. + var/list/overflow_candidates = find_occupation_candidates(overflow_datum, JP_ANY) + for(var/mob/dead/new_player/player in overflow_candidates) + // Eligibility checks done as part of find_occupation_candidates, so skip them. + assign_role(player, get_job_type(overflow_role), do_eligibility_checks = FALSE) + job_debug("OVRFLW: Assigned overflow to player: [player]") + job_debug("OVRFLW: All overflow roles assigned.") /// Takes a job priority #define such as JP_LOW and gets its string representation for logging. /datum/controller/subsystem/job/proc/job_priority_level_to_string(priority) @@ -869,40 +918,40 @@ SUBSYSTEM_DEF(job) * Arguments: * * player - The player to check for job eligibility. * * possible_job - The job to check for eligibility against. - * * debug_prefix - Logging prefix for the JobDebug log entries. For example, GRJ during GiveRandomJob or DO during DivideOccupations. + * * debug_prefix - Logging prefix for the job_debug log entries. For example, GRJ during give_random_job or DO during divide_occupations. * * add_job_to_log - If TRUE, appends the job type to the log entry. If FALSE, does not. Set to FALSE when check is part of iterating over players for a specific job, set to TRUE when check is part of iterating over jobs for a specific player and you don't want extra log entry spam. */ /datum/controller/subsystem/job/proc/check_job_eligibility(mob/dead/new_player/player, datum/job/possible_job, debug_prefix = "", add_job_to_log = FALSE) if(!player.mind) - JobDebug("[debug_prefix] player has no mind, Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix]: Player has no mind, Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_GENERIC if(possible_job.title in player.mind.restricted_roles) - JobDebug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_ANTAG_INCOMPAT, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_ANTAG_INCOMPAT, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_ANTAG_INCOMPAT if(!possible_job.player_old_enough(player.client)) - JobDebug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_ACCOUNTAGE, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_ACCOUNTAGE, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_ACCOUNTAGE var/required_playtime_remaining = possible_job.required_playtime_remaining(player.client) if(required_playtime_remaining) - JobDebug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_PLAYTIME, possible_job.title)], Player: [player], MissingTime: [required_playtime_remaining][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_PLAYTIME, possible_job.title)], Player: [player], MissingTime: [required_playtime_remaining][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_PLAYTIME // Run the banned check last since it should be the rarest check to fail and can access the database. if(is_banned_from(player.ckey, possible_job.title)) - JobDebug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_BANNED, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_BANNED, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_BANNED // Check for character age if(possible_job.required_character_age > player.client.prefs.read_preference(/datum/preference/numeric/age) && possible_job.required_character_age != null) - JobDebug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_AGE)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_AGE)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_AGE // Need to recheck the player exists after is_banned_from since it can query the DB which may sleep. if(QDELETED(player)) - JobDebug("[debug_prefix] player is qdeleted, Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") + job_debug("[debug_prefix]: Player is qdeleted, Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]") return JOB_UNAVAILABLE_GENERIC return JOB_AVAILABLE diff --git a/code/controllers/subsystem/library.dm b/code/controllers/subsystem/library.dm index a657e442748a4..bfe77f70f02dd 100644 --- a/code/controllers/subsystem/library.dm +++ b/code/controllers/subsystem/library.dm @@ -26,14 +26,14 @@ SUBSYSTEM_DEF(library) /datum/controller/subsystem/library/proc/load_shelves() var/list/datum/callback/load_callbacks = list() - + for(var/obj/structure/bookcase/case_to_load as anything in shelves_to_load) if(!case_to_load) stack_trace("A null bookcase somehow ended up in SSlibrary's shelves_to_load list. Did something harddel?") continue load_callbacks += CALLBACK(case_to_load, TYPE_PROC_REF(/obj/structure/bookcase, load_shelf)) shelves_to_load = null - + //Load all of the shelves asyncronously at the same time, blocking until the last one is finished. callback_select(load_callbacks, savereturns = FALSE) @@ -59,6 +59,6 @@ SUBSYSTEM_DEF(library) /datum/controller/subsystem/library/proc/prepare_library_areas() library_areas = typesof(/area/station/service/library) - /area/station/service/library/abandoned - var/list/additional_areas = SSmapping.config.library_areas + var/list/additional_areas = SSmapping.current_map.library_areas if(additional_areas) library_areas += additional_areas diff --git a/code/controllers/subsystem/map_vote.dm b/code/controllers/subsystem/map_vote.dm new file mode 100644 index 0000000000000..7d0be38f92072 --- /dev/null +++ b/code/controllers/subsystem/map_vote.dm @@ -0,0 +1,160 @@ +#define MAP_VOTE_CACHE_LOCATION "data/map_vote_cache.json" + +SUBSYSTEM_DEF(map_vote) + name = "Map Vote" + flags = SS_NO_FIRE + + /// Has an admin specifically set a map. + var/admin_override = FALSE + + /// Have we already done a vote. + var/already_voted = FALSE + + /// The map that has been chosen for next round. + var/datum/map_config/next_map_config + + /// Stores the current map vote cache, so that players can look at the current tally. + var/list/map_vote_cache + + /// Stores the previous map vote cache, used when a map vote is reverted. + var/list/previous_cache + + /// Stores a formatted html string of the tally counts + var/tally_printout = span_red("Loading...") + +/datum/controller/subsystem/map_vote/Initialize() + if(rustg_file_exists(MAP_VOTE_CACHE_LOCATION)) + map_vote_cache = json_decode(file2text(MAP_VOTE_CACHE_LOCATION)) + var/carryover = CONFIG_GET(number/map_vote_tally_carryover_percentage) + for(var/map_id in map_vote_cache) + map_vote_cache[map_id] = round(map_vote_cache[map_id] * (carryover / 100)) + sanitize_cache() + else + map_vote_cache = list() + update_tally_printout() + return SS_INIT_SUCCESS + +/datum/controller/subsystem/map_vote/proc/write_cache() + rustg_file_write(json_encode(map_vote_cache), MAP_VOTE_CACHE_LOCATION) + +/datum/controller/subsystem/map_vote/proc/sanitize_cache() + var/max = CONFIG_GET(number/map_vote_maximum_tallies) + for(var/map_id in map_vote_cache) + if(!(map_id in config.maplist)) + map_vote_cache -= map_id + var/count = map_vote_cache[map_id] + if(count > max) + map_vote_cache[map_id] = max + +/datum/controller/subsystem/map_vote/proc/send_map_vote_notice(...) + var/static/last_message_at + if(last_message_at == world.time) + message_admins("Call to send_map_vote_notice twice in one game tick. Yell at someone to condense messages.") + last_message_at = world.time + + var/list/messages = args.Copy() + to_chat(world, span_purple(examine_block("Map Vote\n
\n[messages.Join("\n")]"))) + +/datum/controller/subsystem/map_vote/proc/finalize_map_vote(datum/vote/map_vote/map_vote) + if(already_voted) + message_admins("Attempted to finalize a map vote after a map vote has already been finalized.") + return + already_voted = TRUE + + var/flat = CONFIG_GET(number/map_vote_flat_bonus) + previous_cache = map_vote_cache.Copy() + for(var/map_id in map_vote.choices) + var/datum/map_config/map = config.maplist[map_id] + map_vote_cache[map_id] += (map_vote.choices[map_id] * map.voteweight) + flat + sanitize_cache() + write_cache() + update_tally_printout() + + if(admin_override) + send_map_vote_notice("Admin Override is in effect. Map will not be changed.", "Tallies are recorded and saved.") + return + + var/list/valid_maps = filter_cache_to_valid_maps() + if(!length(valid_maps)) + send_map_vote_notice("No valid maps.") + return + + var/winner = pick_weight(filter_cache_to_valid_maps()) + set_next_map(config.maplist[winner]) + send_map_vote_notice("Map Selected - [span_bold(next_map_config.map_name)]") + + // do not reset tallies if only one map is even possible + if(length(valid_maps) > 1) + map_vote_cache[winner] = CONFIG_GET(number/map_vote_minimum_tallies) + write_cache() + update_tally_printout() + +/// Returns a list of all map options that are invalid for the current population. +/datum/controller/subsystem/map_vote/proc/get_valid_map_vote_choices() + var/list/valid_maps = list() + + // Fill in our default choices with all of the maps in our map config, if they are votable and not blocked. + var/list/maps = shuffle(global.config.maplist) + for(var/map in maps) + var/datum/map_config/possible_config = config.maplist[map] + if(!possible_config.votable || (possible_config.map_name in SSpersistence.blocked_maps)) + continue + valid_maps += possible_config.map_name + + var/filter_threshold = 0 + if(SSticker.HasRoundStarted()) + filter_threshold = get_active_player_count(alive_check = FALSE, afk_check = TRUE, human_check = FALSE) + else + filter_threshold = length(GLOB.clients) + + for(var/map in valid_maps) + var/datum/map_config/possible_config = config.maplist[map] + if(possible_config.config_min_users > 0 && filter_threshold < possible_config.config_min_users) + valid_maps -= map + + else if(possible_config.config_max_users > 0 && filter_threshold > possible_config.config_max_users) + valid_maps -= map + + return valid_maps + +/datum/controller/subsystem/map_vote/proc/filter_cache_to_valid_maps() + var/connected_players = length(GLOB.player_list) + var/list/valid_maps = list() + for(var/map_id in map_vote_cache) + var/datum/map_config/map = config.maplist[map_id] + if(!map.votable) + continue + if(map.config_min_users > 0 && (connected_players < map.config_min_users)) + continue + if(map.config_max_users > 0 && (connected_players > map.config_max_users)) + continue + valid_maps[map_id] = map_vote_cache[map_id] + return valid_maps + +/datum/controller/subsystem/map_vote/proc/set_next_map(datum/map_config/change_to) + if(!change_to.MakeNextMap()) + message_admins("Failed to set new map with next_map.json for [change_to.map_name]!") + return FALSE + + next_map_config = change_to + return TRUE + +/datum/controller/subsystem/map_vote/proc/revert_next_map() + if(!next_map_config) + return + if(previous_cache) + map_vote_cache = previous_cache + previous_cache = null + + already_voted = FALSE + admin_override = FALSE + send_map_vote_notice("Next map reverted. Voting re-enabled.") + +#undef MAP_VOTE_CACHE_LOCATION + +/datum/controller/subsystem/map_vote/proc/update_tally_printout() + var/list/data = list() + for(var/map_id in map_vote_cache) + var/datum/map_config/map = config.maplist[map_id] + data += "[map.map_name] - [map_vote_cache[map_id]]" + tally_printout = examine_block("Current Tallies\n
\n[data.Join("\n")]") diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 8dce11f137746..bfdd32a6cd824 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -6,15 +6,8 @@ SUBSYSTEM_DEF(mapping) var/list/nuke_tiles = list() var/list/nuke_threats = list() - var/datum/map_config/config - var/datum/map_config/next_map_config - - /// Has the map for the next round been voted for already? - var/map_voted = FALSE - /// Has the map for the next round been deliberately chosen by an admin? - var/map_force_chosen = FALSE - /// Has the map vote been rocked? - var/map_vote_rocked = FALSE + /// The current map config the server loaded at round start. + var/datum/map_config/current_map var/list/map_templates = list() @@ -95,20 +88,20 @@ SUBSYSTEM_DEF(mapping) /datum/controller/subsystem/mapping/PreInit() ..() #ifdef FORCE_MAP - config = load_map_config(FORCE_MAP, FORCE_MAP_DIRECTORY) + current_map = load_map_config(FORCE_MAP, FORCE_MAP_DIRECTORY) #else - config = load_map_config(error_if_missing = FALSE) + current_map = load_map_config(error_if_missing = FALSE) #endif /datum/controller/subsystem/mapping/Initialize() if(initialized) return SS_INIT_SUCCESS - if(config.defaulted) - var/old_config = config - config = global.config.defaultmap - if(!config || config.defaulted) - to_chat(world, span_boldannounce("Unable to load next or default map config, defaulting to MetaStation.")) - config = old_config + if(current_map.defaulted) + var/datum/map_config/old_config = current_map + current_map = config.defaultmap + if(!current_map || current_map.defaulted) + to_chat(world, span_boldannounce("Unable to load next or default map config, defaulting to [old_config.map_name].")) + current_map = old_config plane_offset_to_true = list() true_to_offset_planes = list() plane_to_offset = list() @@ -132,11 +125,11 @@ SUBSYSTEM_DEF(mapping) #ifndef LOWMEMORYMODE // Create space ruin levels - while (space_levels_so_far < config.space_ruin_levels) + while (space_levels_so_far < current_map.space_ruin_levels) add_new_zlevel("Ruin Area [space_levels_so_far+1]", ZTRAITS_SPACE) ++space_levels_so_far // Create empty space levels - while (space_levels_so_far < config.space_empty_levels + config.space_ruin_levels) + while (space_levels_so_far < current_map.space_empty_levels + current_map.space_ruin_levels) empty_space = add_new_zlevel("Empty Area [space_levels_so_far+1]", list(ZTRAIT_LINKAGE = CROSSLINKED)) ++space_levels_so_far @@ -144,7 +137,7 @@ SUBSYSTEM_DEF(mapping) if(CONFIG_GET(flag/roundstart_away)) createRandomZlevel(prob(CONFIG_GET(number/config_gateway_chance))) - else if (SSmapping.config.load_all_away_missions) // we're likely in a local testing environment, so punch it. + else if (SSmapping.current_map.load_all_away_missions) // we're likely in a local testing environment, so punch it. load_all_away_missions() loading_ruins = TRUE @@ -363,9 +356,7 @@ Used by the AI doomsday and the self-destruct nuke. holodeck_templates = SSmapping.holodeck_templates areas_in_z = SSmapping.areas_in_z - config = SSmapping.config - next_map_config = SSmapping.next_map_config - + current_map = SSmapping.current_map clearing_reserved_turfs = SSmapping.clearing_reserved_turfs z_list = SSmapping.z_list @@ -395,13 +386,23 @@ Used by the AI doomsday and the self-destruct nuke. if (!length(traits)) // null or empty - default for (var/i in 1 to total_z) - traits += list(default_traits) + traits += list(default_traits.Copy()) else if (total_z != traits.len) // mismatch INIT_ANNOUNCE("WARNING: [traits.len] trait sets specified for [total_z] z-levels in [path]!") if (total_z < traits.len) // ignore extra traits traits.Cut(total_z + 1) while (total_z > traits.len) // fall back to defaults on extra levels - traits += list(default_traits) + traits += list(default_traits.Copy()) + + if(total_z > 1) // it's a multi z map + for(var/z in 1 to total_z) + if(z == 1) // bottom z-level + traits[z]["Up"] = TRUE + else if(z == total_z) // top z-level + traits[z]["Down"] = TRUE + else + traits[z]["Down"] = TRUE + traits[z]["Up"] = TRUE // preload the relevant space_level datums var/start_z = world.maxz + 1 @@ -439,22 +440,22 @@ Used by the AI doomsday and the self-destruct nuke. // load the station station_start = world.maxz + 1 - INIT_ANNOUNCE("Loading [config.map_name]...") - LoadGroup(FailedZs, "Station", config.map_path, config.map_file, config.traits, ZTRAITS_STATION) + INIT_ANNOUNCE("Loading [current_map.map_name]...") + LoadGroup(FailedZs, "Station", current_map.map_path, current_map.map_file, current_map.traits, ZTRAITS_STATION) if(SSdbcore.Connect()) var/datum/db_query/query_round_map_name = SSdbcore.NewQuery({" UPDATE [format_table_name("round")] SET map_name = :map_name WHERE id = :round_id - "}, list("map_name" = config.map_name, "round_id" = GLOB.round_id)) + "}, list("map_name" = current_map.map_name, "round_id" = GLOB.round_id)) query_round_map_name.Execute() qdel(query_round_map_name) #ifndef LOWMEMORYMODE - if(config.minetype == "lavaland") + if(current_map.minetype == "lavaland") LoadGroup(FailedZs, "Lavaland", "map_files/Mining", "Lavaland.dmm", default_traits = ZTRAITS_LAVALAND) - else if (!isnull(config.minetype) && config.minetype != "none") - INIT_ANNOUNCE("WARNING: An unknown minetype '[config.minetype]' was set! This is being ignored! Update the maploader code!") + else if (!isnull(current_map.minetype) && current_map.minetype != "none") + INIT_ANNOUNCE("WARNING: An unknown minetype '[current_map.minetype]' was set! This is being ignored! Update the maploader code!") #endif if(LAZYLEN(FailedZs)) //but seriously, unless the server's filesystem is messed up this will never happen @@ -467,10 +468,8 @@ Used by the AI doomsday and the self-destruct nuke. #undef INIT_ANNOUNCE // Custom maps are removed after station loading so the map files does not persist for no reason. - if(config.map_path == CUSTOM_MAP_PATH) - fdel("_maps/custom/[config.map_file]") - // And as the file is now removed set the next map to default. - next_map_config = load_default_map_config() + if(current_map.map_path == CUSTOM_MAP_PATH) + fdel("_maps/custom/[current_map.map_file]") /** * Global list of AREA TYPES that are associated with the station. @@ -502,88 +501,6 @@ GLOBAL_LIST_EMPTY(the_station_areas) for(var/area/A as anything in GLOB.areas) A.RunTerrainPopulation() -/datum/controller/subsystem/mapping/proc/maprotate() - if(map_voted || SSmapping.next_map_config) //If voted or set by other means. - return - - var/players = GLOB.clients.len - var/list/mapvotes = list() - //count votes - var/pmv = CONFIG_GET(flag/preference_map_voting) - if(pmv) - for (var/client/c in GLOB.clients) - var/vote = c.prefs.read_preference(/datum/preference/choiced/preferred_map) - if (!vote) - if (global.config.defaultmap) - mapvotes[global.config.defaultmap.map_name] += 1 - continue - mapvotes[vote] += 1 - else - for(var/M in global.config.maplist) - mapvotes[M] = 1 - - //filter votes - for (var/map in mapvotes) - if (!map) - mapvotes.Remove(map) - continue - if (!(map in global.config.maplist)) - mapvotes.Remove(map) - continue - if(map in SSpersistence.blocked_maps) - mapvotes.Remove(map) - continue - var/datum/map_config/VM = global.config.maplist[map] - if (!VM) - mapvotes.Remove(map) - continue - if (VM.voteweight <= 0) - mapvotes.Remove(map) - continue - if (VM.config_min_users > 0 && players < VM.config_min_users) - mapvotes.Remove(map) - continue - if (VM.config_max_users > 0 && players > VM.config_max_users) - mapvotes.Remove(map) - continue - - if(pmv) - mapvotes[map] = mapvotes[map]*VM.voteweight - - var/pickedmap = pick_weight(mapvotes) - if (!pickedmap) - return - var/datum/map_config/VM = global.config.maplist[pickedmap] - message_admins("Randomly rotating map to [VM.map_name]") - . = changemap(VM) - if (. && VM.map_name != config.map_name) - to_chat(world, span_boldannounce("Map rotation has chosen [VM.map_name] for next round!")) - -/datum/controller/subsystem/mapping/proc/mapvote() - if(map_voted || SSmapping.next_map_config) //If voted or set by other means. - return - if(SSvote.current_vote) //Theres already a vote running, default to rotation. - maprotate() - return - SSvote.initiate_vote(/datum/vote/map_vote, "automatic map rotation", forced = TRUE) - -/datum/controller/subsystem/mapping/proc/changemap(datum/map_config/change_to) - if(!change_to.MakeNextMap()) - next_map_config = load_default_map_config() - message_admins("Failed to set new map with next_map.json for [change_to.map_name]! Using default as backup!") - return - - var/filter_threshold = get_active_player_count(alive_check = FALSE, afk_check = TRUE, human_check = FALSE) - if (change_to.config_min_users > 0 && filter_threshold != 0 && filter_threshold < change_to.config_min_users) - message_admins("[change_to.map_name] was chosen for the next map, despite there being less current players than its set minimum population range!") - log_game("[change_to.map_name] was chosen for the next map, despite there being less current players than its set minimum population range!") - if (change_to.config_max_users > 0 && filter_threshold > change_to.config_max_users) - message_admins("[change_to.map_name] was chosen for the next map, despite there being more current players than its set maximum population range!") - log_game("[change_to.map_name] was chosen for the next map, despite there being more current players than its set maximum population range!") - - next_map_config = change_to - return TRUE - /datum/controller/subsystem/mapping/proc/preloadTemplates(path = "_maps/templates/") //see master controller setup var/list/filelist = flist(path) for(var/map in filelist) @@ -598,10 +515,10 @@ GLOBAL_LIST_EMPTY(the_station_areas) /datum/controller/subsystem/mapping/proc/preloadRuinTemplates() // Still supporting bans by filename var/list/banned = generateMapList("spaceruinblacklist.txt") - if(config.minetype == "lavaland") + if(current_map.minetype == "lavaland") banned += generateMapList("lavaruinblacklist.txt") - else if(config.blacklist_file) - banned += generateMapList(config.blacklist_file) + else if(current_map.blacklist_file) + banned += generateMapList(current_map.blacklist_file) for(var/item in sort_list(subtypesof(/datum/map_template/ruin), GLOBAL_PROC_REF(cmp_ruincost_priority))) var/datum/map_template/ruin/ruin_type = item @@ -961,7 +878,7 @@ ADMIN_VERB(load_away_mission, R_FUN, "Load Away Mission", "Load a specific away /// Returns true if the map we're playing on is on a planet /datum/controller/subsystem/mapping/proc/is_planetary() - return config.planetary + return current_map.planetary /// For debug purposes, will add every single away mission present in a given directory. /// You can optionally pass in a string directory to load from instead of the default. diff --git a/code/controllers/subsystem/movement/movement.dm b/code/controllers/subsystem/movement/movement.dm index 425c67a0c474f..d6043d596bb0e 100644 --- a/code/controllers/subsystem/movement/movement.dm +++ b/code/controllers/subsystem/movement/movement.dm @@ -66,7 +66,7 @@ SUBSYSTEM_DEF(movement) return // Still work to be done var/bucket_time = bucket_info[MOVEMENT_BUCKET_TIME] smash_bucket(1, bucket_time) // We assume we're the first bucket in the queue right now - visual_delay = MC_AVERAGE_FAST(visual_delay, max((world.time - canonical_time) / wait, 1)) + visual_delay = MC_AVERAGE_FAST(visual_delay, max((world.time - canonical_time) / TICKS2DS(wait), 1)) /// Removes a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work /datum/controller/subsystem/movement/proc/smash_bucket(index, bucket_time) diff --git a/code/controllers/subsystem/movement/movement_types.dm b/code/controllers/subsystem/movement/movement_types.dm index ec0136bc8c178..58b1c58b0bca1 100644 --- a/code/controllers/subsystem/movement/movement_types.dm +++ b/code/controllers/subsystem/movement/movement_types.dm @@ -869,3 +869,95 @@ var/atom/old_loc = moving.loc holder.current_pipe = holder.current_pipe.transfer(holder) return old_loc != moving?.loc ? MOVELOOP_SUCCESS : MOVELOOP_FAILURE + + +/** + * Helper proc for the smooth_move datum + * + * Returns TRUE if the loop sucessfully started, or FALSE if it failed + * + * Arguments: + * moving - The atom we want to move + * angle - Angle at which we want to move + * delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 + * timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY + * subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem + * priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY + * flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm + * +**/ + +/datum/move_manager/proc/smooth_move(moving, angle, delay, timeout, subsystem, priority, flags, datum/extra_info) + return add_to_loop(moving, subsystem, /datum/move_loop/smooth_move, priority, flags, extra_info, delay, timeout, angle) + +/datum/move_loop/smooth_move + /// Angle at which we move. 0 is north because byond. + var/angle = 0 + /// When this gets bigger than 1, we move a turf + var/x_ticker = 0 + var/y_ticker = 0 + /// The rate at which we move, between 0 and 1. Cached to cut down on trig + var/x_rate = 0 + var/y_rate = 1 + /// Sign for our movement + var/x_sign = 1 + var/y_sign = 1 + /// Actual move delay, as delay will be modified by move() depending on what direction we move in + var/saved_delay + +/datum/move_loop/smooth_move/setup(delay, timeout, angle) + . = ..() + if(!.) + return FALSE + set_angle(angle) + saved_delay = delay + +/datum/move_loop/smooth_move/set_delay(new_delay) + new_delay = round(new_delay, world.tick_lag) + . = ..() + saved_delay = delay + +/datum/move_loop/smooth_move/compare_loops(datum/move_loop/loop_type, priority, flags, extra_info, delay, timeout, atom/chasing, home = FALSE) + if(..() && angle == src.angle) + return TRUE + return FALSE + +/datum/move_loop/smooth_move/move() + var/atom/old_loc = moving.loc + // Defaulting to 2 because if one rate is 0 the other is guaranteed to be 1, so maxing out at 1 to_move + var/x_to_move = x_rate > 0 ? (1 - x_ticker) / x_rate : 2 + var/y_to_move = y_rate > 0 ? (1 - y_ticker) / y_rate : 2 + var/move_dist = min(x_to_move, y_to_move) + x_ticker += x_rate * move_dist + y_ticker += y_rate * move_dist + + // Per Bresenham's, if we are closer to the next tile's center move diagonally. Checked by seeing if we pass into the next tile after moving another half a tile + var/move_x = (x_ticker + x_rate * 0.5) > 1 + var/move_y = (y_ticker + y_rate * 0.5) > 1 + if (move_x) + x_ticker = 0 + if (move_y) + y_ticker = 0 + + var/turf/next_turf = locate(moving.x + (move_x ? x_sign : 0), moving.y + (move_y ? y_sign : 0), moving.z) + moving.Move(next_turf, get_dir(moving, next_turf), FALSE, !(flags & MOVEMENT_LOOP_NO_DIR_UPDATE)) + + if (old_loc == moving?.loc) + return MOVELOOP_FAILURE + + delay = saved_delay + if (move_x && move_y) + delay *= 1.4 + + return MOVELOOP_SUCCESS + +/datum/move_loop/smooth_move/proc/set_angle(new_angle) + angle = new_angle + x_rate = sin(angle) + y_rate = cos(angle) + x_sign = SIGN(x_rate) + y_sign = SIGN(y_rate) + x_rate = abs(x_rate) + y_rate = abs(y_rate) + x_ticker = 0 + y_ticker = 0 diff --git a/code/controllers/subsystem/movement/newtonian_movement.dm b/code/controllers/subsystem/movement/newtonian_movement.dm new file mode 100644 index 0000000000000..aeb03a576dae0 --- /dev/null +++ b/code/controllers/subsystem/movement/newtonian_movement.dm @@ -0,0 +1,31 @@ +/// The subsystem is intended to tick things related to space/newtonian movement, such as constant sources of inertia +MOVEMENT_SUBSYSTEM_DEF(newtonian_movement) + name = "Newtonian Movement" + flags = SS_NO_INIT|SS_TICKER + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + + var/stat_tag = "P" //Used for logging + var/list/processing = list() + var/list/currentrun = list() + +/datum/controller/subsystem/movement/newtonian_movement/stat_entry(msg) + msg = "[stat_tag]:[length(processing)]" + return ..() + +/datum/controller/subsystem/movement/newtonian_movement/fire(resumed = FALSE) + . = ..() + if (!resumed) + currentrun = processing.Copy() + //cache for sanic speed (lists are references anyways) + var/list/current_run = currentrun + + while(current_run.len) + var/datum/thing = current_run[current_run.len] + current_run.len-- + if(QDELETED(thing)) + processing -= thing + else if(thing.process(TICKS2DS(wait) * 0.1) == PROCESS_KILL) + // fully stop so that a future START_PROCESSING will work + STOP_PROCESSING(src, thing) + if (MC_TICK_CHECK) + return diff --git a/code/controllers/subsystem/movement/spacedrift.dm b/code/controllers/subsystem/movement/spacedrift.dm deleted file mode 100644 index 4002b5eb555f2..0000000000000 --- a/code/controllers/subsystem/movement/spacedrift.dm +++ /dev/null @@ -1,5 +0,0 @@ -MOVEMENT_SUBSYSTEM_DEF(spacedrift) - name = "Space Drift" - priority = FIRE_PRIORITY_SPACEDRIFT - flags = SS_NO_INIT|SS_TICKER - runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME diff --git a/code/controllers/subsystem/nightshift.dm b/code/controllers/subsystem/nightshift.dm index b8df42742e43c..170f12696147f 100644 --- a/code/controllers/subsystem/nightshift.dm +++ b/code/controllers/subsystem/nightshift.dm @@ -26,7 +26,7 @@ SUBSYSTEM_DEF(nightshift) /datum/controller/subsystem/nightshift/proc/announce(message) priority_announce( text = message, - sound = 'sound/misc/notice2.ogg', + sound = 'sound/announcer/notice/notice2.ogg', sender_override = "Automated Lighting System Announcement", color_override = "grey", ) diff --git a/code/controllers/subsystem/persistence/_persistence.dm b/code/controllers/subsystem/persistence/_persistence.dm index 6438015d11d38..d38d7fa372e25 100644 --- a/code/controllers/subsystem/persistence/_persistence.dm +++ b/code/controllers/subsystem/persistence/_persistence.dm @@ -111,7 +111,7 @@ SUBSYSTEM_DEF(persistence) for(var/map in config.maplist) var/datum/map_config/VM = config.maplist[map] var/run = 0 - if(VM.map_name == SSmapping.config.map_name) + if(VM.map_name == SSmapping.current_map.map_name) run++ for(var/name in SSpersistence.saved_maps) if(VM.map_name == name) @@ -128,7 +128,7 @@ SUBSYSTEM_DEF(persistence) saved_maps += mapstosave for(var/i = mapstosave; i > 1; i--) saved_maps[i] = saved_maps[i-1] - saved_maps[1] = SSmapping.config.map_name + saved_maps[1] = SSmapping.current_map.map_name var/json_file = file(FILE_RECENT_MAPS) var/list/file_data = list() file_data["data"] = saved_maps diff --git a/code/controllers/subsystem/persistence/engravings.dm b/code/controllers/subsystem/persistence/engravings.dm index f47fc7fbba124..ad00c7909d723 100644 --- a/code/controllers/subsystem/persistence/engravings.dm +++ b/code/controllers/subsystem/persistence/engravings.dm @@ -14,7 +14,7 @@ saved_engravings = json["entries"] if(!saved_engravings.len) - log_world("Failed to load engraved messages on map [SSmapping.config.map_name]") + log_world("Failed to load engraved messages on map [SSmapping.current_map.map_name]") return var/list/viable_turfs = get_area_turfs(/area/station/maintenance, subtypes = TRUE) + get_area_turfs(/area/station/security/prison, subtypes = TRUE) @@ -27,7 +27,7 @@ var/successfully_loaded_engravings = 0 - for(var/iteration in 1 to rand(MIN_PERSISTENT_ENGRAVINGS, MAX_PERSISTENT_ENGRAVINGS)) + for(var/iteration in 1 to min(rand(MIN_PERSISTENT_ENGRAVINGS, MAX_PERSISTENT_ENGRAVINGS), saved_engravings.len)) var/engraving = pick_n_take(saved_engravings) if(!islist(engraving)) stack_trace("something's wrong with the engraving data! one of the saved engravings wasn't a list!") @@ -42,7 +42,7 @@ successfully_loaded_engravings++ turfs_to_pick_from -= engraved_wall - log_world("Loaded [successfully_loaded_engravings] engraved messages on map [SSmapping.config.map_name]") + log_world("Loaded [successfully_loaded_engravings] engraved messages on map [SSmapping.current_map.map_name]") ///Saves all new engravings in the world. /datum/controller/subsystem/persistence/proc/save_wall_engravings() diff --git a/code/controllers/subsystem/polling.dm b/code/controllers/subsystem/polling.dm index 6cdcfbfd45949..b237edd3870b6 100644 --- a/code/controllers/subsystem/polling.dm +++ b/code/controllers/subsystem/polling.dm @@ -36,7 +36,7 @@ SUBSYSTEM_DEF(polling) * * chat_text_border_icon: Object or path to make an icon of to decorate the chat announcement. * * announce_chosen: Whether we should announce the chosen candidates in chat. This is ignored unless amount_to_pick is greater than 0. * - * Returns a list of all mobs who signed up for the poll. + * Returns a list of all mobs who signed up for the poll, OR, in the case that amount_to_pick is equal to 1 the singular mob/null if no available candidates. */ /datum/controller/subsystem/polling/proc/poll_candidates( question, @@ -155,7 +155,7 @@ SUBSYSTEM_DEF(polling) act_never = "[custom_link_style_start]\[Never For This Round\]" if(!duplicate_message_check(alert_poll)) //Only notify people once. They'll notice if there are multiple and we don't want to spam people. - SEND_SOUND(candidate_mob, 'sound/misc/notice2.ogg') + SEND_SOUND(candidate_mob, 'sound/announcer/notice/notice2.ogg') var/surrounding_icon if(chat_text_border_icon) var/image/surrounding_image @@ -175,9 +175,11 @@ SUBSYSTEM_DEF(polling) UNTIL(new_poll.finished) if(!(amount_to_pick > 0)) return new_poll.signed_up - if(length(new_poll.signed_up) < amount_to_pick) - return new_poll.signed_up for(var/pick in 1 to amount_to_pick) + // There may be less people signed up than amount_to_pick + // pick_n_take returns the default return value of null if passed an empty list, so just break in that case rather than adding null to the list. + if(!length(new_poll.signed_up)) + break new_poll.chosen_candidates += pick_n_take(new_poll.signed_up) if(announce_chosen) new_poll.announce_chosen(group) diff --git a/code/controllers/subsystem/processing/ai_idle_behaviors.dm b/code/controllers/subsystem/processing/ai_idle_behaviors.dm index cda3d354882f4..8875d971ad87c 100644 --- a/code/controllers/subsystem/processing/ai_idle_behaviors.dm +++ b/code/controllers/subsystem/processing/ai_idle_behaviors.dm @@ -1,6 +1,17 @@ PROCESSING_SUBSYSTEM_DEF(idle_ai_behaviors) - name = "idle_ai_behaviors" - flags = SS_NO_INIT | SS_BACKGROUND + name = "AI Idle Behaviors" + flags = SS_BACKGROUND wait = 1.5 SECONDS priority = FIRE_PRIORITY_IDLE_NPC init_order = INIT_ORDER_AI_IDLE_CONTROLLERS //must execute only after ai behaviors are initialized + ///List of all the idle ai behaviors + var/list/idle_behaviors = list() + +/datum/controller/subsystem/processing/idle_ai_behaviors/Initialize() + setup_idle_behaviors() + return SS_INIT_SUCCESS + +/datum/controller/subsystem/processing/idle_ai_behaviors/proc/setup_idle_behaviors() + for(var/behavior_type in subtypesof(/datum/idle_behavior)) + var/datum/idle_behavior/behavior = new behavior_type + idle_behaviors[behavior_type] = behavior diff --git a/code/controllers/subsystem/processing/fishing.dm b/code/controllers/subsystem/processing/fishing.dm index ca54141de82a8..0e8c126fe9330 100644 --- a/code/controllers/subsystem/processing/fishing.dm +++ b/code/controllers/subsystem/processing/fishing.dm @@ -1,4 +1,61 @@ /// subsystem for the fishing minigame processing. PROCESSING_SUBSYSTEM_DEF(fishing) name = "Fishing" + flags = SS_BACKGROUND|SS_POST_FIRE_TIMING wait = 0.05 SECONDS // If you raise it to 0.1 SECONDS, you better also modify [datum/fish_movement/move_fish()] + ///Cached fish properties so we don't have to initalize fish every time + var/list/fish_properties + ///A cache of fish that can be caught by each type of fishing lure + var/list/lure_catchables + +/datum/controller/subsystem/processing/fishing/Initialize() + ///init the properties + fish_properties = list() + for(var/fish_type in subtypesof(/obj/item/fish)) + var/obj/item/fish/fish = new fish_type(null, FALSE) + var/list/properties = list() + fish_properties[fish_type] = properties + properties[FISH_PROPERTIES_FAV_BAIT] = fish.favorite_bait.Copy() + properties[FISH_PROPERTIES_BAD_BAIT] = fish.disliked_bait.Copy() + properties[FISH_PROPERTIES_TRAITS] = fish.fish_traits.Copy() + + var/list/evo_types = fish.evolution_types?.Copy() + properties[FISH_PROPERTIES_EVOLUTIONS] = evo_types + for(var/type in evo_types) + LAZYADD(GLOB.fishes_by_fish_evolution[type], fish_type) + + var/beauty_score = "???" + switch(fish.beauty) + if(-INFINITY to FISH_BEAUTY_DISGUSTING) + beauty_score = "OH HELL NAW!" + if(FISH_BEAUTY_DISGUSTING to FISH_BEAUTY_UGLY) + beauty_score = "☆☆☆☆☆" + if(FISH_BEAUTY_UGLY to FISH_BEAUTY_BAD) + beauty_score = "★☆☆☆☆" + if(FISH_BEAUTY_BAD to FISH_BEAUTY_NULL) + beauty_score = "★★☆☆☆" + if(FISH_BEAUTY_NULL to FISH_BEAUTY_GENERIC) + beauty_score = "★★★☆☆" + if(FISH_BEAUTY_GENERIC to FISH_BEAUTY_GOOD) + beauty_score = "★★★★☆" + if(FISH_BEAUTY_GOOD to FISH_BEAUTY_GREAT) + beauty_score = "★★★★★" + if(FISH_BEAUTY_GREAT to INFINITY) + beauty_score = "★★★★★★" + + properties[FISH_PROPERTIES_BEAUTY_SCORE] = beauty_score + + qdel(fish) + + ///init the list of things lures can catch + lure_catchables = list() + var/list/fish_types = subtypesof(/obj/item/fish) + for(var/lure_type in typesof(/obj/item/fishing_lure)) + var/obj/item/fishing_lure/lure = new lure_type + lure_catchables[lure_type] = list() + for(var/obj/item/fish/fish_type as anything in fish_types) + if(lure.is_catchable_fish(fish_type, fish_properties[fish_type])) + lure_catchables[lure_type] += fish_type + qdel(lure) + + return SS_INIT_SUCCESS diff --git a/code/controllers/subsystem/processing/manufacturing.dm b/code/controllers/subsystem/processing/manufacturing.dm new file mode 100644 index 0000000000000..8bc9c6af5d57b --- /dev/null +++ b/code/controllers/subsystem/processing/manufacturing.dm @@ -0,0 +1,4 @@ +PROCESSING_SUBSYSTEM_DEF(manufacturing) + name = "Manufacturing Processing" + wait = 1 SECONDS + stat_tag = "MN" diff --git a/code/controllers/subsystem/processing/station.dm b/code/controllers/subsystem/processing/station.dm index 883ab37456d2c..c58840cfa7ad1 100644 --- a/code/controllers/subsystem/processing/station.dm +++ b/code/controllers/subsystem/processing/station.dm @@ -164,6 +164,8 @@ PROCESSING_SUBSYSTEM_DEF(station) ///Creates a given trait of a specific type, while also removing any blacklisted ones from the future pool. /datum/controller/subsystem/processing/station/proc/setup_trait(datum/station_trait/trait_type) + if(locate(trait_type) in station_traits) + return var/datum/station_trait/trait_instance = new trait_type() station_traits += trait_instance log_game("Station Trait: [trait_instance.name] chosen for this round.") @@ -179,5 +181,4 @@ PROCESSING_SUBSYSTEM_DEF(station) var/datum/hud/new_player/observer_hud = player.hud_used if (!istype(observer_hud)) continue - observer_hud.add_station_trait_buttons() - observer_hud.show_hud(observer_hud.hud_version) + observer_hud.show_station_trait_buttons() diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 11a055d292ce2..0ad0a78589221 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -140,6 +140,9 @@ SUBSYSTEM_DEF(shuttle) /// Did the supermatter start a cascade event? var/supermatter_cascade = FALSE + /// List of express consoles that are waiting for pack initialization + var/list/obj/machinery/computer/cargo/express/express_consoles = list() + /datum/controller/subsystem/shuttle/Initialize() order_number = rand(1, 9000) @@ -172,6 +175,9 @@ SUBSYSTEM_DEF(shuttle) supply_packs[pack.id] = pack + for (var/obj/machinery/computer/cargo/express/console as anything in express_consoles) + console.packin_up(TRUE) + setup_shuttles(stationary_docking_ports) has_purchase_shuttle_access = init_has_purchase_shuttle_access() @@ -275,7 +281,7 @@ SUBSYSTEM_DEF(shuttle) priority_announce( text = "Emergency shuttle uplink interference detected, shuttle call disabled while the system reinitializes. Estimated restore in [DisplayTimeText(lockout_timer, round_seconds_to = 60)].", title = "Uplink Interference", - sound = 'sound/misc/announce_dig.ogg', + sound = 'sound/announcer/announcement/announce_dig.ogg', sender_override = "Emergency Shuttle Uplink Alert", color_override = "grey", ) @@ -289,7 +295,7 @@ SUBSYSTEM_DEF(shuttle) priority_announce( text= "Emergency shuttle uplink services are now back online.", title = "Uplink Restored", - sound = 'sound/misc/announce_dig.ogg', + sound = 'sound/announcer/announcement/announce_dig.ogg', sender_override = "Emergency Shuttle Uplink Alert", color_override = "green", ) @@ -523,7 +529,7 @@ SUBSYSTEM_DEF(shuttle) priority_announce( text = "Departure has been postponed indefinitely pending conflict resolution.", title = "Hostile Environment Detected", - sound = 'sound/misc/notice1.ogg', + sound = 'sound/announcer/notice/notice1.ogg', sender_override = "Emergency Shuttle Uplink Alert", color_override = "grey", ) @@ -533,7 +539,7 @@ SUBSYSTEM_DEF(shuttle) priority_announce( text = "You have [DisplayTimeText(emergency_dock_time)] to board the emergency shuttle.", title = "Hostile Environment Resolved", - sound = 'sound/misc/announce_dig.ogg', + sound = 'sound/announcer/announcement/announce_dig.ogg', sender_override = "Emergency Shuttle Uplink Alert", color_override = "green", ) diff --git a/code/controllers/subsystem/statpanel.dm b/code/controllers/subsystem/statpanel.dm index 020598a573b67..cf158586ce497 100644 --- a/code/controllers/subsystem/statpanel.dm +++ b/code/controllers/subsystem/statpanel.dm @@ -22,9 +22,9 @@ SUBSYSTEM_DEF(statpanels) /datum/controller/subsystem/statpanels/fire(resumed = FALSE) if (!resumed) num_fires++ - var/datum/map_config/cached = SSmapping.next_map_config + var/datum/map_config/cached = SSmap_vote.next_map_config global_data = list( - "Map: [SSmapping.config?.map_name || "Loading..."]", + "Map: [SSmapping.current_map?.map_name || "Loading..."]", cached ? "Next Map: [cached.map_name]" : null, "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]", "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]", diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index fc0375f4f0b6a..da403db9e4559 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -202,6 +202,11 @@ SUBSYSTEM_DEF(throwing) if(!thrownthing) return thrownthing.throwing = null + var/drift_force = speed + if (isitem(thrownthing)) + var/obj/item/thrownitem = thrownthing + drift_force *= WEIGHT_TO_NEWTONS(thrownitem.w_class) + if (!hit) for (var/atom/movable/obstacle as anything in get_turf(thrownthing)) //looking for our target on the turf we land on. if (obstacle == target) @@ -214,9 +219,9 @@ SUBSYSTEM_DEF(throwing) thrownthing.throw_impact(get_turf(thrownthing), src) // we haven't hit something yet and we still must, let's hit the ground. if(QDELETED(thrownthing)) //throw_impact can delete things, such as glasses smashing return //deletion should already be handled by on_thrownthing_qdel() - thrownthing.newtonian_move(init_dir) + thrownthing.newtonian_move(delta_to_angle(dist_x, dist_y), drift_force = drift_force) else - thrownthing.newtonian_move(init_dir) + thrownthing.newtonian_move(delta_to_angle(dist_x, dist_y), drift_force = drift_force) if(target) thrownthing.throw_impact(target, src) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index ff76464bee56a..bcd33f04c98f0 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -93,12 +93,12 @@ SUBSYSTEM_DEF(ticker) switch(L.len) if(3) //rare+MAP+sound.ogg or MAP+rare.sound.ogg -- Rare Map-specific sounds if(use_rare_music) - if(L[1] == "rare" && L[2] == SSmapping.config.map_name) + if(L[1] == "rare" && L[2] == SSmapping.current_map.map_name) music += S - else if(L[2] == "rare" && L[1] == SSmapping.config.map_name) + else if(L[2] == "rare" && L[1] == SSmapping.current_map.map_name) music += S if(2) //rare+sound.ogg or MAP+sound.ogg -- Rare sounds or Map-specific sounds - if((use_rare_music && L[1] == "rare") || (L[1] == SSmapping.config.map_name)) + if((use_rare_music && L[1] == "rare") || (L[1] == SSmapping.current_map.map_name)) music += S if(1) //sound.ogg -- common sound if(L[1] == "exclude") @@ -157,7 +157,7 @@ SUBSYSTEM_DEF(ticker) for(var/client/C in GLOB.clients) window_flash(C, ignorepref = TRUE) //let them know lobby has opened up. to_chat(world, span_notice("Welcome to [station_name()]!")) - send2chat(new /datum/tgs_message_content("New round starting on [SSmapping.config.map_name]!"), CONFIG_GET(string/channel_announce_new_game)) + send2chat(new /datum/tgs_message_content("New round starting on [SSmapping.current_map.map_name]!"), CONFIG_GET(string/channel_announce_new_game)) current_state = GAME_STATE_PREGAME SEND_SIGNAL(src, COMSIG_TICKER_ENTER_PREGAME) @@ -211,7 +211,6 @@ SUBSYSTEM_DEF(ticker) toggle_ooc(TRUE) // Turn it on toggle_dooc(TRUE) declare_completion(force_ending) - check_maprotate() Master.SetRunLevel(RUNLEVEL_POSTGAME) /// Checks if the round should be ending, called every ticker tick @@ -236,14 +235,14 @@ SUBSYSTEM_DEF(ticker) can_continue = SSdynamic.pre_setup() //Choose antagonists CHECK_TICK SEND_GLOBAL_SIGNAL(COMSIG_GLOB_PRE_JOBS_ASSIGNED, src) - can_continue = can_continue && SSjob.DivideOccupations() //Distribute jobs + can_continue = can_continue && SSjob.divide_occupations() //Distribute jobs CHECK_TICK if(!GLOB.Debug2) if(!can_continue) log_game("Game failed pre_setup") to_chat(world, "Error setting up game. Reverting to pre-game lobby.") - SSjob.ResetOccupations() + SSjob.reset_occupations() return FALSE else message_admins(span_notice("DEBUG: Bypassing prestart checks...")) @@ -416,7 +415,7 @@ SUBSYSTEM_DEF(ticker) continue var/datum/job/player_assigned_role = new_player_living.mind.assigned_role if(player_assigned_role.job_flags & JOB_EQUIP_RANK) - SSjob.EquipRank(new_player_living, player_assigned_role, new_player_mob.client) + SSjob.equip_rank(new_player_living, player_assigned_role, new_player_mob.client) player_assigned_role.after_roundstart_spawn(new_player_living, new_player_mob.client) if(picked_spare_id_candidate == new_player_mob) captainless = FALSE @@ -489,7 +488,7 @@ SUBSYSTEM_DEF(ticker) list_clear_nulls(queued_players) for (var/mob/dead/new_player/new_player in queued_players) to_chat(new_player, span_userdanger("The alive players limit has been released!
[html_encode(">>Join Game<<")]")) - SEND_SOUND(new_player, sound('sound/misc/notice1.ogg')) + SEND_SOUND(new_player, sound('sound/announcer/notice/notice1.ogg')) GLOB.latejoin_menu.ui_interact(new_player) queued_players.len = 0 queue_delay = 0 @@ -504,7 +503,7 @@ SUBSYSTEM_DEF(ticker) if(living_player_count() < hard_popcap) if(next_in_line?.client) to_chat(next_in_line, span_userdanger("A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<")) - SEND_SOUND(next_in_line, sound('sound/misc/notice1.ogg')) + SEND_SOUND(next_in_line, sound('sound/announcer/notice/notice1.ogg')) next_in_line.ui_interact(next_in_line) return queued_players -= next_in_line //Client disconnected, remove he @@ -514,13 +513,6 @@ SUBSYSTEM_DEF(ticker) queued_players -= next_in_line queue_delay = 0 -/datum/controller/subsystem/ticker/proc/check_maprotate() - if(!CONFIG_GET(flag/maprotation)) - return - if(world.time - SSticker.round_start_time < 10 MINUTES) //Not forcing map rotation for very short rounds. - return - INVOKE_ASYNC(SSmapping, TYPE_PROC_REF(/datum/controller/subsystem/mapping/, maprotate)) - /datum/controller/subsystem/ticker/proc/HasRoundStarted() return current_state >= GAME_STATE_PLAYING diff --git a/code/controllers/subsystem/time_track.dm b/code/controllers/subsystem/time_track.dm index b3a4fe7e8698f..4c706fdaf6db3 100644 --- a/code/controllers/subsystem/time_track.dm +++ b/code/controllers/subsystem/time_track.dm @@ -42,7 +42,7 @@ SUBSYSTEM_DEF(time_track) ) /datum/controller/subsystem/time_track/Initialize() - GLOB.perf_log = "[GLOB.log_directory]/perf-[GLOB.round_id ? GLOB.round_id : "NULL"]-[SSmapping.config?.map_name].csv" + GLOB.perf_log = "[GLOB.log_directory]/perf-[GLOB.round_id ? GLOB.round_id : "NULL"]-[SSmapping.current_map.map_name].csv" world.Profile(PROFILE_RESTART, type = "sendmaps") //Need to do the sendmaps stuff in its own file, since it works different then everything else var/list/sendmaps_headers = list() diff --git a/code/controllers/subsystem/title.dm b/code/controllers/subsystem/title.dm index dbaa7ddeb48c0..8df9349ff0398 100644 --- a/code/controllers/subsystem/title.dm +++ b/code/controllers/subsystem/title.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(title) for(var/S in provisional_title_screens) var/list/L = splittext(S,"+") - if((L.len == 1 && (L[1] != "exclude" && L[1] != "blank.png")) || (L.len > 1 && ((use_rare_screens && LOWER_TEXT(L[1]) == "rare") || (LOWER_TEXT(L[1]) == LOWER_TEXT(SSmapping.config.map_name))))) + if((L.len == 1 && (L[1] != "exclude" && L[1] != "blank.png")) || (L.len > 1 && ((use_rare_screens && LOWER_TEXT(L[1]) == "rare") || (LOWER_TEXT(L[1]) == LOWER_TEXT(SSmapping.current_map.map_name))))) title_screens += S if(length(title_screens)) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 7bed63cc36fc8..d0e642bd3aa2d 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -101,24 +101,28 @@ SUBSYSTEM_DEF(vote) // stringify the winners to prevent potential unimplemented serialization errors. // Perhaps this can be removed in the future and we assert that vote choices must implement serialization. - var/final_winner_string = final_winner && "[final_winner]" + var/final_winner_string = (final_winner && "[final_winner]") || "NO WINNER" var/list/winners_string = list() - for(var/winner in winners) - winners_string += "[winner]" + + if(length(winners)) + for(var/winner in winners) + winners_string += "[winner]" + else + winners_string = list("NO WINNER") var/list/vote_log_data = list( + "type" = "[current_vote.type]", "choices" = vote_choice_data, "total" = total_votes, "winners" = winners_string, "final_winner" = final_winner_string, ) - var/log_string = replacetext(to_display, "\n", "\\n") // 'keep' the newlines, but dont actually print them as newlines - log_vote(log_string, vote_log_data) - to_chat(world, span_infoplain(vote_font("\n[to_display]"))) + log_vote("vote finalized", vote_log_data) + if(to_display) + to_chat(world, span_infoplain(vote_font("\n[to_display]"))) // Finally, doing any effects on vote completion - if (final_winner) // if no one voted, or the vote cannot be won, final_winner will be null - current_vote.finalize_vote(final_winner) + current_vote.finalize_vote(final_winner) /** * One selection per person, and the selection with the most votes wins. diff --git a/code/datums/actions/action.dm b/code/datums/actions/action.dm index 39e69ba9fa8fd..2f297f480ae66 100644 --- a/code/datums/actions/action.dm +++ b/code/datums/actions/action.dm @@ -52,6 +52,8 @@ /// Toggles whether this action is usable or not var/action_disabled = FALSE + /// Can this action be shared with our rider? + var/can_be_shared = TRUE /datum/action/New(Target) link_to(Target) @@ -112,7 +114,8 @@ RegisterSignal(owner, COMSIG_LIVING_SET_BODY_POSITION, PROC_REF(update_status_on_signal)) if(check_flags & AB_CHECK_PHASED) RegisterSignals(owner, list(SIGNAL_ADDTRAIT(TRAIT_MAGICALLY_PHASED), SIGNAL_REMOVETRAIT(TRAIT_MAGICALLY_PHASED)), PROC_REF(update_status_on_signal)) - + if(check_flags & AB_CHECK_OPEN_TURF) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(update_status_on_signal)) if(owner_has_control) RegisterSignal(grant_to, COMSIG_MOB_KEYDOWN, PROC_REF(keydown), override = TRUE) GiveAction(grant_to) @@ -139,6 +142,7 @@ UnregisterSignal(owner, list( COMSIG_LIVING_SET_BODY_POSITION, COMSIG_MOB_STATCHANGE, + COMSIG_MOVABLE_MOVED, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), SIGNAL_ADDTRAIT(TRAIT_IMMOBILIZED), SIGNAL_ADDTRAIT(TRAIT_INCAPACITATED), @@ -198,6 +202,10 @@ if (feedback) owner.balloon_alert(owner, "incorporeal!") return FALSE + if((check_flags & AB_CHECK_OPEN_TURF) && !isopenturf(owner.loc)) + if (feedback) + owner.balloon_alert(owner, "not enough space!") + return FALSE return TRUE /// Builds / updates all buttons we have shared or given out diff --git a/code/datums/actions/mobs/blood_warp.dm b/code/datums/actions/mobs/blood_warp.dm index 1e48c6e5aa419..d65c941f5df4a 100644 --- a/code/datums/actions/mobs/blood_warp.dm +++ b/code/datums/actions/mobs/blood_warp.dm @@ -57,11 +57,11 @@ shuffle_inplace(pools) found_bloodpool = pick(pools) if(found_bloodpool) - owner.visible_message("[owner] sinks into the blood...") - playsound(owner_turf, 'sound/magic/enter_blood.ogg', 100, TRUE, -1) + owner.visible_message(span_danger("[owner] sinks into the blood...")) + playsound(owner_turf, 'sound/effects/magic/enter_blood.ogg', 100, TRUE, -1) owner.forceMove(get_turf(found_bloodpool)) - playsound(get_turf(owner), 'sound/magic/exit_blood.ogg', 100, TRUE, -1) - owner.visible_message("And springs back out!") + playsound(get_turf(owner), 'sound/effects/magic/exit_blood.ogg', 100, TRUE, -1) + owner.visible_message(span_danger("And springs back out!")) SEND_SIGNAL(owner, COMSIG_BLOOD_WARP) return TRUE return FALSE diff --git a/code/datums/actions/mobs/chase_target.dm b/code/datums/actions/mobs/chase_target.dm index c88285dd636be..c64293a863b3e 100644 --- a/code/datums/actions/mobs/chase_target.dm +++ b/code/datums/actions/mobs/chase_target.dm @@ -31,7 +31,7 @@ /// This is the proc that actually does the throwing. Charge only adds a timer for this. /datum/action/cooldown/mob_cooldown/chase_target/proc/throw_thyself() - playsound(owner, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE) + playsound(owner, 'sound/items/weapons/sonic_jackhammer.ogg', 50, TRUE) owner.throw_at(target, 7, 1.1, owner, FALSE, FALSE, CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), owner, 'sound/effects/meteorimpact.ogg', 50 * size, TRUE, 2), INFINITY) /// Resets the charge buffs. diff --git a/code/datums/actions/mobs/create_legion_turrets.dm b/code/datums/actions/mobs/create_legion_turrets.dm index 5fb668ebc36d1..71427893f43da 100644 --- a/code/datums/actions/mobs/create_legion_turrets.dm +++ b/code/datums/actions/mobs/create_legion_turrets.dm @@ -18,7 +18,7 @@ /// Creates new legion turrets around the owner between the minimum and maximum /datum/action/cooldown/mob_cooldown/create_legion_turrets/proc/create(atom/target) - playsound(owner, 'sound/magic/RATTLEMEBONES.ogg', 100, TRUE) + playsound(owner, 'sound/effects/magic/RATTLEMEBONES.ogg', 100, TRUE) var/list/possible_locations = list() for(var/turf/checked_turf in oview(owner, 4)) //Only place the turrets on open turfs if(checked_turf.is_blocked_turf()) @@ -80,7 +80,7 @@ var/angle = get_angle(our_turf, target_turf) var/datum/point/vector/V = new(our_turf.x, our_turf.y, our_turf.z, 0, 0, angle) generate_tracer_between_points(V, V.return_vector_after_increments(6), /obj/effect/projectile/tracer/legion/tracer, 0, shot_delay, 0, 0, 0, null) - playsound(src, 'sound/machines/airlockopen.ogg', 100, TRUE) + playsound(src, 'sound/machines/airlock/airlockopen.ogg', 100, TRUE) addtimer(CALLBACK(src, PROC_REF(fire_beam), angle), shot_delay) /// Called shot_delay after the turret shot the tracer. Shoots a projectile into the same direction. @@ -88,13 +88,13 @@ var/obj/projectile/ouchie = new projectile_type(loc) ouchie.firer = src ouchie.fire(angle) - playsound(src, 'sound/effects/bin_close.ogg', 100, TRUE) + playsound(src, 'sound/effects/bin/bin_close.ogg', 100, TRUE) QDEL_IN(src, 0.5 SECONDS) /// Used for the legion turret. /obj/projectile/beam/legion name = "blood pulse" - hitsound = 'sound/magic/magic_missile.ogg' + hitsound = 'sound/effects/magic/magic_missile.ogg' damage = 19 range = 6 light_color = COLOR_SOFT_RED diff --git a/code/datums/actions/mobs/dash.dm b/code/datums/actions/mobs/dash.dm index 81d6f8165d92c..ad87ab93f9a79 100644 --- a/code/datums/actions/mobs/dash.dm +++ b/code/datums/actions/mobs/dash.dm @@ -52,11 +52,11 @@ new /obj/effect/temp_visual/small_smoke/halfsecond(step_forward_turf) var/obj/effect/temp_visual/decoy/fading/halfsecond/D = new (own_turf, owner) owner.forceMove(step_back_turf) - playsound(own_turf, 'sound/weapons/punchmiss.ogg', 40, TRUE, -1) + playsound(own_turf, 'sound/items/weapons/punchmiss.ogg', 40, TRUE, -1) owner.alpha = 0 animate(owner, alpha = 255, time = 5) SLEEP_CHECK_DEATH(0.2 SECONDS, owner) D.forceMove(step_forward_turf) owner.forceMove(target_turf) - playsound(target_turf, 'sound/weapons/punchmiss.ogg', 40, TRUE, -1) + playsound(target_turf, 'sound/items/weapons/punchmiss.ogg', 40, TRUE, -1) SLEEP_CHECK_DEATH(0.1 SECONDS, owner) diff --git a/code/datums/actions/mobs/fire_breath.dm b/code/datums/actions/mobs/fire_breath.dm index e52fa14d0d905..11ad04fa0df20 100644 --- a/code/datums/actions/mobs/fire_breath.dm +++ b/code/datums/actions/mobs/fire_breath.dm @@ -7,7 +7,7 @@ /// The range of the fire var/fire_range = 15 /// The sound played when you use this ability - var/fire_sound = 'sound/magic/fireball.ogg' + var/fire_sound = 'sound/effects/magic/fireball.ogg' /// Time to wait between spawning each fire turf var/fire_delay = 1.5 DECISECONDS /// How hot is our fire diff --git a/code/datums/actions/mobs/lava_swoop.dm b/code/datums/actions/mobs/lava_swoop.dm index aa512b2d28e8d..2b07734b4a852 100644 --- a/code/datums/actions/mobs/lava_swoop.dm +++ b/code/datums/actions/mobs/lava_swoop.dm @@ -39,7 +39,7 @@ return // stop swooped target movement swooping = TRUE - ADD_TRAIT(owner, TRAIT_UNDENSE, SWOOPING_TRAIT) + owner.add_traits(list(TRAIT_GODMODE, TRAIT_UNDENSE), SWOOPING_TRAIT) owner.visible_message(span_boldwarning("[owner] swoops up high!")) var/negative @@ -66,7 +66,6 @@ animate(owner, alpha = 255, transform = oldtransform, time = 0, flags = ANIMATION_END_NOW) //reset immediately return animate(owner, alpha = 100, transform = matrix()*0.7, time = 7) - owner.status_flags |= GODMODE SEND_SIGNAL(owner, COMSIG_SWOOP_INVULNERABILITY_STARTED) owner.mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -112,12 +111,11 @@ for(var/mob/observer in range(7, owner)) shake_camera(observer, 15, 1) - REMOVE_TRAIT(owner, TRAIT_UNDENSE, SWOOPING_TRAIT) + owner.remove_traits(list(TRAIT_GODMODE, TRAIT_UNDENSE), SWOOPING_TRAIT) SLEEP_CHECK_DEATH(1, owner) swooping = FALSE if(!lava_success) SEND_SIGNAL(owner, COMSIG_LAVA_ARENA_FAILED) - owner.status_flags &= ~GODMODE /datum/action/cooldown/mob_cooldown/lava_swoop/proc/lava_pools(atom/target, amount = 30, delay = 0.8) if(!target) diff --git a/code/datums/actions/mobs/personality_commune.dm b/code/datums/actions/mobs/personality_commune.dm index 26cf483449204..8481d451fb1dd 100644 --- a/code/datums/actions/mobs/personality_commune.dm +++ b/code/datums/actions/mobs/personality_commune.dm @@ -31,7 +31,7 @@ var/mob/living/split_personality/non_controller = usr var/client/non_controller_client = non_controller.client - var/to_send = tgui_input_text(non_controller, "What would you like to tell your other self?", "Commune") + var/to_send = tgui_input_text(non_controller, "What would you like to tell your other self?", "Commune", max_length = MAX_MESSAGE_LEN) if(QDELETED(src) || QDELETED(trauma) || !to_send) return FALSE diff --git a/code/datums/actions/mobs/projectileattack.dm b/code/datums/actions/mobs/projectileattack.dm index d8f8e6bdf6427..933f94d0025f3 100644 --- a/code/datums/actions/mobs/projectileattack.dm +++ b/code/datums/actions/mobs/projectileattack.dm @@ -126,7 +126,7 @@ desc = "Fires projectiles in a spiral pattern." cooldown_time = 3 SECONDS projectile_type = /obj/projectile/colossus - projectile_sound = 'sound/magic/clockwork/invoke_general.ogg' + projectile_sound = 'sound/effects/magic/clockwork/invoke_general.ogg' /// Whether or not the attack is the enraged form var/enraged = FALSE @@ -186,7 +186,7 @@ desc = "Fires projectiles in all directions." cooldown_time = 3 SECONDS projectile_type = /obj/projectile/colossus - projectile_sound = 'sound/magic/clockwork/invoke_general.ogg' + projectile_sound = 'sound/effects/magic/clockwork/invoke_general.ogg' /datum/action/cooldown/mob_cooldown/projectile_attack/random_aoe/attack_sequence(mob/living/firer, atom/target) var/turf/U = get_turf(firer) @@ -208,7 +208,7 @@ desc = "Fires projectiles in a shotgun pattern." cooldown_time = 2 SECONDS projectile_type = /obj/projectile/colossus - projectile_sound = 'sound/magic/clockwork/invoke_general.ogg' + projectile_sound = 'sound/effects/magic/clockwork/invoke_general.ogg' var/list/shot_angles = list(12.5, 7.5, 2.5, -2.5, -7.5, -12.5) /datum/action/cooldown/mob_cooldown/projectile_attack/shotgun_blast/attack_sequence(mob/living/firer, atom/target) @@ -263,7 +263,7 @@ desc = "Fires projectiles in specific directions." cooldown_time = 4 SECONDS projectile_type = /obj/projectile/colossus - projectile_sound = 'sound/magic/clockwork/invoke_general.ogg' + projectile_sound = 'sound/effects/magic/clockwork/invoke_general.ogg' var/list/firing_directions /datum/action/cooldown/mob_cooldown/projectile_attack/dir_shots/New(Target) @@ -308,7 +308,7 @@ desc = "Fires a kinetic accelerator projectile at the target." cooldown_time = 1.5 SECONDS projectile_type = /obj/projectile/kinetic/miner - projectile_sound = 'sound/weapons/kinetic_accel.ogg' + projectile_sound = 'sound/items/weapons/kinetic_accel.ogg' /datum/action/cooldown/mob_cooldown/projectile_attack/kinetic_accelerator/Activate(atom/target_atom) . = ..() diff --git a/code/datums/ai/_ai_behavior.dm b/code/datums/ai/_ai_behavior.dm index eb8f7370dc298..4a277c0e86119 100644 --- a/code/datums/ai/_ai_behavior.dm +++ b/code/datums/ai/_ai_behavior.dm @@ -25,7 +25,7 @@ ///Called when the action is finished. This needs the same args as perform besides the default ones /datum/ai_behavior/proc/finish_action(datum/ai_controller/controller, succeeded, ...) - LAZYREMOVE(controller.current_behaviors, src) + controller.dequeue_behavior(src) controller.behavior_args -= type if(!(behavior_flags & AI_BEHAVIOR_REQUIRE_MOVEMENT)) //If this was a movement task, reset our movement target if necessary return diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm index a2fc1cdc62e18..239f02b05b8b2 100644 --- a/code/datums/ai/_ai_controller.dm +++ b/code/datums/ai/_ai_controller.dm @@ -20,9 +20,9 @@ multiple modular subtrees with behaviors ///Bitfield of traits for this AI to handle extra behavior var/ai_traits = NONE ///Current actions planned to be performed by the AI in the upcoming plan - var/list/planned_behaviors + var/list/planned_behaviors = list() ///Current actions being performed by the AI. - var/list/current_behaviors + var/list/current_behaviors = list() ///Current actions and their respective last time ran as an assoc list. var/list/behavior_cooldowns = list() ///Current status of AI (OFF/ON) @@ -39,8 +39,6 @@ multiple modular subtrees with behaviors var/continue_processing_when_client = FALSE ///distance to give up on target var/max_target_distance = 14 - ///Cooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end - COOLDOWN_DECLARE(failed_planning_cooldown) ///All subtrees this AI has available, will run them in order, so make sure they're in the order you want them to run. On initialization of this type, it will start as a typepath(s) and get converted to references of ai_subtrees found in SSai_controllers when init_subtrees() is called var/list/planning_subtrees @@ -62,19 +60,22 @@ multiple modular subtrees with behaviors var/can_idle = TRUE ///What distance should we be checking for interesting things when considering idling/deidling? Defaults to AI_DEFAULT_INTERESTING_DIST var/interesting_dist = AI_DEFAULT_INTERESTING_DIST - /// TRUE if we're able to run, FALSE if we aren't /// Should not be set manually, override get_able_to_run() instead /// Make sure you hook update_able_to_run() in setup_able_to_run() to whatever parameters changing that you added /// Otherwise we will not pay attention to them changing var/able_to_run = FALSE + /// are we even able to plan? + var/able_to_plan = TRUE + /// are we currently on failed planning timeout? + var/on_failed_planning_timeout = FALSE /datum/ai_controller/New(atom/new_pawn) change_ai_movement_type(ai_movement) init_subtrees() if(idle_behavior) - idle_behavior = new idle_behavior() + idle_behavior = SSidle_ai_behaviors.idle_behaviors[idle_behavior] if(!isnull(new_pawn)) // unit tests need the ai_controller to exist in isolation due to list schenanigans i hate it here PossessPawn(new_pawn) @@ -238,7 +239,7 @@ multiple modular subtrees with behaviors if(!pawn_turf) CRASH("AI controller [src] controlling pawn ([pawn]) is not on a turf.") #endif - if(!length(SSmobs.clients_by_zlevel[pawn_turf.z])) + if(!length(SSmobs.clients_by_zlevel[pawn_turf.z]) || on_failed_planning_timeout || !able_to_run) return AI_STATUS_OFF if(should_idle()) return AI_STATUS_IDLE @@ -298,6 +299,9 @@ multiple modular subtrees with behaviors /datum/ai_controller/proc/update_able_to_run() SIGNAL_HANDLER able_to_run = get_able_to_run() + if(!able_to_run) + GLOB.move_manager.stop_looping(pawn) //stop moving + set_ai_status(get_expected_ai_status()) ///Returns TRUE if the ai controller can actually run at the moment, FALSE otherwise /datum/ai_controller/proc/get_able_to_run() @@ -307,14 +311,36 @@ multiple modular subtrees with behaviors return FALSE return TRUE +///Can this pawn interact with objects? +/datum/ai_controller/proc/ai_can_interact() + SHOULD_CALL_PARENT(TRUE) + return !QDELETED(pawn) + +///Interact with objects +/datum/ai_controller/proc/ai_interact(target, combat_mode, list/modifiers) + if(!ai_can_interact()) + return FALSE + + var/atom/final_target = isdatum(target) ? target : blackboard[target] //incase we got a blackboard key instead + + if(QDELETED(final_target)) + return FALSE + var/params = list2params(modifiers) + var/mob/living/living_pawn = pawn + if(isnull(combat_mode)) + living_pawn.ClickOn(final_target, params) + return TRUE + + var/old_combat_mode = living_pawn.combat_mode + living_pawn.set_combat_mode(combat_mode) + living_pawn.ClickOn(final_target, params) + living_pawn.set_combat_mode(old_combat_mode) + return TRUE + ///Runs any actions that are currently running /datum/ai_controller/process(seconds_per_tick) - if(!able_to_run) - GLOB.move_manager.stop_looping(pawn) //stop moving - return //this should remove them from processing in the future through event-based stuff. - - if(!LAZYLEN(current_behaviors) && idle_behavior) + if(!length(current_behaviors) && idle_behavior) idle_behavior.perform_idle_behavior(seconds_per_tick, src) //Do some stupid shit while we have nothing to do return @@ -336,59 +362,44 @@ multiple modular subtrees with behaviors // Action cooldowns cannot happen faster than seconds_per_tick, so seconds_per_tick should be the value used in this scenario. var/action_seconds_per_tick = max(current_behavior.get_cooldown(src) * 0.1, seconds_per_tick) - if(current_behavior.behavior_flags & AI_BEHAVIOR_REQUIRE_MOVEMENT) //Might need to move closer - if(!current_movement_target) - stack_trace("[pawn] wants to perform action type [current_behavior.type] which requires movement, but has no current movement target!") - return //This can cause issues, so don't let these slide. - ///Stops pawns from performing such actions that should require the target to be adjacent. - var/atom/movable/moving_pawn = pawn - var/can_reach = !(current_behavior.behavior_flags & AI_BEHAVIOR_REQUIRE_REACH) || moving_pawn.CanReach(current_movement_target) - if(can_reach && current_behavior.required_distance >= get_dist(moving_pawn, current_movement_target)) ///Are we close enough to engage? - if(ai_movement.moving_controllers[src] == current_movement_target) //We are close enough, if we're moving stop. - ai_movement.stop_moving_towards(src) - - if(behavior_cooldowns[current_behavior] > world.time) //Still on cooldown - continue - ProcessBehavior(action_seconds_per_tick, current_behavior) - return - - else if(ai_movement.moving_controllers[src] != current_movement_target) //We're too far, if we're not already moving start doing it. - ai_movement.start_moving_towards(src, current_movement_target, current_behavior.required_distance) //Then start moving - - if(current_behavior.behavior_flags & AI_BEHAVIOR_MOVE_AND_PERFORM) //If we can move and perform then do so. - if(behavior_cooldowns[current_behavior] > world.time) //Still on cooldown - continue - ProcessBehavior(action_seconds_per_tick, current_behavior) - return - else //No movement required + if(!(current_behavior.behavior_flags & AI_BEHAVIOR_REQUIRE_MOVEMENT)) if(behavior_cooldowns[current_behavior] > world.time) //Still on cooldown continue ProcessBehavior(action_seconds_per_tick, current_behavior) return -///Determines whether the AI can currently make a new plan -/datum/ai_controller/proc/able_to_plan() - . = TRUE - if(QDELETED(pawn)) - return FALSE - for(var/datum/ai_behavior/current_behavior as anything in current_behaviors) - if(!(current_behavior.behavior_flags & AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION)) //We have a behavior that blocks planning - . = FALSE - break + if(!current_movement_target) + stack_trace("[pawn] wants to perform action type [current_behavior.type] which requires movement, but has no current movement target!") + return //This can cause issues, so don't let these slide. + ///Stops pawns from performing such actions that should require the target to be adjacent. + var/atom/movable/moving_pawn = pawn + var/can_reach = !(current_behavior.behavior_flags & AI_BEHAVIOR_REQUIRE_REACH) || moving_pawn.CanReach(current_movement_target) + if(can_reach && current_behavior.required_distance >= get_dist(moving_pawn, current_movement_target)) ///Are we close enough to engage? + if(ai_movement.moving_controllers[src] == current_movement_target) //We are close enough, if we're moving stop. + ai_movement.stop_moving_towards(src) + + if(behavior_cooldowns[current_behavior] > world.time) //Still on cooldown + continue + ProcessBehavior(action_seconds_per_tick, current_behavior) + return + + if(ai_movement.moving_controllers[src] != current_movement_target) //We're too far, if we're not already moving start doing it. + ai_movement.start_moving_towards(src, current_movement_target, current_behavior.required_distance) //Then start moving + + if(current_behavior.behavior_flags & AI_BEHAVIOR_MOVE_AND_PERFORM) //If we can move and perform then do so. + if(behavior_cooldowns[current_behavior] > world.time) //Still on cooldown + continue + ProcessBehavior(action_seconds_per_tick, current_behavior) + return ///This is where you decide what actions are taken by the AI. /datum/ai_controller/proc/SelectBehaviors(seconds_per_tick) SHOULD_NOT_SLEEP(TRUE) //Fuck you don't sleep in procs like this. - if(!COOLDOWN_FINISHED(src, failed_planning_cooldown)) - return FALSE - - LAZYINITLIST(current_behaviors) - LAZYCLEARLIST(planned_behaviors) + planned_behaviors.Cut() - if(LAZYLEN(planning_subtrees)) - for(var/datum/ai_planning_subtree/subtree as anything in planning_subtrees) - if(subtree.SelectBehaviors(src, seconds_per_tick) == SUBTREE_RETURN_FINISH_PLANNING) - break + for(var/datum/ai_planning_subtree/subtree as anything in planning_subtrees) + if(subtree.SelectBehaviors(src, seconds_per_tick) == SUBTREE_RETURN_FINISH_PLANNING) + break SEND_SIGNAL(src, COMSIG_AI_CONTROLLER_PICKED_BEHAVIORS, current_behaviors, planned_behaviors) for(var/datum/ai_behavior/forgotten_behavior as anything in current_behaviors - planned_behaviors) @@ -441,21 +452,37 @@ multiple modular subtrees with behaviors var/list/arguments = args.Copy() arguments[1] = src - if(LAZYACCESS(current_behaviors, behavior)) ///It's still in the plan, don't add it again to current_behaviors but do keep it in the planned behavior list so its not cancelled - LAZYADDASSOC(planned_behaviors, behavior, TRUE) + if(current_behaviors[behavior]) ///It's still in the plan, don't add it again to current_behaviors but do keep it in the planned behavior list so its not cancelled + planned_behaviors[behavior] = TRUE return if(!behavior.setup(arglist(arguments))) return - LAZYADDASSOC(current_behaviors, behavior, TRUE) - LAZYADDASSOC(planned_behaviors, behavior, TRUE) + + planned_behaviors[behavior] = TRUE + current_behaviors[behavior] = TRUE + arguments.Cut(1, 2) if(length(arguments)) behavior_args[behavior_type] = arguments else behavior_args -= behavior_type + + if(!(behavior.behavior_flags & AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION)) //this one blocks planning! + able_to_plan = FALSE + SEND_SIGNAL(src, AI_CONTROLLER_BEHAVIOR_QUEUED(behavior_type), arguments) +/datum/ai_controller/proc/check_able_to_plan() + for(var/datum/ai_behavior/current_behavior as anything in current_behaviors) + if(!(current_behavior.behavior_flags & AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION)) //We have a behavior that blocks planning + return FALSE + return TRUE + +/datum/ai_controller/proc/dequeue_behavior(datum/ai_behavior/behavior) + current_behaviors -= behavior + able_to_plan = check_able_to_plan() + /datum/ai_controller/proc/ProcessBehavior(seconds_per_tick, datum/ai_behavior/behavior) var/list/arguments = list(seconds_per_tick, src) var/list/stored_arguments = behavior_args[behavior.type] @@ -475,7 +502,7 @@ multiple modular subtrees with behaviors behavior.finish_action(arglist(arguments)) /datum/ai_controller/proc/CancelActions() - if(!LAZYLEN(current_behaviors)) + if(!length(current_behaviors)) return for(var/datum/ai_behavior/current_behavior as anything in current_behaviors) var/list/arguments = list(src, FALSE) @@ -488,6 +515,7 @@ multiple modular subtrees with behaviors /datum/ai_controller/proc/on_stat_changed(mob/living/source, new_stat) SIGNAL_HANDLER reset_ai_status() + update_able_to_run() /datum/ai_controller/proc/on_sentience_gained() SIGNAL_HANDLER @@ -528,6 +556,15 @@ multiple modular subtrees with behaviors minimum_distance = iter_behavior.required_distance return minimum_distance +/datum/ai_controller/proc/planning_failed() + on_failed_planning_timeout = TRUE + set_ai_status(get_expected_ai_status()) + addtimer(CALLBACK(src, PROC_REF(resume_planning)), AI_FAILED_PLANNING_COOLDOWN) + +/datum/ai_controller/proc/resume_planning() + on_failed_planning_timeout = FALSE + set_ai_status(get_expected_ai_status()) + /// Returns true if we have a blackboard key with the provided key and it is not qdeleting /datum/ai_controller/proc/blackboard_key_exists(key) var/datum/key_value = blackboard[key] diff --git a/code/datums/ai/babies/babies_behaviors.dm b/code/datums/ai/babies/babies_behaviors.dm index ad57d309a2c72..aa8a15a03e40b 100644 --- a/code/datums/ai/babies/babies_behaviors.dm +++ b/code/datums/ai/babies/babies_behaviors.dm @@ -58,17 +58,9 @@ var/mob/target = controller.blackboard[target_key] if(QDELETED(target) || target.stat != CONSCIOUS) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED - var/mob/living/basic/living_pawn = controller.pawn - living_pawn.set_combat_mode(FALSE) - living_pawn.melee_attack(target) + controller.ai_interact(target = target, combat_mode = FALSE) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED /datum/ai_behavior/make_babies/finish_action(datum/ai_controller/controller, succeeded, target_key) . = ..() controller.clear_blackboard_key(target_key) - if(!succeeded) - return - var/mob/living/living_pawn = controller.pawn - if(QDELETED(living_pawn)) // pawn can be null at this point - return - living_pawn.set_combat_mode(initial(living_pawn.combat_mode)) diff --git a/code/datums/ai/basic_mobs/base_basic_controller.dm b/code/datums/ai/basic_mobs/base_basic_controller.dm index a14630fa0e83a..f21d31b05000c 100644 --- a/code/datums/ai/basic_mobs/base_basic_controller.dm +++ b/code/datums/ai/basic_mobs/base_basic_controller.dm @@ -19,9 +19,12 @@ /datum/ai_controller/basic_controller/setup_able_to_run() . = ..() RegisterSignal(pawn, COMSIG_MOB_INCAPACITATE_CHANGED, PROC_REF(update_able_to_run)) + if(ai_traits & PAUSE_DURING_DO_AFTER) + RegisterSignals(pawn, list(COMSIG_DO_AFTER_BEGAN, COMSIG_DO_AFTER_ENDED), PROC_REF(update_able_to_run)) + /datum/ai_controller/basic_controller/clear_able_to_run() - UnregisterSignal(pawn, list(COMSIG_MOB_INCAPACITATE_CHANGED, COMSIG_MOB_STATCHANGE)) + UnregisterSignal(pawn, list(COMSIG_MOB_INCAPACITATE_CHANGED, COMSIG_MOB_STATCHANGE, COMSIG_DO_AFTER_BEGAN, COMSIG_DO_AFTER_ENDED)) return ..() /datum/ai_controller/basic_controller/get_able_to_run() diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/basic_attacking.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/basic_attacking.dm index 883c157a96ba9..aba62f2dc7b79 100644 --- a/code/datums/ai/basic_mobs/basic_ai_behaviors/basic_attacking.dm +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/basic_attacking.dm @@ -8,8 +8,6 @@ . = ..() if(!controller.blackboard[targeting_strategy_key]) CRASH("No targeting strategy was supplied in the blackboard for [controller.pawn]") - if(HAS_TRAIT(controller.pawn, TRAIT_HANDS_BLOCKED)) - return FALSE //Hiding location is priority var/atom/target = controller.blackboard[hiding_location_key] || controller.blackboard[target_key] if(QDELETED(target)) @@ -35,11 +33,8 @@ controller.set_blackboard_key(hiding_location_key, hiding_target) - if(hiding_target) //Slap it! - basic_mob.melee_attack(hiding_target) - else - basic_mob.melee_attack(target) - + var/atom/final_target = hiding_target || target + controller.ai_interact(target = final_target, combat_mode = TRUE) if(terminate_after_action) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED return AI_BEHAVIOR_DELAY diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/emote_with_target.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/emote_with_target.dm new file mode 100644 index 0000000000000..7960301d70440 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/emote_with_target.dm @@ -0,0 +1,28 @@ +/datum/ai_behavior/emote_on_target + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_REQUIRE_REACH + + +/datum/ai_behavior/emote_on_target/setup(datum/ai_controller/controller, target_key) + . = ..() + var/atom/hunt_target = controller.blackboard[target_key] + if (isnull(hunt_target)) + return FALSE + set_movement_target(controller, hunt_target) + + +/datum/ai_behavior/emote_on_target/perform(seconds_per_tick, datum/ai_controller/controller, target_key, list/emote_list) + var/atom/target = controller.blackboard[target_key] + if(!length(emote_list) || isnull(target)) + return AI_BEHAVIOR_FAILED | AI_BEHAVIOR_DELAY + run_emote(controller.pawn, target, emote_list) + return AI_BEHAVIOR_SUCCEEDED | AI_BEHAVIOR_DELAY + + +/datum/ai_behavior/emote_on_target/finish_action(datum/ai_controller/controller, succeeded, target_key) + . = ..() + if(succeeded) + controller.clear_blackboard_key(target_key) + + +/datum/ai_behavior/emote_on_target/proc/run_emote(mob/living/living_pawn, atom/target, list/emote_list) + living_pawn.manual_emote("[pick(emote_list)] [target]") diff --git a/code/datums/ai/basic_mobs/basic_subtrees/mine_walls.dm b/code/datums/ai/basic_mobs/basic_subtrees/mine_walls.dm index dc3f6ddcf9015..12875f9a3f345 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/mine_walls.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/mine_walls.dm @@ -24,9 +24,8 @@ var/mob/living/basic/living_pawn = controller.pawn var/turf/closed/mineral/target = controller.blackboard[target_key] var/is_gibtonite_turf = istype(target, /turf/closed/mineral/gibtonite) - if(QDELETED(target)) + if(!controller.ai_interact(target = target)) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED - living_pawn.melee_attack(target) if(is_gibtonite_turf) living_pawn.manual_emote("sighs...") //accept whats about to happen to us diff --git a/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm b/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm index 3640a2052b55e..43a3d400bc58d 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm @@ -43,6 +43,5 @@ if (distance > max_range || distance < min_range) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED - var/mob/living/basic/gunman = controller.pawn - gunman.RangedAttack(target) + controller.ai_interact(target = target, combat_mode = TRUE) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED diff --git a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm index 5bd0f8404883d..7d877731e2b05 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm @@ -46,7 +46,7 @@ /datum/ai_planning_subtree/random_speech/insect speech_chance = 5 - sound = list('sound/creatures/chitter.ogg') + sound = list('sound/mobs/non-humanoids/insect/chitter.ogg') emote_hear = list("chitters.") /datum/ai_planning_subtree/random_speech/mothroach @@ -56,7 +56,7 @@ /datum/ai_planning_subtree/random_speech/mouse speech_chance = 1 speak = list("Squeak!", "SQUEAK!", "Squeak?") - sound = list('sound/creatures/mousesqueek.ogg') + sound = list('sound/mobs/non-humanoids/mouse/mousesqueek.ogg') emote_hear = list("squeaks.") emote_see = list("runs in a circle.", "shakes.") @@ -72,7 +72,7 @@ /datum/ai_planning_subtree/random_speech/sheep speech_chance = 5 speak = list("baaa","baaaAAAAAH!","baaah") - sound = list('sound/creatures/sheep1.ogg', 'sound/creatures/sheep2.ogg', 'sound/creatures/sheep3.ogg') + sound = list('sound/mobs/non-humanoids/sheep/sheep1.ogg', 'sound/mobs/non-humanoids/sheep/sheep2.ogg', 'sound/mobs/non-humanoids/sheep/sheep3.ogg') emote_hear = list("bleats.") emote_see = list("shakes her head.", "stares into the distance.") @@ -101,21 +101,21 @@ /datum/ai_planning_subtree/random_speech/chicken speech_chance = 15 // really talkative ladies speak = list("Cluck!", "BWAAAAARK BWAK BWAK BWAK!", "Bwaak bwak.") - sound = list('sound/creatures/clucks.ogg', 'sound/creatures/bagawk.ogg') + sound = list('sound/mobs/non-humanoids/chicken/clucks.ogg', 'sound/mobs/non-humanoids/chicken/bagawk.ogg') emote_hear = list("clucks.", "croons.") emote_see = list("pecks at the ground.","flaps her wings viciously.") /datum/ai_planning_subtree/random_speech/chick speech_chance = 4 speak = list("Cherp.", "Cherp?", "Chirrup.", "Cheep!") - sound = list('sound/creatures/chick_peep.ogg') + sound = list('sound/mobs/non-humanoids/chicken/chick_peep.ogg') emote_hear = list("cheeps.") emote_see = list("pecks at the ground.","flaps her tiny wings.") /datum/ai_planning_subtree/random_speech/cow speech_chance = 1 speak = list("moo?","moo","MOOOOOO") - sound = list('sound/creatures/cow.ogg') + sound = list('sound/mobs/non-humanoids/cow/cow.ogg') emote_hear = list("brays.") emote_see = list("shakes her head.") @@ -164,19 +164,19 @@ /datum/ai_planning_subtree/random_speech/pig speech_chance = 3 speak = list("oink?","oink","snurf") - sound = list('sound/creatures/pig1.ogg', 'sound/creatures/pig2.ogg') + sound = list('sound/mobs/non-humanoids/pig/pig1.ogg', 'sound/mobs/non-humanoids/pig/pig2.ogg') emote_hear = list("snorts.") emote_see = list("sniffs around.") /datum/ai_planning_subtree/random_speech/pony speech_chance = 3 - sound = list('sound/creatures/pony/whinny01.ogg', 'sound/creatures/pony/whinny02.ogg', 'sound/creatures/pony/whinny03.ogg') + sound = list('sound/mobs/non-humanoids/pony/whinny01.ogg', 'sound/mobs/non-humanoids/pony/whinny02.ogg', 'sound/mobs/non-humanoids/pony/whinny03.ogg') emote_hear = list("whinnies!") emote_see = list("horses around.") /datum/ai_planning_subtree/random_speech/pony/tamed speech_chance = 3 - sound = list('sound/creatures/pony/snort.ogg') + sound = list('sound/mobs/non-humanoids/pony/snort.ogg') emote_hear = list("snorts.") emote_see = list("snorts.") @@ -188,7 +188,7 @@ /datum/ai_planning_subtree/random_speech/ant speech_chance = 1 speak = list("BZZZZT!", "CHTCHTCHT!", "Bzzz", "ChtChtCht") - sound = list('sound/creatures/chitter.ogg') + sound = list('sound/mobs/non-humanoids/insect/chitter.ogg') emote_hear = list("buzzes.", "clacks.") emote_see = list("shakes their head.", "twitches their antennae.") @@ -200,7 +200,7 @@ /datum/ai_planning_subtree/random_speech/crab speech_chance = 1 - sound = list('sound/creatures/claw_click.ogg') + sound = list('sound/mobs/non-humanoids/crab/claw_click.ogg') emote_hear = list("clicks.") emote_see = list("clacks.") @@ -216,11 +216,9 @@ /datum/ai_planning_subtree/random_speech/cats speech_chance = 10 - speak = list( - "mrawww!", - "meow!", - "maw!", - ) + sound = list(SFX_CAT_MEOW) + emote_hear = list("meows.") + emote_see = list("meows.") /datum/ai_planning_subtree/random_speech/blackboard //literal tower of babel, subtree form speech_chance = 1 diff --git a/code/datums/ai/basic_mobs/pet_commands/fetch.dm b/code/datums/ai/basic_mobs/pet_commands/fetch.dm index 87606fa0c6555..5ff208560d2a1 100644 --- a/code/datums/ai/basic_mobs/pet_commands/fetch.dm +++ b/code/datums/ai/basic_mobs/pet_commands/fetch.dm @@ -109,7 +109,7 @@ if(!basic_pawn.Adjacent(snack)) return AI_BEHAVIOR_DELAY - basic_pawn.melee_attack(snack) // snack attack! + controller.ai_interact(target = snack) if(QDELETED(snack)) // we ate it! return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED diff --git a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm index 709acb8d5e892..d552b69c142dc 100644 --- a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm +++ b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm @@ -25,8 +25,7 @@ if(ismob(the_target)) //Target is in godmode, ignore it. if(living_mob.loc == the_target) return FALSE // We've either been eaten or are shapeshifted, let's assume the latter because we're still alive - var/mob/M = the_target - if(M.status_flags & GODMODE) + if(HAS_TRAIT(the_target, TRAIT_GODMODE)) return FALSE if (vision_range && get_dist(living_mob, the_target) > vision_range) diff --git a/code/datums/ai/cursed/cursed_controller.dm b/code/datums/ai/cursed/cursed_controller.dm index 4d0f6c6f5fdc6..aa32496f35724 100644 --- a/code/datums/ai/cursed/cursed_controller.dm +++ b/code/datums/ai/cursed/cursed_controller.dm @@ -27,9 +27,9 @@ return ..() //Run parent at end ///signal called by the pawn hitting something after a throw -/datum/ai_controller/cursed/proc/on_throw_hit(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) +/datum/ai_controller/cursed/proc/on_throw_hit(datum/source, atom/hit_atom, datum/thrownthing/throwing_datum, caught) SIGNAL_HANDLER - if(!iscarbon(hit_atom)) + if(caught || !iscarbon(hit_atom)) return //equipcode has sleeps all over it. INVOKE_ASYNC(src, PROC_REF(try_equipping_to_target_slot), hit_atom) diff --git a/code/datums/ai/dog/dog_behaviors.dm b/code/datums/ai/dog/dog_behaviors.dm index 00a2f789e12b5..958b1f3d03de1 100644 --- a/code/datums/ai/dog/dog_behaviors.dm +++ b/code/datums/ai/dog/dog_behaviors.dm @@ -44,7 +44,7 @@ if(!SPT_PROB(20, seconds_per_tick)) return living_pawn.do_attack_animation(target, ATTACK_EFFECT_DISARM) - playsound(target, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + playsound(target, 'sound/items/weapons/thudswoosh.ogg', 50, TRUE, -1) target.visible_message(span_danger("[living_pawn] paws ineffectually at [target]!"), span_danger("[living_pawn] paws ineffectually at you!")) /// Let them know we mean business @@ -54,4 +54,4 @@ living_pawn.manual_emote("[pick("barks", "growls", "stares")] menacingly at [target]!") if(!SPT_PROB(40, seconds_per_tick)) return - playsound(living_pawn, pick('sound/creatures/dog/growl1.ogg', 'sound/creatures/dog/growl2.ogg'), 50, TRUE, -1) + playsound(living_pawn, pick('sound/mobs/non-humanoids/dog/growl1.ogg', 'sound/mobs/non-humanoids/dog/growl2.ogg'), 50, TRUE, -1) diff --git a/code/datums/ai/generic/find_and_set.dm b/code/datums/ai/generic/find_and_set.dm index 41f256c9ba73f..5a424f304f28f 100644 --- a/code/datums/ai/generic/find_and_set.dm +++ b/code/datums/ai/generic/find_and_set.dm @@ -177,3 +177,17 @@ var/mob/living/living_pawn = controller.pawn var/potential_friend = living_pawn.faction.Find(REF(friend)) ? friend : null return potential_friend + + +/datum/ai_behavior/find_and_set/in_list/turf_types + + +/datum/ai_behavior/find_and_set/in_list/turf_types/search_tactic(datum/ai_controller/controller, locate_paths, search_range) + var/list/found = RANGE_TURFS(search_range, controller.pawn) + shuffle_inplace(found) + for(var/turf/possible_turf as anything in found) + if(!is_type_in_typecache(possible_turf, locate_paths)) + continue + if(can_see(controller.pawn, possible_turf, search_range)) + return possible_turf + return null diff --git a/code/datums/ai/generic/generic_behaviors.dm b/code/datums/ai/generic/generic_behaviors.dm index 1c0e1f65adf96..c6fcbcfb57265 100644 --- a/code/datums/ai/generic/generic_behaviors.dm +++ b/code/datums/ai/generic/generic_behaviors.dm @@ -101,11 +101,10 @@ if(QDELETED(target)) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED - pawn.set_combat_mode(FALSE) if(held_item) held_item.melee_attack_chain(pawn, target) else - pawn.UnarmedAttack(target, TRUE) + controller.ai_interact(target = target, combat_mode = FALSE) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED diff --git a/code/datums/ai/hunting_behavior/hunting_behaviors.dm b/code/datums/ai/hunting_behavior/hunting_behaviors.dm index ba2da1c2d04e8..c202c4be6a7d8 100644 --- a/code/datums/ai/hunting_behavior/hunting_behaviors.dm +++ b/code/datums/ai/hunting_behavior/hunting_behaviors.dm @@ -117,31 +117,23 @@ if(always_reset_target && hunting_target_key) controller.clear_blackboard_key(hunting_target_key) -/datum/ai_behavior/hunt_target/unarmed_attack_target - ///do we toggle combat mode before interacting with the object? - var/switch_combat_mode = FALSE +/datum/ai_behavior/hunt_target/interact_with_target + ///what combat mode should we use to interact with + var/behavior_combat_mode = TRUE -/datum/ai_behavior/hunt_target/unarmed_attack_target/target_caught(mob/living/hunter, obj/structure/cable/hunted) - if(switch_combat_mode) - hunter.combat_mode = !(hunter.combat_mode) - hunter.UnarmedAttack(hunted, TRUE) +/datum/ai_behavior/hunt_target/interact_with_target/target_caught(mob/living/hunter, obj/structure/cable/hunted) + var/datum/ai_controller/controller = hunter.ai_controller + controller.ai_interact(target = hunted, combat_mode = behavior_combat_mode) -/datum/ai_behavior/hunt_target/unarmed_attack_target/finish_action(datum/ai_controller/controller, succeeded, hunting_target_key, hunting_cooldown_key) - . = ..() - if(!switch_combat_mode) - return - var/mob/living/living_pawn = controller.pawn - living_pawn.combat_mode = initial(living_pawn.combat_mode) - -/datum/ai_behavior/hunt_target/unarmed_attack_target/switch_combat_mode - switch_combat_mode = TRUE +/datum/ai_behavior/hunt_target/interact_with_target/combat_mode_off + behavior_combat_mode = FALSE -/datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target +/datum/ai_behavior/hunt_target/interact_with_target/reset_target always_reset_target = TRUE -/datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target_combat_mode +/datum/ai_behavior/hunt_target/interact_with_target/reset_target_combat_mode_off always_reset_target = TRUE - switch_combat_mode = TRUE + behavior_combat_mode = FALSE /datum/ai_behavior/hunt_target/use_ability_on_target always_reset_target = TRUE diff --git a/code/datums/ai/hunting_behavior/hunting_corpses.dm b/code/datums/ai/hunting_behavior/hunting_corpses.dm index e720e4da947af..89d100263fb1a 100644 --- a/code/datums/ai/hunting_behavior/hunting_corpses.dm +++ b/code/datums/ai/hunting_behavior/hunting_corpses.dm @@ -1,7 +1,7 @@ /// Find and attack corpses /datum/ai_planning_subtree/find_and_hunt_target/corpses finding_behavior = /datum/ai_behavior/find_hunt_target/corpses - hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target + hunting_behavior = /datum/ai_behavior/hunt_target/interact_with_target hunt_targets = list(/mob/living) /// Find nearby dead mobs diff --git a/code/datums/ai/hunting_behavior/hunting_lights.dm b/code/datums/ai/hunting_behavior/hunting_lights.dm index 6b82e87f2693b..5062a8aaf929e 100644 --- a/code/datums/ai/hunting_behavior/hunting_lights.dm +++ b/code/datums/ai/hunting_behavior/hunting_lights.dm @@ -1,11 +1,11 @@ /datum/ai_planning_subtree/find_and_hunt_target/look_for_light_fixtures target_key = BB_LOW_PRIORITY_HUNTING_TARGET finding_behavior = /datum/ai_behavior/find_hunt_target/light_fixtures - hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/light_fixtures + hunting_behavior = /datum/ai_behavior/hunt_target/interact_with_target/light_fixtures hunt_targets = list(/obj/machinery/light) hunt_range = 7 -/datum/ai_behavior/hunt_target/unarmed_attack_target/light_fixtures +/datum/ai_behavior/hunt_target/interact_with_target/light_fixtures hunt_cooldown = 10 SECONDS always_reset_target = TRUE diff --git a/code/datums/ai/hunting_behavior/hunting_mouse.dm b/code/datums/ai/hunting_behavior/hunting_mouse.dm index d0e7161fd2de6..f97ebf27ddf6f 100644 --- a/code/datums/ai/hunting_behavior/hunting_mouse.dm +++ b/code/datums/ai/hunting_behavior/hunting_mouse.dm @@ -1,13 +1,13 @@ // Mouse subtree to hunt down delicious cheese. /datum/ai_planning_subtree/find_and_hunt_target/look_for_cheese - hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/mouse + hunting_behavior = /datum/ai_behavior/hunt_target/interact_with_target/mouse hunt_targets = list(/obj/item/food/cheese) hunt_range = 1 // Mouse subtree to hunt down ... delicious cabling? /datum/ai_planning_subtree/find_and_hunt_target/look_for_cables target_key = BB_LOW_PRIORITY_HUNTING_TARGET - hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/mouse + hunting_behavior = /datum/ai_behavior/hunt_target/interact_with_target/mouse finding_behavior = /datum/ai_behavior/find_hunt_target/mouse_cable hunt_targets = list(/obj/structure/cable) hunt_range = 0 // Only look below us @@ -28,5 +28,5 @@ return below_the_cable.underfloor_accessibility >= UNDERFLOOR_INTERACTABLE // Our hunts have a decent cooldown. -/datum/ai_behavior/hunt_target/unarmed_attack_target/mouse +/datum/ai_behavior/hunt_target/interact_with_target/mouse hunt_cooldown = 20 SECONDS diff --git a/code/datums/ai/monkey/monkey_behaviors.dm b/code/datums/ai/monkey/monkey_behaviors.dm index e6720d7d96a78..126c08daa1e8b 100644 --- a/code/datums/ai/monkey/monkey_behaviors.dm +++ b/code/datums/ai/monkey/monkey_behaviors.dm @@ -186,7 +186,7 @@ if(weapon) weapon.melee_attack_chain(living_pawn, target) else - living_pawn.UnarmedAttack(target, null, disarm ? list("right" = TRUE) : null) //Fake a right click if we're disarmin + controller.ai_interact(target = target, modifiers = disarm ? list(RIGHT_CLICK = TRUE) : null) controller.set_blackboard_key(BB_MONKEY_GUN_WORKED, TRUE) // We reset their memory of the gun being 'broken' if they accomplish some other attack else if(weapon) var/atom/real_target = target diff --git a/code/datums/ai/movement/_ai_movement.dm b/code/datums/ai/movement/_ai_movement.dm index c1b3aae5bd60f..33b7e4e214f6b 100644 --- a/code/datums/ai/movement/_ai_movement.dm +++ b/code/datums/ai/movement/_ai_movement.dm @@ -11,6 +11,7 @@ controller.consecutive_pathing_attempts = 0 controller.set_blackboard_key(BB_CURRENT_MIN_MOVE_DISTANCE, min_distance) moving_controllers[controller] = current_movement_target + SEND_SIGNAL(controller.pawn, COMSIG_MOB_AI_MOVEMENT_STARTED, current_movement_target) /datum/ai_movement/proc/stop_moving_towards(datum/ai_controller/controller) controller.consecutive_pathing_attempts = 0 diff --git a/code/datums/ai_laws/ai_laws.dm b/code/datums/ai_laws/ai_laws.dm index 0dbc6839430ba..a0d1d629fc8d3 100644 --- a/code/datums/ai_laws/ai_laws.dm +++ b/code/datums/ai_laws/ai_laws.dm @@ -192,7 +192,7 @@ GLOBAL_VAR(round_default_lawset) var/datum/ai_laws/default_laws = get_round_default_lawset() default_laws = new default_laws() inherent = default_laws.inherent - var/datum/job/human_ai_job = SSjob.GetJob(JOB_HUMAN_AI) + var/datum/job/human_ai_job = SSjob.get_job(JOB_HUMAN_AI) if(human_ai_job && human_ai_job.current_positions && !zeroth) //there is a human AI so we "slave" to that. zeroth = "Follow the orders of Big Brother." protected_zeroth = TRUE diff --git a/code/datums/announcers/default_announcer.dm b/code/datums/announcers/default_announcer.dm index 9db822e02feff..bf24f611af842 100644 --- a/code/datums/announcers/default_announcer.dm +++ b/code/datums/announcers/default_announcer.dm @@ -1,20 +1,20 @@ /datum/centcom_announcer/default - welcome_sounds = list('sound/ai/default/welcome.ogg') - alert_sounds = list('sound/ai/default/attention.ogg') - command_report_sounds = list('sound/ai/default/commandreport.ogg') - event_sounds = list(ANNOUNCER_AIMALF = 'sound/ai/default/aimalf.ogg', - ANNOUNCER_ALIENS = 'sound/ai/default/aliens.ogg', - ANNOUNCER_ANIMES = 'sound/ai/default/animes.ogg', - ANNOUNCER_GRANOMALIES = 'sound/ai/default/granomalies.ogg', - ANNOUNCER_INTERCEPT = 'sound/ai/default/intercept.ogg', - ANNOUNCER_IONSTORM = 'sound/ai/default/ionstorm.ogg', - ANNOUNCER_METEORS = 'sound/ai/default/meteors.ogg', - ANNOUNCER_OUTBREAK5 = 'sound/ai/default/outbreak5.ogg', - ANNOUNCER_OUTBREAK7 = 'sound/ai/default/outbreak7.ogg', - ANNOUNCER_POWEROFF = 'sound/ai/default/poweroff.ogg', - ANNOUNCER_POWERON = 'sound/ai/default/poweron.ogg', - ANNOUNCER_RADIATION = 'sound/ai/default/radiation.ogg', - ANNOUNCER_SHUTTLECALLED = 'sound/ai/default/shuttlecalled.ogg', - ANNOUNCER_SHUTTLEDOCK = 'sound/ai/default/shuttledock.ogg', - ANNOUNCER_SHUTTLERECALLED = 'sound/ai/default/shuttlerecalled.ogg', - ANNOUNCER_SPANOMALIES = 'sound/ai/default/spanomalies.ogg') + welcome_sounds = list('sound/announcer/default/welcome.ogg') + alert_sounds = list('sound/announcer/default/attention.ogg') + command_report_sounds = list('sound/announcer/default/commandreport.ogg') + event_sounds = list(ANNOUNCER_AIMALF = 'sound/announcer/default/aimalf.ogg', + ANNOUNCER_ALIENS = 'sound/announcer/default/aliens.ogg', + ANNOUNCER_ANIMES = 'sound/announcer/default/animes.ogg', + ANNOUNCER_GRANOMALIES = 'sound/announcer/default/granomalies.ogg', + ANNOUNCER_INTERCEPT = 'sound/announcer/default/intercept.ogg', + ANNOUNCER_IONSTORM = 'sound/announcer/default/ionstorm.ogg', + ANNOUNCER_METEORS = 'sound/announcer/default/meteors.ogg', + ANNOUNCER_OUTBREAK5 = 'sound/announcer/default/outbreak5.ogg', + ANNOUNCER_OUTBREAK7 = 'sound/announcer/default/outbreak7.ogg', + ANNOUNCER_POWEROFF = 'sound/announcer/default/poweroff.ogg', + ANNOUNCER_POWERON = 'sound/announcer/default/poweron.ogg', + ANNOUNCER_RADIATION = 'sound/announcer/default/radiation.ogg', + ANNOUNCER_SHUTTLECALLED = 'sound/announcer/default/shuttlecalled.ogg', + ANNOUNCER_SHUTTLEDOCK = 'sound/announcer/default/shuttledock.ogg', + ANNOUNCER_SHUTTLERECALLED = 'sound/announcer/default/shuttlerecalled.ogg', + ANNOUNCER_SPANOMALIES = 'sound/announcer/default/spanomalies.ogg') diff --git a/code/datums/announcers/intern_announcer.dm b/code/datums/announcers/intern_announcer.dm index 5e8544c18710f..635508256b781 100644 --- a/code/datums/announcers/intern_announcer.dm +++ b/code/datums/announcers/intern_announcer.dm @@ -1,46 +1,46 @@ /datum/centcom_announcer/intern - welcome_sounds = list('sound/ai/intern/welcome/1.ogg', - 'sound/ai/intern/welcome/2.ogg', - 'sound/ai/intern/welcome/3.ogg', - 'sound/ai/intern/welcome/4.ogg', - 'sound/ai/intern/welcome/5.ogg', - 'sound/ai/intern/welcome/6.ogg') + welcome_sounds = list('sound/announcer/intern/welcome/1.ogg', + 'sound/announcer/intern/welcome/2.ogg', + 'sound/announcer/intern/welcome/3.ogg', + 'sound/announcer/intern/welcome/4.ogg', + 'sound/announcer/intern/welcome/5.ogg', + 'sound/announcer/intern/welcome/6.ogg') - alert_sounds = list('sound/ai/intern/alerts/1.ogg', - 'sound/ai/intern/alerts/2.ogg', - 'sound/ai/intern/alerts/3.ogg', - 'sound/ai/intern/alerts/4.ogg', - 'sound/ai/intern/alerts/5.ogg', - 'sound/ai/intern/alerts/6.ogg', - 'sound/ai/intern/alerts/7.ogg', - 'sound/ai/intern/alerts/8.ogg', - 'sound/ai/intern/alerts/9.ogg', - 'sound/ai/intern/alerts/10.ogg', - 'sound/ai/intern/alerts/11.ogg', - 'sound/ai/intern/alerts/12.ogg', - 'sound/ai/intern/alerts/13.ogg', - 'sound/ai/intern/alerts/14.ogg') + alert_sounds = list('sound/announcer/intern/alerts/1.ogg', + 'sound/announcer/intern/alerts/2.ogg', + 'sound/announcer/intern/alerts/3.ogg', + 'sound/announcer/intern/alerts/4.ogg', + 'sound/announcer/intern/alerts/5.ogg', + 'sound/announcer/intern/alerts/6.ogg', + 'sound/announcer/intern/alerts/7.ogg', + 'sound/announcer/intern/alerts/8.ogg', + 'sound/announcer/intern/alerts/9.ogg', + 'sound/announcer/intern/alerts/10.ogg', + 'sound/announcer/intern/alerts/11.ogg', + 'sound/announcer/intern/alerts/12.ogg', + 'sound/announcer/intern/alerts/13.ogg', + 'sound/announcer/intern/alerts/14.ogg') - command_report_sounds = list('sound/ai/intern/commandreport/1.ogg', - 'sound/ai/intern/commandreport/2.ogg', - 'sound/ai/intern/commandreport/3.ogg') + command_report_sounds = list('sound/announcer/intern/commandreport/1.ogg', + 'sound/announcer/intern/commandreport/2.ogg', + 'sound/announcer/intern/commandreport/3.ogg') - event_sounds = list(ANNOUNCER_AIMALF = 'sound/ai/default/aimalf.ogg', - ANNOUNCER_ALIENS = 'sound/ai/intern/aliens.ogg', - ANNOUNCER_ANIMES = 'sound/ai/intern/animes.ogg', - ANNOUNCER_GRANOMALIES = 'sound/ai/intern/granomalies.ogg', - ANNOUNCER_INTERCEPT = 'sound/ai/intern/intercept.ogg', - ANNOUNCER_IONSTORM = 'sound/ai/intern/ionstorm.ogg', - ANNOUNCER_METEORS = 'sound/ai/intern/meteors.ogg', - ANNOUNCER_OUTBREAK5 = 'sound/ai/intern/outbreak5.ogg', - ANNOUNCER_OUTBREAK7 = 'sound/ai/intern/outbreak7.ogg', - ANNOUNCER_POWEROFF = 'sound/ai/intern/poweroff.ogg', - ANNOUNCER_POWERON = 'sound/ai/intern/poweron.ogg', - ANNOUNCER_RADIATION = 'sound/ai/intern/radiation.ogg', - ANNOUNCER_SHUTTLECALLED = 'sound/ai/intern/shuttlecalled.ogg', - ANNOUNCER_SHUTTLEDOCK = 'sound/ai/intern/shuttledock.ogg', - ANNOUNCER_SHUTTLERECALLED = 'sound/ai/intern/shuttlerecalled.ogg', - ANNOUNCER_SPANOMALIES = 'sound/ai/intern/spanomalies.ogg') + event_sounds = list(ANNOUNCER_AIMALF = 'sound/announcer/default/aimalf.ogg', + ANNOUNCER_ALIENS = 'sound/announcer/intern/aliens.ogg', + ANNOUNCER_ANIMES = 'sound/announcer/intern/animes.ogg', + ANNOUNCER_GRANOMALIES = 'sound/announcer/intern/granomalies.ogg', + ANNOUNCER_INTERCEPT = 'sound/announcer/intern/intercept.ogg', + ANNOUNCER_IONSTORM = 'sound/announcer/intern/ionstorm.ogg', + ANNOUNCER_METEORS = 'sound/announcer/intern/meteors.ogg', + ANNOUNCER_OUTBREAK5 = 'sound/announcer/intern/outbreak5.ogg', + ANNOUNCER_OUTBREAK7 = 'sound/announcer/intern/outbreak7.ogg', + ANNOUNCER_POWEROFF = 'sound/announcer/intern/poweroff.ogg', + ANNOUNCER_POWERON = 'sound/announcer/intern/poweron.ogg', + ANNOUNCER_RADIATION = 'sound/announcer/intern/radiation.ogg', + ANNOUNCER_SHUTTLECALLED = 'sound/announcer/intern/shuttlecalled.ogg', + ANNOUNCER_SHUTTLEDOCK = 'sound/announcer/intern/shuttledock.ogg', + ANNOUNCER_SHUTTLERECALLED = 'sound/announcer/intern/shuttlerecalled.ogg', + ANNOUNCER_SPANOMALIES = 'sound/announcer/intern/spanomalies.ogg') - custom_alert_message = "Please stand by for an important message from our new intern.
" + custom_alert_message = span_alert("Please stand by for an important message from our new intern.
") diff --git a/code/datums/announcers/medbot_announcer.dm b/code/datums/announcers/medbot_announcer.dm index 17e8555221320..7269fe85c5703 100644 --- a/code/datums/announcers/medbot_announcer.dm +++ b/code/datums/announcers/medbot_announcer.dm @@ -1,21 +1,21 @@ /datum/centcom_announcer/medbot - welcome_sounds = list('sound/ai/medbot/welcome.ogg', - 'sound/ai/medbot/newAI.ogg') - alert_sounds = list('sound/ai/medbot/attention.ogg') - command_report_sounds = list('sound/ai/medbot/commandreport.ogg') - event_sounds = list(ANNOUNCER_AIMALF = 'sound/ai/default/aimalf.ogg', - ANNOUNCER_ALIENS = 'sound/ai/medbot/aliens.ogg', - ANNOUNCER_ANIMES = 'sound/ai/medbot/animes.ogg', - ANNOUNCER_GRANOMALIES = 'sound/ai/medbot/granomalies.ogg', - ANNOUNCER_INTERCEPT = 'sound/ai/medbot/intercept.ogg', - ANNOUNCER_IONSTORM = 'sound/ai/medbot/ionstorm.ogg', - ANNOUNCER_METEORS = 'sound/ai/medbot/meteors.ogg', - ANNOUNCER_OUTBREAK5 = 'sound/ai/medbot/outbreak5.ogg', - ANNOUNCER_OUTBREAK7 = 'sound/ai/medbot/outbreak7.ogg', - ANNOUNCER_POWEROFF = 'sound/ai/medbot/poweroff.ogg', - ANNOUNCER_POWERON = 'sound/ai/medbot/poweron.ogg', - ANNOUNCER_RADIATION = 'sound/ai/medbot/radiation.ogg', - ANNOUNCER_SHUTTLECALLED = 'sound/ai/medbot/shuttlecalled.ogg', - ANNOUNCER_SHUTTLEDOCK = 'sound/ai/medbot/shuttledock.ogg', - ANNOUNCER_SHUTTLERECALLED = 'sound/ai/medbot/shuttlerecalled.ogg', - ANNOUNCER_SPANOMALIES = 'sound/ai/medbot/spanomalies.ogg') + welcome_sounds = list('sound/announcer/medbot/welcome.ogg', + 'sound/announcer/medbot/newAI.ogg') + alert_sounds = list('sound/announcer/medbot/attention.ogg') + command_report_sounds = list('sound/announcer/medbot/commandreport.ogg') + event_sounds = list(ANNOUNCER_AIMALF = 'sound/announcer/default/aimalf.ogg', + ANNOUNCER_ALIENS = 'sound/announcer/medbot/aliens.ogg', + ANNOUNCER_ANIMES = 'sound/announcer/medbot/animes.ogg', + ANNOUNCER_GRANOMALIES = 'sound/announcer/medbot/granomalies.ogg', + ANNOUNCER_INTERCEPT = 'sound/announcer/medbot/intercept.ogg', + ANNOUNCER_IONSTORM = 'sound/announcer/medbot/ionstorm.ogg', + ANNOUNCER_METEORS = 'sound/announcer/medbot/meteors.ogg', + ANNOUNCER_OUTBREAK5 = 'sound/announcer/medbot/outbreak5.ogg', + ANNOUNCER_OUTBREAK7 = 'sound/announcer/medbot/outbreak7.ogg', + ANNOUNCER_POWEROFF = 'sound/announcer/medbot/poweroff.ogg', + ANNOUNCER_POWERON = 'sound/announcer/medbot/poweron.ogg', + ANNOUNCER_RADIATION = 'sound/announcer/medbot/radiation.ogg', + ANNOUNCER_SHUTTLECALLED = 'sound/announcer/medbot/shuttlecalled.ogg', + ANNOUNCER_SHUTTLEDOCK = 'sound/announcer/medbot/shuttledock.ogg', + ANNOUNCER_SHUTTLERECALLED = 'sound/announcer/medbot/shuttlerecalled.ogg', + ANNOUNCER_SPANOMALIES = 'sound/announcer/medbot/spanomalies.ogg') diff --git a/code/datums/beam.dm b/code/datums/beam.dm index fe34b0c7eddee..ad27ee5ee3edf 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -122,10 +122,10 @@ /datum/beam/proc/Draw() if(SEND_SIGNAL(src, COMSIG_BEAM_BEFORE_DRAW) & BEAM_CANCEL_DRAW) return - var/origin_px = isnull(override_origin_pixel_x) ? origin.pixel_x : override_origin_pixel_x - var/origin_py = isnull(override_origin_pixel_y) ? origin.pixel_y : override_origin_pixel_y - var/target_px = isnull(override_target_pixel_x) ? target.pixel_x : override_target_pixel_x - var/target_py = isnull(override_target_pixel_y) ? target.pixel_y : override_target_pixel_y + var/origin_px = (isnull(override_origin_pixel_x) ? origin.pixel_x : override_origin_pixel_x) + origin.pixel_w + var/origin_py = (isnull(override_origin_pixel_y) ? origin.pixel_y : override_origin_pixel_y) + origin.pixel_z + var/target_px = (isnull(override_target_pixel_x) ? target.pixel_x : override_target_pixel_x) + target.pixel_w + var/target_py = (isnull(override_target_pixel_y) ? target.pixel_y : override_target_pixel_y) + target.pixel_z var/Angle = get_angle_raw(origin.x, origin.y, origin_px, origin_py, target.x , target.y, target_px, target_py) ///var/Angle = round(get_angle(origin,target)) var/matrix/rot_matrix = matrix() @@ -212,6 +212,9 @@ /obj/effect/ebeam/singularity_act() return +/obj/effect/ebeam/Process_Spacemove(movement_dir, continuous_move) + return TRUE + /// A beam subtype used for advanced beams, to react to atoms entering the beam /obj/effect/ebeam/reacting /// If TRUE, atoms that exist in the beam's loc when inited count as "entering" the beam diff --git a/code/datums/brain_damage/creepy_trauma.dm b/code/datums/brain_damage/creepy_trauma.dm index 742f1fe57e9db..d908dfc0e613c 100644 --- a/code/datums/brain_damage/creepy_trauma.dm +++ b/code/datums/brain_damage/creepy_trauma.dm @@ -66,7 +66,8 @@ /datum/brain_trauma/special/obsessed/on_lose() ..() - owner.mind.remove_antag_datum(/datum/antagonist/obsessed) + if (owner.mind.remove_antag_datum(/datum/antagonist/obsessed)) + owner.mind.add_antag_datum(/datum/antagonist/former_obsessed) owner.clear_mood_event("creeping") if(obsession) log_game("[key_name(owner)] is no longer obsessed with [key_name(obsession)].") diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index f4c78bc9007e6..ad60f6cd9a6a5 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -1,3 +1,8 @@ + +#define IMAGINARY_FRIEND_RANGE 9 +#define IMAGINARY_FRIEND_SPEECH_RANGE IMAGINARY_FRIEND_RANGE +#define IMAGINARY_FRIEND_EXTENDED_SPEECH_RANGE 999 + /datum/brain_trauma/special/imaginary_friend name = "Imaginary Friend" desc = "Patient can see and hear an imaginary person." @@ -88,11 +93,15 @@ var/mob/living/owner var/bubble_icon = "default" + /// Whether our host and other imaginary friends can hear us only when nearby or practically anywhere. + var/extended_message_range = TRUE + /mob/camera/imaginary_friend/Login() . = ..() if(!. || !client) return FALSE - greet() + if(owner) + greet() Show() /mob/camera/imaginary_friend/proc/greet() @@ -119,6 +128,7 @@ if(!owner.imaginary_group) owner.imaginary_group = list(owner) owner.imaginary_group += src + greet() /// Copies appearance from passed player prefs, or randomises them if none are provided /mob/camera/imaginary_friend/proc/setup_appearance(datum/preferences/appearance_from_prefs = null) @@ -156,11 +166,11 @@ for(var/job in appearance_from_prefs.job_preferences) var/this_pref = appearance_from_prefs.job_preferences[job] if(this_pref > highest_pref) - appearance_job = SSjob.GetJob(job) + appearance_job = SSjob.get_job(job) highest_pref = this_pref if(!appearance_job) - appearance_job = SSjob.GetJob(JOB_ASSISTANT) + appearance_job = SSjob.get_job(JOB_ASSISTANT) if(istype(appearance_job, /datum/job/ai)) human_image = icon('icons/mob/silicon/ai.dmi', icon_state = resolve_ai_icon(appearance_from_prefs.read_preference(/datum/preference/choiced/ai_core_display)), dir = SOUTH) @@ -212,7 +222,7 @@ create_chat_message(speaker, message_language, raw_message, spans) to_chat(src, compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mods)) -/mob/camera/imaginary_friend/send_speech(message, range = 7, obj/source = src, bubble_type = bubble_icon, list/spans = list(), datum/language/message_language = null, list/message_mods = list(), forced = null) +/mob/camera/imaginary_friend/send_speech(message, range = IMAGINARY_FRIEND_SPEECH_RANGE, obj/source = src, bubble_type = bubble_icon, list/spans = list(), datum/language/message_language = null, list/message_mods = list(), forced = null) message = get_message_mods(message, message_mods) message = capitalize(message) @@ -232,6 +242,9 @@ message = "[randomnote] [capitalize(message)] [randomnote]" spans |= SPAN_SINGING + if(extended_message_range) + range = IMAGINARY_FRIEND_EXTENDED_SPEECH_RANGE + var/eavesdrop_range = 0 if (message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) @@ -383,7 +396,7 @@ var/obj/visual = image('icons/hud/screen_gen.dmi', our_tile, "arrow", FLY_LAYER) INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay_global), visual, group_clients(), 2.5 SECONDS) - animate(visual, pixel_x = (tile.x - our_tile.x) * world.icon_size + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * world.icon_size + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT) + animate(visual, pixel_x = (tile.x - our_tile.x) * ICON_SIZE_X + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * ICON_SIZE_Y + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT) /mob/camera/imaginary_friend/create_thinking_indicator() if(active_thinking_indicator || active_typing_indicator || !HAS_TRAIT(src, TRAIT_THINKING_IN_CHARACTER)) @@ -528,3 +541,7 @@ real_name = "[owner.real_name]?" name = real_name human_image = icon('icons/mob/simple/lavaland/lavaland_monsters.dmi', icon_state = "curseblob") + +#undef IMAGINARY_FRIEND_RANGE +#undef IMAGINARY_FRIEND_SPEECH_RANGE +#undef IMAGINARY_FRIEND_EXTENDED_SPEECH_RANGE diff --git a/code/datums/brain_damage/magic.dm b/code/datums/brain_damage/magic.dm index 441d220a5ded3..fde1e5d2421f1 100644 --- a/code/datums/brain_damage/magic.dm +++ b/code/datums/brain_damage/magic.dm @@ -104,14 +104,14 @@ create_stalker() if(get_dist(owner, stalker) <= 1) - playsound(owner, 'sound/magic/demon_attack1.ogg', 50) + playsound(owner, 'sound/effects/magic/demon_attack1.ogg', 50) owner.visible_message(span_warning("[owner] is torn apart by invisible claws!"), span_userdanger("Ghostly claws tear your body apart!")) owner.take_bodypart_damage(rand(20, 45), wound_bonus=CANT_WOUND) else if(SPT_PROB(30, seconds_per_tick)) stalker.forceMove(get_step_towards(stalker, owner)) if(get_dist(owner, stalker) <= 8) if(!close_stalker) - var/sound/slowbeat = sound('sound/health/slowbeat.ogg', repeat = TRUE) + var/sound/slowbeat = sound('sound/effects/health/slowbeat.ogg', repeat = TRUE) owner.playsound_local(owner, slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) close_stalker = TRUE else diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm index 1bf011e0fab49..f49a6d0c0bc52 100644 --- a/code/datums/brain_damage/special.dm +++ b/code/datums/brain_damage/special.dm @@ -45,7 +45,7 @@ else message = pick_list_replacements(BRAIN_DAMAGE_FILE, "god_neutral") - playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 200, TRUE, 5) + playsound(get_turf(owner), 'sound/effects/magic/clockwork/invoke_general.ogg', 200, TRUE, 5) voice_of_god(message, owner, list("colossus","yell"), 2.5, include_owner, name, TRUE) /datum/brain_trauma/special/bluespace_prophet @@ -218,7 +218,7 @@ linked = FALSE return to_chat(owner, span_warning("Your connection to [linked_target] suddenly feels extremely strong... you can feel it pulling you!")) - owner.playsound_local(owner, 'sound/magic/lightning_chargeup.ogg', 75, FALSE) + owner.playsound_local(owner, 'sound/effects/magic/lightning_chargeup.ogg', 75, FALSE) returning = TRUE addtimer(CALLBACK(src, PROC_REF(snapback)), 10 SECONDS) @@ -231,7 +231,7 @@ return to_chat(owner, span_warning("You're pulled through spacetime!")) do_teleport(owner, get_turf(linked_target), null, channel = TELEPORT_CHANNEL_QUANTUM) - owner.playsound_local(owner, 'sound/magic/repulse.ogg', 100, FALSE) + owner.playsound_local(owner, 'sound/effects/magic/repulse.ogg', 100, FALSE) linked_target = null linked = FALSE @@ -388,17 +388,17 @@ if(owner.stat != CONSCIOUS) if(prob(20)) - owner.playsound_local(beepsky, 'sound/voice/beepsky/iamthelaw.ogg', 50) + owner.playsound_local(beepsky, 'sound/mobs/non-humanoids/beepsky/iamthelaw.ogg', 50) return if(get_dist(owner, beepsky) <= 1) - owner.playsound_local(owner, 'sound/weapons/egloves.ogg', 50) + owner.playsound_local(owner, 'sound/items/weapons/egloves.ogg', 50) owner.visible_message(span_warning("[owner]'s body jerks as if it was shocked."), span_userdanger("You feel the fist of the LAW.")) owner.adjustStaminaLoss(rand(40, 70)) QDEL_NULL(beepsky) if(prob(20) && get_dist(owner, beepsky) <= 8) - owner.playsound_local(beepsky, 'sound/voice/beepsky/criminal.ogg', 40) + owner.playsound_local(beepsky, 'sound/mobs/non-humanoids/beepsky/criminal.ogg', 40) /obj/effect/client_image_holder/securitron name = "Securitron" diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 6d0f8fc565415..198b674631750 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -305,7 +305,7 @@ addtimer(TRAIT_CALLBACK_REMOVE(owner, TRAIT_DISCOORDINATED_TOOL_USER, TRAUMA_TRAIT), 10 SECONDS) addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, balloon_alert), owner, "dexterity regained!"), 10 SECONDS) if(prob(15)) - playsound(owner,'sound/effects/sf_hiccup_male_01.ogg', 50) + playsound(owner,'sound/mobs/humanoids/human/hiccup/sf_hiccup_male_01.ogg', 50) owner.emote("hiccup") //too drunk to feel anything //if they're to this point, they're likely dying of liver damage diff --git a/code/datums/candidate_poll.dm b/code/datums/candidate_poll.dm index f1fa9812014ed..9afec6f371bb6 100644 --- a/code/datums/candidate_poll.dm +++ b/code/datums/candidate_poll.dm @@ -74,7 +74,7 @@ if(time_left() <= 0) if(!silent) to_chat(candidate, span_danger("Sorry, you were too late for the consideration!")) - SEND_SOUND(candidate, 'sound/machines/buzz-sigh.ogg') + SEND_SOUND(candidate, 'sound/machines/buzz/buzz-sigh.ogg') return FALSE signed_up += candidate diff --git a/code/datums/cinematics/malf_doomsday.dm b/code/datums/cinematics/malf_doomsday.dm index 2eb330d9a484f..02297065afc45 100644 --- a/code/datums/cinematics/malf_doomsday.dm +++ b/code/datums/cinematics/malf_doomsday.dm @@ -5,6 +5,6 @@ flick("intro_malf", screen) stoplag(7.6 SECONDS) flick("station_explode_fade_red", screen) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) special_callback?.Invoke() screen.icon_state = "summary_malf" diff --git a/code/datums/cinematics/narsie_summon.dm b/code/datums/cinematics/narsie_summon.dm index 2fecac2c63a80..1e0a5d1d48f94 100644 --- a/code/datums/cinematics/narsie_summon.dm +++ b/code/datums/cinematics/narsie_summon.dm @@ -5,9 +5,9 @@ screen.icon_state = null flick("intro_cult", screen) stoplag(2.5 SECONDS) - play_cinematic_sound(sound('sound/magic/enter_blood.ogg')) + play_cinematic_sound(sound('sound/effects/magic/enter_blood.ogg')) stoplag(2.8 SECONDS) - play_cinematic_sound(sound('sound/machines/terminal_off.ogg')) + play_cinematic_sound(sound('sound/machines/terminal/terminal_off.ogg')) stoplag(2 SECONDS) flick("station_corrupted", screen) play_cinematic_sound(sound('sound/effects/ghost.ogg')) @@ -20,10 +20,10 @@ /datum/cinematic/cult_fail/play_cinematic() screen.icon_state = "station_intact" stoplag(2 SECONDS) - play_cinematic_sound(sound('sound/creatures/narsie_rises.ogg')) + play_cinematic_sound(sound('sound/music/antag/bloodcult/narsie_rises.ogg')) stoplag(6 SECONDS) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) stoplag(1 SECONDS) - play_cinematic_sound(sound('sound/magic/demon_dies.ogg')) + play_cinematic_sound(sound('sound/effects/magic/demon_dies.ogg')) stoplag(3 SECONDS) special_callback?.Invoke() diff --git a/code/datums/cinematics/nuke_cinematics.dm b/code/datums/cinematics/nuke_cinematics.dm index dd827f7c0b9fd..858d95c7e5102 100644 --- a/code/datums/cinematics/nuke_cinematics.dm +++ b/code/datums/cinematics/nuke_cinematics.dm @@ -22,7 +22,7 @@ /datum/cinematic/nuke/ops_victory/play_nuke_effect() flick("station_explode_fade_red", screen) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) /// The syndicate nuclear bomb was activated, but just barely missed the station! /datum/cinematic/nuke/ops_miss @@ -30,7 +30,7 @@ /datum/cinematic/nuke/ops_miss/play_nuke_effect() flick("station_intact_fade_red", screen) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) /// The self destruct, or another station-destroying entity like a blob, destroyed the station! /datum/cinematic/nuke/self_destruct @@ -38,14 +38,14 @@ /datum/cinematic/nuke/self_destruct/play_nuke_effect() flick("station_explode_fade_red", screen) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) /// The self destruct was activated, yet somehow avoided destroying the station! /datum/cinematic/nuke/self_destruct_miss after_nuke_summary_state = "station_intact" /datum/cinematic/nuke/self_destruct_miss/play_nuke_effect() - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) special_callback?.Invoke() /// The syndicate nuclear bomb was activated, and the nuclear operatives failed to extract on their shuttle before it detonated on the station! @@ -54,7 +54,7 @@ /datum/cinematic/nuke/mutual_destruction/play_nuke_effect() flick("station_explode_fade_red", screen) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) /// A blood cult summoned Nar'sie, but central command deployed a nuclear package to stop them. /datum/cinematic/nuke/cult @@ -62,7 +62,7 @@ /datum/cinematic/nuke/cult/play_nuke_effect() flick("station_explode_fade_red", screen) - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) /// A fake version of the nuclear detonation, where it winds up, but doesn't explode. /datum/cinematic/nuke/fake @@ -77,7 +77,7 @@ cleanup_time = 10 SECONDS /datum/cinematic/nuke/clown/play_nuke_effect() - play_cinematic_sound(sound('sound/items/airhorn.ogg')) + play_cinematic_sound(sound('sound/items/airhorn/airhorn.ogg')) flick("summary_selfdes", screen) //??? /// A fake version of the nuclear detonation, where it winds up, but doesn't explode as the nuke core within was missing. @@ -86,7 +86,7 @@ /datum/cinematic/nuke/no_core/play_nuke_effect() flick("station_intact", screen) - play_cinematic_sound(sound('sound/ambience/signal.ogg')) + play_cinematic_sound(sound('sound/ambience/misc/signal.ogg')) stoplag(10 SECONDS) /// The syndicate nuclear bomb was activated, but just missed the station by a whole z-level! @@ -96,5 +96,5 @@ /datum/cinematic/nuke/far_explosion/play_cinematic() // This one has no intro sequence. // It's actually just a global sound, which makes you wonder why it's a cinematic. - play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + play_cinematic_sound(sound('sound/effects/explosion/explosion_distant.ogg')) special_callback?.Invoke() diff --git a/code/datums/cogbar.dm b/code/datums/cogbar.dm index 0b5ead1e51e8f..6505158b58d88 100644 --- a/code/datums/cogbar.dm +++ b/code/datums/cogbar.dm @@ -44,7 +44,7 @@ /// Adds the cog to the user, visible by other players /datum/cogbar/proc/add_cog_to_user() - cog = SSvis_overlays.add_vis_overlay(user, + cog = SSvis_overlays.add_vis_overlay(user, icon = 'icons/effects/progressbar.dmi', iconstate = "cog", plane = HIGH_GAME_PLANE, @@ -52,7 +52,7 @@ unique = TRUE, alpha = 0, ) - cog.pixel_y = world.icon_size + offset_y + cog.pixel_y = ICON_SIZE_Y + offset_y animate(cog, alpha = 255, time = COGBAR_ANIMATION_TIME) if(isnull(user_client)) @@ -61,7 +61,7 @@ blank = image('icons/blanks/32x32.dmi', cog, "nothing") SET_PLANE_EXPLICIT(blank, HIGH_GAME_PLANE, user) blank.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA - blank.override = TRUE + blank.override = TRUE user_client.images += blank @@ -74,7 +74,7 @@ animate(cog, alpha = 0, time = COGBAR_ANIMATION_TIME) - QDEL_IN(src, COGBAR_ANIMATION_TIME) + QDEL_IN(src, COGBAR_ANIMATION_TIME) /// When the user is deleted, remove the cog @@ -82,6 +82,6 @@ SIGNAL_HANDLER qdel(src) - + #undef COGBAR_ANIMATION_TIME diff --git a/code/datums/communications.dm b/code/datums/communications.dm index 92e5fdcfd74ac..6df6b1e07bb34 100644 --- a/code/datums/communications.dm +++ b/code/datums/communications.dm @@ -37,9 +37,9 @@ GLOBAL_DATUM_INIT(communications_controller, /datum/communciations_controller, n else var/list/message_data = user.treat_message(input) if(syndicate) - priority_announce(html_decode(message_data["message"]), null, 'sound/misc/announce_syndi.ogg', ANNOUNCEMENT_TYPE_SYNDICATE, has_important_message = TRUE, players = players, color_override = "red") + priority_announce(html_decode(message_data["message"]), null, 'sound/announcer/announcement/announce_syndi.ogg', ANNOUNCEMENT_TYPE_SYNDICATE, has_important_message = TRUE, players = players, color_override = "red") else - priority_announce(html_decode(message_data["message"]), null, 'sound/misc/announce.ogg', ANNOUNCEMENT_TYPE_CAPTAIN, has_important_message = TRUE, players = players) + priority_announce(html_decode(message_data["message"]), null, 'sound/announcer/announcement/announce.ogg', ANNOUNCEMENT_TYPE_CAPTAIN, has_important_message = TRUE, players = players) COOLDOWN_START(src, nonsilicon_message_cooldown, COMMUNICATION_COOLDOWN) user.log_talk(input, LOG_SAY, tag="priority announcement") message_admins("[ADMIN_LOOKUPFLW(user)] has made a priority announcement.") diff --git a/code/datums/components/adjust_fishing_difficulty.dm b/code/datums/components/adjust_fishing_difficulty.dm new file mode 100644 index 0000000000000..4e329b039409c --- /dev/null +++ b/code/datums/components/adjust_fishing_difficulty.dm @@ -0,0 +1,110 @@ +///Influences the difficulty of the minigame when worn or if buckled to. +/datum/component/adjust_fishing_difficulty + ///The additive numerical modifier to the difficulty of the minigame + var/modifier + ///For items, in which slot it has to be worn to influence the difficulty of the minigame + var/slots + +/datum/component/adjust_fishing_difficulty/Initialize(modifier, slots = NONE) + if(!ismovable(parent) || !modifier) + return COMPONENT_INCOMPATIBLE + + if(!isitem(parent)) + var/atom/movable/movable_parent = parent + if(!movable_parent.can_buckle) + return COMPONENT_INCOMPATIBLE + + src.modifier = modifier + src.slots = slots + +/datum/component/adjust_fishing_difficulty/RegisterWithParent() + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_dropped)) + RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_item_examine)) + else + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(on_buckle)) + RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, PROC_REF(on_unbuckle)) + RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_buckle_examine)) + + update_check() + +/datum/component/adjust_fishing_difficulty/UnregisterFromParent() + UnregisterSignal(parent, list( + COMSIG_ATOM_EXAMINE, + COMSIG_MOVABLE_BUCKLE, + COMSIG_MOVABLE_UNBUCKLE, + COMSIG_ITEM_EQUIPPED, + COMSIG_ITEM_DROPPED, + )) + + update_check(TRUE) + +/datum/component/adjust_fishing_difficulty/proc/update_check(removing = FALSE) + var/atom/movable/movable_parent = parent + for(var/mob/living/buckled_mob as anything in movable_parent.buckled_mobs) + update_user(buckled_mob, removing) + if(!isitem(movable_parent) || !isliving(movable_parent.loc)) + return + var/mob/living/holder = movable_parent.loc + var/obj/item/item = parent + if(holder.get_slot_by_item(movable_parent) & (slots || item.slot_flags)) + update_user(holder, removing) + +/datum/component/adjust_fishing_difficulty/proc/on_item_examine(obj/item/item, mob/user, list/examine_text) + SIGNAL_HANDLER + if(!HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISH)) + return + var/method = "[(slots || item.slot_flags) & ITEM_SLOT_HANDS ? "Holding" : "Wearing"] [item.p_them()]" + add_examine_line(user, examine_text, method) + +/datum/component/adjust_fishing_difficulty/proc/on_buckle_examine(atom/movable/source, mob/user, list/examine_text) + SIGNAL_HANDLER + if(!HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISH)) + return + add_examine_line(user, examine_text, "Buckling to [source.p_them()]") + +/datum/component/adjust_fishing_difficulty/proc/add_examine_line(mob/user, list/examine_text, method) + var/percent = HAS_MIND_TRAIT(user, TRAIT_EXAMINE_DEEPER_FISH) ? "[abs(modifier)]% " : "" + var/text = "[method] will make fishing [percent][modifier < 0 ? "easier" : "harder"]." + if(modifier < 0) + examine_text += span_nicegreen(text) + else + examine_text += span_danger(text) + +/datum/component/adjust_fishing_difficulty/proc/on_buckle(atom/movable/source, mob/living/buckled_mob, forced) + SIGNAL_HANDLER + update_user(buckled_mob) + +/datum/component/adjust_fishing_difficulty/proc/on_unbuckle(atom/movable/source, mob/living/buckled_mob, forced) + SIGNAL_HANDLER + update_user(buckled_mob, TRUE) + +/datum/component/adjust_fishing_difficulty/proc/on_equipped(obj/item/source, mob/living/wearer, slot) + SIGNAL_HANDLER + if(slot & (slots || source.slot_flags)) + update_user(wearer) + +/datum/component/adjust_fishing_difficulty/proc/on_dropped(obj/item/source, mob/living/dropper) + SIGNAL_HANDLER + update_user(dropper, TRUE) + +/datum/component/adjust_fishing_difficulty/proc/update_user(mob/living/user, removing = FALSE) + var/datum/fishing_challenge/challenge = GLOB.fishing_challenges_by_user[user] + if(removing) + UnregisterSignal(user, COMSIG_MOB_BEGIN_FISHING) + if(challenge) + UnregisterSignal(challenge, COMSIG_FISHING_CHALLENGE_GET_DIFFICULTY) + else + RegisterSignal(user, COMSIG_MOB_BEGIN_FISHING, PROC_REF(on_minigame_started)) + if(challenge) + RegisterSignal(challenge, COMSIG_FISHING_CHALLENGE_GET_DIFFICULTY, PROC_REF(adjust_difficulty)) + challenge?.update_difficulty() + +/datum/component/adjust_fishing_difficulty/proc/on_minigame_started(mob/living/source, datum/fishing_challenge/challenge) + SIGNAL_HANDLER + RegisterSignal(challenge, COMSIG_FISHING_CHALLENGE_GET_DIFFICULTY, PROC_REF(adjust_difficulty), TRUE) + +/datum/component/adjust_fishing_difficulty/proc/adjust_difficulty(datum/fishing_challenge/challenge, reward_path, obj/item/fishing_rod/rod, mob/living/user, list/holder) + SIGNAL_HANDLER + holder[1] += modifier diff --git a/code/datums/components/appearance_on_aggro.dm b/code/datums/components/appearance_on_aggro.dm index 8c0df88e6fdbc..143c0b260cdbd 100644 --- a/code/datums/components/appearance_on_aggro.dm +++ b/code/datums/components/appearance_on_aggro.dm @@ -13,8 +13,6 @@ var/alpha_on_aggro /// visibility of our icon when deaggroed var/alpha_on_deaggro - /// do we currently have a target - var/atom/current_target /datum/component/appearance_on_aggro/Initialize(aggro_state, overlay_icon, overlay_state, alpha_on_aggro, alpha_on_deaggro) if (!isliving(parent)) @@ -27,7 +25,7 @@ /datum/component/appearance_on_aggro/RegisterWithParent() RegisterSignal(parent, COMSIG_AI_BLACKBOARD_KEY_SET(target_key), PROC_REF(on_set_target)) - RegisterSignal(parent, COMSIG_AI_BLACKBOARD_KEY_CLEARED(target_key), PROC_REF(on_clear_target)) + RegisterSignals(parent, list(COMSIG_AI_BLACKBOARD_KEY_CLEARED(target_key), COMSIG_LIVING_DEATH, COMSIG_MOB_LOGIN), PROC_REF(revert_appearance)) if (!isnull(aggro_state)) RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, PROC_REF(on_icon_state_updated)) if (!isnull(aggro_overlay)) @@ -35,32 +33,31 @@ /datum/component/appearance_on_aggro/UnregisterFromParent() . = ..() - UnregisterSignal(parent, list(COMSIG_AI_BLACKBOARD_KEY_SET(target_key), COMSIG_AI_BLACKBOARD_KEY_CLEARED(target_key))) + UnregisterSignal(parent, list( + COMSIG_AI_BLACKBOARD_KEY_SET(target_key), + COMSIG_AI_BLACKBOARD_KEY_CLEARED(target_key), + COMSIG_LIVING_DEATH, + COMSIG_MOB_LOGIN, + )) /datum/component/appearance_on_aggro/proc/on_set_target(mob/living/source) SIGNAL_HANDLER - var/atom/target = source.ai_controller.blackboard[target_key] + var/atom/target = source.ai_controller?.blackboard[target_key] if (QDELETED(target)) return - current_target = target if (!isnull(aggro_overlay) || !isnull(aggro_state)) source.update_appearance(UPDATE_ICON) if (!isnull(alpha_on_aggro)) animate(source, alpha = alpha_on_aggro, time = 2 SECONDS) /datum/component/appearance_on_aggro/Destroy() - if (!isnull(current_target)) - revert_appearance(parent) - return ..() - -/datum/component/appearance_on_aggro/proc/on_clear_target(atom/source) - SIGNAL_HANDLER revert_appearance(parent) + return ..() /datum/component/appearance_on_aggro/proc/revert_appearance(mob/living/source) - current_target = null + SIGNAL_HANDLER if (!isnull(aggro_overlay) || !isnull(aggro_state)) source.update_appearance(UPDATE_ICON) if (!isnull(alpha_on_deaggro)) @@ -70,11 +67,11 @@ SIGNAL_HANDLER if (source.stat == DEAD) return - source.icon_state = isnull(current_target) ? initial(source.icon_state) : aggro_state + source.icon_state = source.ai_controller?.blackboard_key_exists(target_key) ? aggro_state : initial(source.icon_state) -/datum/component/appearance_on_aggro/proc/on_overlays_updated(atom/source, list/overlays) +/datum/component/appearance_on_aggro/proc/on_overlays_updated(mob/living/basic/source, list/overlays) SIGNAL_HANDLER - if (isnull(current_target)) + if(!(source.ai_controller?.blackboard_key_exists(target_key))) return overlays += aggro_overlay diff --git a/code/datums/components/aquarium_content.dm b/code/datums/components/aquarium_content.dm index 57d62cdb0ee26..d956b39928a47 100644 --- a/code/datums/components/aquarium_content.dm +++ b/code/datums/components/aquarium_content.dm @@ -15,14 +15,7 @@ var/obj/structure/aquarium/current_aquarium //This is visual effect holder that will end up in aquarium's vis_contents - var/obj/effect/vc_obj - - /// Base px offset of the visual object in current aquarium aka current base position - var/base_px = 0 - /// Base px offset of the visual object in current aquarium aka current base position - var/base_py = 0 - //Current layer for the visual object - var/base_layer + var/obj/effect/aquarium/vc_obj /** * Fish sprite how to: @@ -33,37 +26,12 @@ * cover the extra pixels anyway. */ - /// Icon used for in aquarium sprite - var/icon = 'icons/obj/aquarium/fish.dmi' - /// If this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied. - var/icon_state - /// Applied to vc object only for use with greyscaled icons. - var/aquarium_vc_color - /// Transformation applied to the visual holder - used when scaled down sprites are used as in aquarium visual - var/matrix/base_transform - - /// How the thing will be layered - var/layer_mode = AQUARIUM_LAYER_MODE_AUTO - - /// If the starting position is randomised within bounds when inserted into aquarium. - var/randomize_position = FALSE - - //Target sprite size for path/position calculations. - var/sprite_height = 3 - var/sprite_width = 3 - /// Currently playing animation var/current_animation /// Does this behviour need additional processing in aquarium, will be added to SSobj processing on insertion var/processing = FALSE - /// TODO: Change this into trait checked on aquarium insertion - var/unique = FALSE - - /// Proc used to retrieve current animation state from the parent, optional - var/animation_getter - /// Signals of the parent that will trigger animation update var/animation_update_signals @@ -73,50 +41,27 @@ /// The original value of the beauty this component had when initialized var/original_beauty -/datum/component/aquarium_content/Initialize(icon, animation_getter, animation_update_signals, beauty) +/datum/component/aquarium_content/Initialize(animation_update_signals, beauty) if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE - src.animation_getter = animation_getter src.animation_update_signals = animation_update_signals src.beauty = original_beauty = beauty if(animation_update_signals) RegisterSignals(parent, animation_update_signals, PROC_REF(generate_animation)) - if(istype(parent,/obj/item/fish)) - InitializeFromFish() - else if(istype(parent,/obj/item/aquarium_prop)) - InitializeFromProp() - else - InitializeOther() - ADD_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, REF(src)) RegisterSignal(parent, COMSIG_TRY_INSERTING_IN_AQUARIUM, PROC_REF(is_ready_to_insert)) RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(enter_aquarium)) - RegisterSignal(parent, COMSIG_FISH_PETTED, PROC_REF(on_fish_petted)) + + if(isfish(parent)) + RegisterSignal(parent, COMSIG_FISH_STATUS_CHANGED, PROC_REF(on_fish_status_changed)) //If component is added to something already in aquarium at the time initialize it properly. var/atom/movable/movable_parent = parent if(istype(movable_parent.loc, /obj/structure/aquarium)) on_inserted(movable_parent.loc) -/// Sets visuals properties for fish -/datum/component/aquarium_content/proc/InitializeFromFish() - var/obj/item/fish/fish = parent - - icon = fish.icon - sprite_height = fish.sprite_height - sprite_width = fish.sprite_width - aquarium_vc_color = fish.aquarium_vc_color - - icon = fish.dedicated_in_aquarium_icon - icon_state = fish.dedicated_in_aquarium_icon_state - base_transform = matrix() - - randomize_position = TRUE - - RegisterSignal(fish, COMSIG_FISH_STATUS_CHANGED, PROC_REF(on_fish_status_changed)) - /datum/component/aquarium_content/proc/on_fish_status_changed(obj/item/fish/source) SIGNAL_HANDLER var/old_beauty = beauty @@ -127,31 +72,6 @@ change_aquarium_beauty(beauty - old_beauty) generate_animation() -/// Sets visuals properties for fish -/datum/component/aquarium_content/proc/InitializeFromProp() - var/obj/item/aquarium_prop/prop = parent - - icon = prop.icon - icon_state = prop.icon_state - layer_mode = prop.layer_mode - sprite_height = 32 - sprite_width = 32 - base_transform = matrix() - - unique = TRUE - -/// Mostly for admin abuse -/datum/component/aquarium_content/proc/InitializeOther() - sprite_width = 8 - sprite_height = 8 - - var/matrix/matrix = matrix() - var/x_scale = sprite_width / 32 - var/y_scale = sprite_height / 32 - matrix.Scale(x_scale, y_scale) - base_transform = matrix - - /datum/component/aquarium_content/PreTransfer() . = ..() REMOVE_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, REF(src)) @@ -170,12 +90,11 @@ /datum/component/aquarium_content/proc/is_ready_to_insert(datum/source, obj/structure/aquarium/aquarium) SIGNAL_HANDLER - //This is kinda awful but we're unaware of other fish - if(unique) - for(var/atom/movable/fish_or_prop in aquarium) - if(fish_or_prop == parent) + if(HAS_TRAIT(parent, TRAIT_UNIQUE_AQUARIUM_CONTENT)) + for(var/atom/movable/content as anything in aquarium) + if(content == parent) continue - if(fish_or_prop.type == parent.type) + if(content.type == parent.type) return COMSIG_CANNOT_INSERT_IN_AQUARIUM return COMSIG_CAN_INSERT_IN_AQUARIUM @@ -190,7 +109,7 @@ //If we don't have vc object yet build it if(!vc_obj) - vc_obj = generate_base_vc() + generate_base_vc() //Set default position and layer set_vc_base_position() @@ -225,112 +144,28 @@ SIGNAL_HANDLER generate_animation() +///Sends a signal to the parent to get them to update the aquarium animation of the visual object +/datum/component/aquarium_content/proc/generate_animation(reset=FALSE) + if(!current_aquarium) + return + SEND_SIGNAL(parent, COMSIG_AQUARIUM_CONTENT_DO_ANIMATION, reset ? null : current_animation, current_aquarium, vc_obj) + /datum/component/aquarium_content/proc/remove_visual_from_aquarium() current_aquarium.vis_contents -= vc_obj - if(base_layer) - current_aquarium.free_layer(base_layer) + if(vc_obj.layer) + current_aquarium.free_layer(vc_obj.layer) /// Generates common visual object, propeties that don't depend on aquarium surface /datum/component/aquarium_content/proc/generate_base_vc() - var/obj/effect/visual = new - apply_appearance(visual) - visual.vis_flags |= VIS_INHERIT_ID | VIS_INHERIT_PLANE //plane so it shows properly in containers on inventory ui for handheld cases - return visual - -/// Applies icon,color and base scaling to our visual holder -/datum/component/aquarium_content/proc/apply_appearance(obj/effect/holder) - holder.icon = icon - holder.icon_state = icon_state - holder.transform = matrix(base_transform) - if(aquarium_vc_color) - holder.color = aquarium_vc_color - - -/// Actually animates the vc holder -/datum/component/aquarium_content/proc/generate_animation(reset=FALSE) - if(!current_aquarium) - return - var/next_animation = animation_getter ? call(parent,animation_getter)() : null - if(current_animation == next_animation && !reset) - return - current_animation = next_animation - switch(current_animation) - if(AQUARIUM_ANIMATION_FISH_SWIM) - swim_animation() - return - if(AQUARIUM_ANIMATION_FISH_DEAD) - dead_animation() - return - -/// Create looping random path animation, pixel offsets parameters include offsets already -/datum/component/aquarium_content/proc/swim_animation() - var/avg_width = round(sprite_width / 2) - var/avg_height = round(sprite_height / 2) - - var/list/aq_properties = current_aquarium.get_surface_properties() - var/px_min = aq_properties[AQUARIUM_PROPERTIES_PX_MIN] + avg_width - 16 - var/px_max = aq_properties[AQUARIUM_PROPERTIES_PX_MAX] - avg_width - 16 - var/py_min = aq_properties[AQUARIUM_PROPERTIES_PY_MIN] + avg_height - 16 - var/py_max = aq_properties[AQUARIUM_PROPERTIES_PY_MAX] - avg_width - 16 - - var/origin_x = base_px - var/origin_y = base_py - var/prev_x = origin_x - var/prev_y = origin_y - animate(vc_obj, pixel_x = origin_x, 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/eyeballed_time = dist * 2 //2ds per px - //Face the direction we're going - var/matrix/dir_mx = matrix(base_transform) - if(dx <= 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) - -/datum/component/aquarium_content/proc/dead_animation() - //Set base_py to lowest possible value - var/avg_height = round(sprite_height / 2) - var/list/aq_properties = current_aquarium.get_surface_properties() - var/py_min = aq_properties[AQUARIUM_PROPERTIES_PY_MIN] + avg_height - 16 - base_py = py_min - animate(vc_obj, pixel_y = py_min, time = 1) //flop to bottom and end current animation. + vc_obj = new + vc_obj.vis_flags |= VIS_INHERIT_ID | VIS_INHERIT_PLANE //plane so it shows properly in containers on inventory ui for handheld cases + SEND_SIGNAL(parent, COMSIG_AQUARIUM_CONTENT_GENERATE_APPEARANCE, vc_obj) /datum/component/aquarium_content/proc/set_vc_base_position() - if(randomize_position) - randomize_base_position() - if(base_layer) - current_aquarium.free_layer(base_layer) - base_layer = current_aquarium.request_layer(layer_mode) - vc_obj.layer = base_layer - -/datum/component/aquarium_content/proc/on_fish_petted() - SIGNAL_HANDLER - - new /obj/effect/temp_visual/heart(get_turf(parent)) - -/datum/component/aquarium_content/proc/randomize_base_position() - var/list/aq_properties = current_aquarium.get_surface_properties() - var/avg_width = round(sprite_width / 2) - var/avg_height = round(sprite_height / 2) - var/px_min = aq_properties[AQUARIUM_PROPERTIES_PX_MIN] + avg_width - 16 - var/px_max = aq_properties[AQUARIUM_PROPERTIES_PX_MAX] - avg_width - 16 - var/py_min = aq_properties[AQUARIUM_PROPERTIES_PY_MIN] + avg_height - 16 - var/py_max = aq_properties[AQUARIUM_PROPERTIES_PY_MAX] - avg_width - 16 - - base_px = rand(px_min,px_max) - base_py = rand(py_min,py_max) - - vc_obj.pixel_x = base_px - vc_obj.pixel_y = base_py + SEND_SIGNAL(parent, AQUARIUM_CONTENT_RANDOMIZE_POSITION, current_aquarium, vc_obj) + if(vc_obj.layer) + current_aquarium.free_layer(vc_obj.layer) + vc_obj.layer = current_aquarium.request_layer(vc_obj.layer_mode) /datum/component/aquarium_content/proc/on_removed(obj/structure/aquarium/source, atom/movable/gone, direction) SIGNAL_HANDLER @@ -344,6 +179,16 @@ remove_visual_from_aquarium() current_aquarium = null +///The visual overlay of the aquarium content. It holds a few vars that we can modity them during signals. +/obj/effect/aquarium + layer = 0 //set on set_vc_base_position + /// Base px offset of the visual object in current aquarium aka current base position + var/base_px = 0 + /// Base px offset of the visual object in current aquarium aka current base position + var/base_py = 0 + /// How the visual will be layered + var/layer_mode = AQUARIUM_LAYER_MODE_AUTO + #undef DEAD_FISH_BEAUTY #undef MIN_DEAD_FISH_BEAUTY #undef MAX_DEAD_FISH_BEAUTY diff --git a/code/datums/components/area_based_godmode.dm b/code/datums/components/area_based_godmode.dm index 4f03ae57794c8..b9447efbafbf8 100644 --- a/code/datums/components/area_based_godmode.dm +++ b/code/datums/components/area_based_godmode.dm @@ -34,8 +34,6 @@ var/mob/mob_target = parent if(!istype(mob_target)) return COMPONENT_INCOMPATIBLE - if(initial(mob_target.status_flags) & GODMODE) - return COMPONENT_INCOMPATIBLE sources_to_area_type = list() src.gain_message = gain_message @@ -102,11 +100,11 @@ /datum/component/area_based_godmode/proc/check_area(mob/source) SIGNAL_HANDLER - var/has_godmode = source.status_flags & GODMODE + var/has_godmode = HAS_TRAIT(source, TRAIT_GODMODE) if(!check_in_valid_area(source)) if(has_godmode) to_chat(source, lose_message) - source.status_flags ^= GODMODE + REMOVE_TRAIT(source, TRAIT_GODMODE, REF(src)) check_area_cached_state = FALSE return @@ -115,7 +113,7 @@ return to_chat(source, gain_message) - source.status_flags ^= GODMODE + ADD_TRAIT(source, TRAIT_GODMODE, REF(src)) #undef MAP_AREA_TYPE #undef MAP_ALLOW_AREA_SUBTYPES diff --git a/code/datums/components/boomerang.dm b/code/datums/components/boomerang.dm index 23dd63d146712..954e752da1ea1 100644 --- a/code/datums/components/boomerang.dm +++ b/code/datums/components/boomerang.dm @@ -60,12 +60,11 @@ * * hit_atom: The atom that has been hit by the boomerang component. * * init_throwing_datum: The thrownthing datum that originally impacted the object, that we use to build the new throwing datum for the rebound. */ -/datum/component/boomerang/proc/return_hit_throw(datum/source, atom/hit_atom, datum/thrownthing/init_throwing_datum) +/datum/component/boomerang/proc/return_hit_throw(datum/source, atom/hit_atom, datum/thrownthing/init_throwing_datum, caught) SIGNAL_HANDLER - if (!COOLDOWN_FINISHED(src, last_boomerang_throw)) + if (!COOLDOWN_FINISHED(src, last_boomerang_throw) || caught) return - var/obj/item/true_parent = parent - aerodynamic_swing(init_throwing_datum, true_parent) + aerodynamic_swing(init_throwing_datum, parent) /** * Proc that triggers when the thrown boomerang does not hit a target. diff --git a/code/datums/components/callouts.dm b/code/datums/components/callouts.dm index 98d489cc915a9..52a3e007905c3 100644 --- a/code/datums/components/callouts.dm +++ b/code/datums/components/callouts.dm @@ -136,7 +136,7 @@ color = colorize_string(creator.GetVoice(), 2, 0.9) update_appearance() var/turf/target_loc = get_turf(target) - animate(src, pixel_x = (target_loc.x - loc.x) * world.icon_size + target.pixel_x, pixel_y = (target_loc.y - loc.y) * world.icon_size + target.pixel_y, time = 0.2 SECONDS, easing = EASE_OUT) + animate(src, pixel_x = (target_loc.x - loc.x) * ICON_SIZE_X + target.pixel_x, pixel_y = (target_loc.y - loc.y) * ICON_SIZE_Y + target.pixel_y, time = 0.2 SECONDS, easing = EASE_OUT) /datum/callout_option var/name = "ERROR" diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index 6cae053afd17d..0d65d2840f3c8 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -14,7 +14,7 @@ /obj/effect/constructing_effect, /obj/effect/dummy/phased_mob, /obj/effect/ebeam, - /obj/effect/fishing_lure, + /obj/effect/fishing_float, /obj/effect/hotspot, /obj/effect/landmark, /obj/effect/light_emitter/tendril, diff --git a/code/datums/components/chuunibyou.dm b/code/datums/components/chuunibyou.dm index 4e06f0fd47486..5373b3f798754 100644 --- a/code/datums/components/chuunibyou.dm +++ b/code/datums/components/chuunibyou.dm @@ -64,14 +64,14 @@ /datum/component/chuunibyou/proc/on_try_speech(datum/source, message, ignore_spam, forced) SIGNAL_HANDLER - if(casting_spell) + if(casting_spell && !HAS_TRAIT(src, TRAIT_MUTE)) return COMPONENT_IGNORE_CAN_SPEAK ///signal sent when the parent casts a spell that has a projectile /datum/component/chuunibyou/proc/on_spell_projectile(mob/living/source, datum/action/cooldown/spell/spell, atom/cast_on, obj/projectile/to_fire) SIGNAL_HANDLER - playsound(to_fire,'sound/magic/staff_change.ogg', 75, TRUE) + playsound(to_fire,'sound/effects/magic/staff_change.ogg', 75, TRUE) to_fire.color = "#f825f8" to_fire.name = "chuuni-[to_fire.name]" to_fire.set_light(2, 2, LIGHT_COLOR_PINK, l_on = TRUE) @@ -101,7 +101,7 @@ COOLDOWN_START(src, heal_cooldown, CHUUNIBYOU_COOLDOWN_TIME) source.heal_overall_damage(heal_amount) - playsound(source, 'sound/magic/staff_healing.ogg', 30) + playsound(source, 'sound/effects/magic/staff_healing.ogg', 30) to_chat(source, span_danger("You feel slightly healed by your chuuni powers.")) /datum/component/chuunibyou/no_healing diff --git a/code/datums/components/cleaner.dm b/code/datums/components/cleaner.dm index 3001fde9837fb..7072f271c7a6a 100644 --- a/code/datums/components/cleaner.dm +++ b/code/datums/components/cleaner.dm @@ -62,6 +62,9 @@ /datum/component/cleaner/proc/on_interaction(datum/source, mob/living/user, atom/target, list/modifiers) SIGNAL_HANDLER + if(isitem(source) && SHOULD_SKIP_INTERACTION(target, source, user)) + return NONE + // By default, give XP var/give_xp = TRUE if(pre_clean_callback) @@ -93,8 +96,8 @@ ADD_TRAIT(target, TRAIT_CURRENTLY_CLEANING, REF(src)) // We need to update our planes on overlay changes RegisterSignal(target, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(cleaning_target_moved)) - var/mutable_appearance/low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, target, GAME_PLANE) - var/mutable_appearance/high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, target, ABOVE_GAME_PLANE) + var/mutable_appearance/low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", GAME_CLEAN_LAYER, target, GAME_PLANE) + var/mutable_appearance/high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", GAME_CLEAN_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"] @@ -137,13 +140,13 @@ if(same_z_layer) return // First, get rid of the old overlay - var/mutable_appearance/old_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, GAME_PLANE) - var/mutable_appearance/old_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, ABOVE_GAME_PLANE) + var/mutable_appearance/old_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", GAME_CLEAN_LAYER, old_turf, GAME_PLANE) + var/mutable_appearance/old_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", GAME_CLEAN_LAYER, old_turf, ABOVE_GAME_PLANE) source.cut_overlay(old_low_bubble) source.cut_overlay(old_high_bubble) // Now, add the new one - var/mutable_appearance/new_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, GAME_PLANE) - var/mutable_appearance/new_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, ABOVE_GAME_PLANE) + var/mutable_appearance/new_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", GAME_CLEAN_LAYER, new_turf, GAME_PLANE) + var/mutable_appearance/new_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", GAME_CLEAN_LAYER, new_turf, ABOVE_GAME_PLANE) source.add_overlay(new_low_bubble) source.add_overlay(new_high_bubble) diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index ec6df83b8042f..bf13b7cd5bae4 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -21,6 +21,8 @@ var/display_craftable_only = FALSE var/display_compact = FALSE var/forced_mode = FALSE + /// crafting flags we ignore when considering a recipe + var/ignored_flags = NONE /* This is what procs do: get_environment - gets a list of things accessable for crafting by user @@ -205,16 +207,16 @@ if(!check_tools(crafter, recipe, contents)) return ", missing tool." + var/considered_flags = recipe.crafting_flags & ~(ignored_flags) - - if((recipe.crafting_flags & CRAFT_ONE_PER_TURF) && (locate(recipe.result) in dest_turf)) + if((considered_flags & CRAFT_ONE_PER_TURF) && (locate(recipe.result) in dest_turf)) return ", already one here!" - if(recipe.crafting_flags & CRAFT_CHECK_DIRECTION) - if(!valid_build_direction(dest_turf, crafter.dir, is_fulltile = (recipe.crafting_flags & CRAFT_IS_FULLTILE))) + if(considered_flags & CRAFT_CHECK_DIRECTION) + if(!valid_build_direction(dest_turf, crafter.dir, is_fulltile = (considered_flags & CRAFT_IS_FULLTILE))) return ", won't fit here!" - if(recipe.crafting_flags & CRAFT_ON_SOLID_GROUND) + if(considered_flags & CRAFT_ON_SOLID_GROUND) if(isclosedturf(dest_turf)) return ", cannot be made on a wall!" @@ -222,7 +224,7 @@ if(!locate(/obj/structure/thermoplastic) in dest_turf) // for tram construction return ", must be made on solid ground!" - if(recipe.crafting_flags & CRAFT_CHECK_DENSITY) + if(considered_flags & CRAFT_CHECK_DENSITY) for(var/obj/object in dest_turf) if(object.density && !(object.obj_flags & IGNORE_DENSITY) || object.obj_flags & BLOCKS_CONSTRUCTION) return ", something is in the way!" @@ -268,9 +270,11 @@ qdel(thing) var/datum/reagents/holder = locate() in parts if(holder) //transfer reagents from ingredients to result - if(!ispath(recipe.result, /obj/item/reagent_containers) && result.reagents) - result.reagents.clear_reagents() - holder.trans_to(result.reagents, holder.total_volume, no_react = TRUE) + if(!ispath(recipe.result, /obj/item/reagent_containers) && result.reagents) + if(recipe.crafting_flags & CRAFT_CLEARS_REAGENTS) + result.reagents.clear_reagents() + if(recipe.crafting_flags & CRAFT_TRANSFERS_REAGENTS) + holder.trans_to(result.reagents, holder.total_volume, no_react = TRUE) parts -= holder qdel(holder) result.CheckParts(parts, recipe) @@ -701,3 +705,20 @@ if(recipe == potential_recipe) return TRUE return FALSE + +/datum/component/personal_crafting/machine + ignored_flags = CRAFT_CHECK_DENSITY + +/datum/component/personal_crafting/machine/get_environment(atom/crafter, list/blacklist = null, radius_range = 1) + . = list() + for(var/atom/movable/content in crafter.contents) + if((content.flags_1 & HOLOGRAM_1) || (blacklist && (content.type in blacklist))) + continue + if(isitem(content)) + var/obj/item/item = content + if(item.item_flags & ABSTRACT) //let's not tempt fate, shall we? + continue + . += content + +/datum/component/personal_crafting/machine/check_tools(atom/source, datum/crafting_recipe/recipe, list/surroundings) + return TRUE diff --git a/code/datums/components/crafting/equipment.dm b/code/datums/components/crafting/equipment.dm index dfd79e696224c..2546106d40327 100644 --- a/code/datums/components/crafting/equipment.dm +++ b/code/datums/components/crafting/equipment.dm @@ -282,3 +282,15 @@ ) category = CAT_EQUIPMENT tool_behaviors = list(TOOL_WELDER, TOOL_WIRECUTTER) + +/datum/crafting_recipe/tether_anchor + name = "Tether Anchor" + result = /obj/item/tether_anchor + reqs = list( + /obj/item/stack/sheet/iron = 5, + /obj/item/stack/rods = 2, + /obj/item/stack/cable_coil = 15 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WRENCH) + time = 5 SECONDS + category = CAT_EQUIPMENT diff --git a/code/datums/components/crafting/ranged_weapon.dm b/code/datums/components/crafting/ranged_weapon.dm index 174c0226a423e..e69d535a58b30 100644 --- a/code/datums/components/crafting/ranged_weapon.dm +++ b/code/datums/components/crafting/ranged_weapon.dm @@ -300,6 +300,22 @@ category = CAT_WEAPON_RANGED crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED +/datum/crafting_recipe/pipe_organ_gun + name = "Pipe Organ Gun" + tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER) + result = /obj/structure/mounted_gun/pipe + reqs = list( + /obj/item/pipe = 8, + /obj/item/stack/sheet/mineral/wood = 15, + /obj/item/stack/sheet/iron = 10, + /obj/item/storage/toolbox = 1, + /obj/item/stack/rods = 10, + /obj/item/assembly/igniter = 2, + ) + time = 15 SECONDS + category = CAT_WEAPON_RANGED + crafting_flags = CRAFT_CHECK_DENSITY + /datum/crafting_recipe/trash_cannon name = "Trash Cannon" tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER) @@ -323,8 +339,7 @@ /obj/item/stack/rods = 4, /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/capacitor = 1, - /obj/item/clothing/glasses/regular = 1, - /obj/item/reagent_containers/cup/glass/drinkingglass = 1, + /obj/item/reagent_containers/cup/glass/drinkingglass = 2, ) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) time = 10 SECONDS diff --git a/code/datums/components/crafting/structures.dm b/code/datums/components/crafting/structures.dm index c4a9b48ec36b6..090ec31ce226f 100644 --- a/code/datums/components/crafting/structures.dm +++ b/code/datums/components/crafting/structures.dm @@ -74,3 +74,14 @@ ) category = CAT_STRUCTURE crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED + +/datum/crafting_recipe/manucrate + name = "Manufacturing Storage Unit" + result = /obj/machinery/power/manufacturing/storagebox + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER) + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 10, + ) + category = CAT_STRUCTURE + crafting_flags = CRAFT_CHECK_DENSITY diff --git a/code/datums/components/crank_recharge.dm b/code/datums/components/crank_recharge.dm index 1f2272a8debc2..4940a02b0553e 100644 --- a/code/datums/components/crank_recharge.dm +++ b/code/datums/components/crank_recharge.dm @@ -14,9 +14,11 @@ var/charge_sound_cooldown_time /// Are we currently charging var/is_charging = FALSE + /// Should you be able to move while charging, use IGNORE_USER_LOC_CHANGE if you want to move and crank + var/charge_move = NONE COOLDOWN_DECLARE(charge_sound_cooldown) -/datum/component/crank_recharge/Initialize(charging_cell, spin_to_win = FALSE, charge_amount = 500, cooldown_time = 2 SECONDS, charge_sound = 'sound/weapons/laser_crank.ogg', charge_sound_cooldown_time = 1.8 SECONDS) +/datum/component/crank_recharge/Initialize(charging_cell, spin_to_win = FALSE, charge_amount = 500, cooldown_time = 2 SECONDS, charge_sound = 'sound/items/weapons/laser_crank.ogg', charge_sound_cooldown_time = 1.8 SECONDS, charge_move = NONE) . = ..() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE @@ -28,7 +30,7 @@ src.cooldown_time = cooldown_time src.charge_sound = charge_sound src.charge_sound_cooldown_time = charge_sound_cooldown_time - + src.charge_move = charge_move /datum/component/crank_recharge/RegisterWithParent() . = ..() RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self)) @@ -57,7 +59,7 @@ COOLDOWN_START(src, charge_sound_cooldown, charge_sound_cooldown_time) playsound(source, charge_sound, 40) source.balloon_alert(user, "charging...") - if(!do_after(user, cooldown_time, source, interaction_key = DOAFTER_SOURCE_CHARGE_CRANKRECHARGE)) + if(!do_after(user, cooldown_time, source, interaction_key = DOAFTER_SOURCE_CHARGE_CRANKRECHARGE, timed_action_flags = charge_move)) is_charging = FALSE return charging_cell.give(charge_amount) diff --git a/code/datums/components/cuff_n_stun.dm b/code/datums/components/cuff_n_stun.dm index d238a81f06a24..fda9618e93c14 100644 --- a/code/datums/components/cuff_n_stun.dm +++ b/code/datums/components/cuff_n_stun.dm @@ -22,7 +22,7 @@ COOLDOWN_DECLARE(stun_cooldown) /datum/component/stun_n_cuff/Initialize(list/blacklist_mobs = list(), - stun_sound = 'sound/weapons/egloves.ogg', + stun_sound = 'sound/items/weapons/egloves.ogg', stun_timer = 8 SECONDS, handcuff_timer = 4 SECONDS, stun_cooldown_timer = 10 SECONDS, @@ -75,7 +75,7 @@ living_parent.balloon_alert(human_target, "already cuffed!") return - playsound(parent, 'sound/weapons/cablecuff.ogg', 30, TRUE) + playsound(parent, 'sound/items/weapons/cablecuff.ogg', 30, TRUE) human_target.visible_message(span_danger("[parent] is trying to put zipties on [human_target]!"),\ span_danger("[parent] is trying to put zipties on you!")) diff --git a/code/datums/components/cult_ritual_item.dm b/code/datums/components/cult_ritual_item.dm index 71e07e6380e11..554e3d611ba2d 100644 --- a/code/datums/components/cult_ritual_item.dm +++ b/code/datums/components/cult_ritual_item.dm @@ -176,7 +176,7 @@ * cultist - the mob doing the destroying */ /datum/component/cult_ritual_item/proc/do_destroy_girder(obj/structure/girder/cult/cult_girder, mob/living/cultist) - playsound(cult_girder, 'sound/weapons/resonator_blast.ogg', 40, TRUE, ignore_walls = FALSE) + playsound(cult_girder, 'sound/items/weapons/resonator_blast.ogg', 40, TRUE, ignore_walls = FALSE) cultist.visible_message( span_warning("[cultist] strikes [cult_girder] with [parent]!"), span_notice("You demolish [cult_girder].") @@ -320,7 +320,7 @@ if(scribe_failed) failed = CALLBACK(GLOBAL_PROC, scribe_failed) - SEND_SOUND(cultist, sound('sound/weapons/slice.ogg', 0, 1, 10)) + SEND_SOUND(cultist, sound('sound/items/weapons/slice.ogg', 0, 1, 10)) if(!do_after(cultist, scribe_mod, target = get_turf(cultist), timed_action_flags = IGNORE_SLOWDOWNS)) cleanup_shields() failed?.Invoke() @@ -371,7 +371,7 @@ var/area/summon_location = get_area(cultist) priority_announce( text = "Figments from an eldritch god are being summoned by [cultist.real_name] into [summon_location.get_original_area_name()] from an unknown dimension. Disrupt the ritual at all costs!", - sound = 'sound/ambience/antag/bloodcult/bloodcult_scribe.ogg', + sound = 'sound/music/antag/bloodcult/bloodcult_scribe.ogg', sender_override = "[command_name()] Higher Dimensional Affairs", has_important_message = TRUE, ) diff --git a/code/datums/components/deployable.dm b/code/datums/components/deployable.dm index f45a5b226c39d..ac0f006fb6cde 100644 --- a/code/datums/components/deployable.dm +++ b/code/datums/components/deployable.dm @@ -68,7 +68,7 @@ return new_direction = user.dir //Gets the direction for thing_to_be_deployed if there is a user source.balloon_alert(user, "deploying...") - playsound(source, 'sound/items/ratchet.ogg', 50, TRUE) + playsound(source, 'sound/items/tools/ratchet.ogg', 50, TRUE) if(!do_after(user, deploy_time)) return else // If there is for some reason no user, then the location and direction are set here diff --git a/code/datums/components/direct_explosive_trap.dm b/code/datums/components/direct_explosive_trap.dm index e3a125eb928ed..1372c569bbade 100644 --- a/code/datums/components/direct_explosive_trap.dm +++ b/code/datums/components/direct_explosive_trap.dm @@ -74,7 +74,7 @@ to_chat(victim, span_bolddanger("[source] was boobytrapped!")) if (!isnull(saboteur)) to_chat(saboteur, span_bolddanger("Success! Your trap on [source] caught [victim.name]!")) - playsound(source, 'sound/effects/explosion2.ogg', 200, TRUE) + playsound(source, 'sound/effects/explosion/explosion2.ogg', 200, TRUE) new /obj/effect/temp_visual/explosion(get_turf(source)) EX_ACT(victim, explosive_force) qdel(src) diff --git a/code/datums/components/drift.dm b/code/datums/components/drift.dm deleted file mode 100644 index 7fba50d315178..0000000000000 --- a/code/datums/components/drift.dm +++ /dev/null @@ -1,194 +0,0 @@ -///Component that handles drifting -///Manages a movement loop that actually does the legwork of moving someone -///Alongside dealing with the post movement input blocking required to make things look nice -/datum/component/drift - var/atom/inertia_last_loc - var/old_dir - var/datum/move_loop/move/drifting_loop - ///Should we ignore the next glide rate input we get? - ///This is to some extent a hack around the order of operations - ///Around COMSIG_MOVELOOP_POSTPROCESS. I'm sorry lad - var/ignore_next_glide = FALSE - ///Have we been delayed? IE: active, but not working right this second? - var/delayed = FALSE - var/block_inputs_until - -/// Accepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start -/datum/component/drift/Initialize(direction, instant = FALSE, start_delay = 0) - if(!ismovable(parent)) - return COMPONENT_INCOMPATIBLE - . = ..() - - var/flags = MOVEMENT_LOOP_OUTSIDE_CONTROL - if(instant) - flags |= MOVEMENT_LOOP_START_FAST - var/atom/movable/movable_parent = parent - drifting_loop = GLOB.move_manager.move(moving = parent, direction = direction, delay = movable_parent.inertia_move_delay, subsystem = SSspacedrift, priority = MOVEMENT_SPACE_PRIORITY, flags = flags) - - if(!drifting_loop) //Really want to qdel here but can't - return COMPONENT_INCOMPATIBLE - - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_START, PROC_REF(drifting_start)) - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_STOP, PROC_REF(drifting_stop)) - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(before_move)) - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(after_move)) - RegisterSignal(drifting_loop, COMSIG_QDELETING, PROC_REF(loop_death)) - RegisterSignal(movable_parent, COMSIG_MOVABLE_NEWTONIAN_MOVE, PROC_REF(newtonian_impulse)) - if(drifting_loop.status & MOVELOOP_STATUS_RUNNING) - drifting_start(drifting_loop) // There's a good chance it'll autostart, gotta catch that - - var/visual_delay = movable_parent.inertia_move_delay - - // Start delay is essentially a more granular version of instant - // Isn't used in the standard case, just for things that have odd wants - if(!instant && start_delay) - drifting_loop.pause_for(start_delay) - visual_delay = start_delay - - apply_initial_visuals(visual_delay) - -/datum/component/drift/Destroy() - inertia_last_loc = null - if(!QDELETED(drifting_loop)) - qdel(drifting_loop) - drifting_loop = null - var/atom/movable/movable_parent = parent - movable_parent.inertia_moving = FALSE - return ..() - -/datum/component/drift/proc/apply_initial_visuals(visual_delay) - // If something "somewhere" doesn't want us to apply our glidesize delays, don't - if(SEND_SIGNAL(parent, COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT) & DRIFT_VISUAL_FAILED) - return - - // Ignore the next glide because it's literally just us - ignore_next_glide = TRUE - var/atom/movable/movable_parent = parent - movable_parent.set_glide_size(MOVEMENT_ADJUSTED_GLIDE_SIZE(visual_delay, SSspacedrift.visual_delay)) - if(ismob(parent)) - var/mob/mob_parent = parent - //Ok this is slightly weird, but basically, we need to force the client to glide at our rate - //Make sure moving into a space move looks like a space move essentially - //There is an inbuilt assumption that gliding will be added as a part of a move call, but eh - //It's ok if it's not, it's just important if it is. - mob_parent.client?.visual_delay = MOVEMENT_ADJUSTED_GLIDE_SIZE(visual_delay, SSspacedrift.visual_delay) - -/datum/component/drift/proc/newtonian_impulse(datum/source, inertia_direction) - SIGNAL_HANDLER - var/atom/movable/movable_parent = parent - inertia_last_loc = movable_parent.loc - if(drifting_loop) - drifting_loop.direction = inertia_direction - if(!inertia_direction) - qdel(src) - return COMPONENT_MOVABLE_NEWTONIAN_BLOCK - -/datum/component/drift/proc/drifting_start() - SIGNAL_HANDLER - var/atom/movable/movable_parent = parent - inertia_last_loc = movable_parent.loc - RegisterSignal(movable_parent, COMSIG_MOVABLE_MOVED, PROC_REF(handle_move)) - // We will use glide size to intuit how long to delay our loop's next move for - // This way you can't ride two movements at once while drifting, since that'd be dumb as fuck - RegisterSignal(movable_parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, PROC_REF(handle_glidesize_update)) - // If you stop pulling something mid drift, I want it to retain that momentum - RegisterSignal(movable_parent, COMSIG_ATOM_NO_LONGER_PULLING, PROC_REF(stopped_pulling)) - -/datum/component/drift/proc/drifting_stop() - SIGNAL_HANDLER - var/atom/movable/movable_parent = parent - movable_parent.inertia_moving = FALSE - ignore_next_glide = FALSE - UnregisterSignal(movable_parent, list(COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, COMSIG_ATOM_NO_LONGER_PULLING)) - -/datum/component/drift/proc/before_move(datum/source) - SIGNAL_HANDLER - var/atom/movable/movable_parent = parent - movable_parent.inertia_moving = TRUE - old_dir = movable_parent.dir - delayed = FALSE - -/datum/component/drift/proc/after_move(datum/source, result, visual_delay) - SIGNAL_HANDLER - if(result == MOVELOOP_FAILURE) - qdel(src) - return - - var/atom/movable/movable_parent = parent - movable_parent.setDir(old_dir) - movable_parent.inertia_moving = FALSE - if(movable_parent.Process_Spacemove(drifting_loop.direction, continuous_move = TRUE)) - glide_to_halt(visual_delay) - return - - inertia_last_loc = movable_parent.loc - ignore_next_glide = TRUE - -/datum/component/drift/proc/loop_death(datum/source) - SIGNAL_HANDLER - drifting_loop = null - UnregisterSignal(parent, COMSIG_MOVABLE_NEWTONIAN_MOVE) // We won't block a component from replacing us anymore - -/datum/component/drift/proc/handle_move(datum/source, old_loc) - SIGNAL_HANDLER - // This can happen, because signals once sent cannot be stopped - if(QDELETED(src)) - return - var/atom/movable/movable_parent = parent - if(!isturf(movable_parent.loc)) - qdel(src) - return - if(movable_parent.inertia_moving) - return - if(!movable_parent.Process_Spacemove(drifting_loop.direction, continuous_move = TRUE)) - return - qdel(src) - -/// We're going to take the passed in glide size -/// and use it to manually delay our loop for that period -/// to allow the other movement to complete -/datum/component/drift/proc/handle_glidesize_update(datum/source, glide_size) - SIGNAL_HANDLER - // If we aren't drifting, or this is us, fuck off - var/atom/movable/movable_parent = parent - if(!drifting_loop || movable_parent.inertia_moving) - return - // If we are drifting, but this set came from the moveloop itself, drop the input - // I'm sorry man - if(ignore_next_glide) - ignore_next_glide = FALSE - return - var/glide_delay = round(world.icon_size / glide_size, 1) * world.tick_lag - drifting_loop.pause_for(glide_delay) - delayed = TRUE - -/// If we're pulling something and stop, we want it to continue at our rate and such -/datum/component/drift/proc/stopped_pulling(datum/source, atom/movable/was_pulling) - SIGNAL_HANDLER - // This does mean it falls very slightly behind, but otherwise they'll potentially run into us - var/next_move_in = drifting_loop.timer - world.time + world.tick_lag - was_pulling.newtonian_move(drifting_loop.direction, start_delay = next_move_in) - -/datum/component/drift/proc/glide_to_halt(glide_for) - if(!ismob(parent)) - qdel(src) - return - - var/mob/mob_parent = parent - var/client/our_client = mob_parent.client - // If we're not active, don't do the glide because it'll look dumb as fuck - if(!our_client || delayed) - qdel(src) - return - - block_inputs_until = world.time + glide_for - QDEL_IN(src, glide_for + 1) - qdel(drifting_loop) - RegisterSignal(parent, COMSIG_MOB_CLIENT_PRE_MOVE, PROC_REF(allow_final_movement)) - -/datum/component/drift/proc/allow_final_movement(datum/source) - // Some things want to allow movement out of spacedrift, we should let them - if(SEND_SIGNAL(parent, COMSIG_MOVABLE_DRIFT_BLOCK_INPUT) & DRIFT_ALLOW_INPUT) - return - if(world.time < block_inputs_until) - return COMSIG_MOB_CLIENT_BLOCK_PRE_MOVE diff --git a/code/datums/components/echolocation.dm b/code/datums/components/echolocation.dm index 51ab89a2be564..4fda54ac0f50e 100644 --- a/code/datums/components/echolocation.dm +++ b/code/datums/components/echolocation.dm @@ -156,7 +156,7 @@ copied_appearance.pixel_x = 0 copied_appearance.pixel_y = 0 copied_appearance.transform = matrix() - if(!iscarbon(input)) //wacky overlay people get generated everytime + if(input.icon && input.icon_state) saved_appearances["[input.icon]-[input.icon_state]"] = copied_appearance return copied_appearance diff --git a/code/datums/components/effect_remover.dm b/code/datums/components/effect_remover.dm index a67962250dbe1..c8490d760f1f8 100644 --- a/code/datums/components/effect_remover.dm +++ b/code/datums/components/effect_remover.dm @@ -66,6 +66,10 @@ if(!isliving(user)) return NONE + if(HAS_TRAIT(target, TRAIT_ILLUSORY_EFFECT)) + to_chat(user, span_notice("You pass [parent] through the [target], but nothing seems to happen. Is it really even there?")) + return NONE + if(is_type_in_typecache(target, effects_we_clear)) // Make sure we get all subtypes and everything INVOKE_ASYNC(src, PROC_REF(do_remove_effect), target, user) return ITEM_INTERACT_SUCCESS diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index 84bfa8dfad0f0..6fc61db5e76a6 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -57,7 +57,7 @@ var/damage = weapon.throwforce if(harmful) victim.throw_alert(ALERT_EMBEDDED_OBJECT, /atom/movable/screen/alert/embeddedobject) - playsound(victim,'sound/weapons/bladeslice.ogg', 40) + playsound(victim,'sound/items/weapons/bladeslice.ogg', 40) if (limb.can_bleed()) weapon.add_mob_blood(victim)//it embedded itself in you, of course it's bloody! damage += weapon.w_class * embed_data.impact_pain_mult diff --git a/code/datums/components/engraved.dm b/code/datums/components/engraved.dm index 60bfa5f617729..5db43b8076cd2 100644 --- a/code/datums/components/engraved.dm +++ b/code/datums/components/engraved.dm @@ -67,13 +67,13 @@ RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) //supporting component transfer means putting these here instead of initialize SSpersistence.wall_engravings += src - ADD_TRAIT(parent, TRAIT_NOT_ENGRAVABLE, TRAIT_GENERIC) + ADD_TRAIT(parent, TRAIT_NOT_ENGRAVABLE, ENGRAVED_TRAIT) /datum/component/engraved/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ATOM_EXAMINE) //supporting component transfer means putting these here instead of destroy SSpersistence.wall_engravings -= src - REMOVE_TRAIT(parent, TRAIT_NOT_ENGRAVABLE, TRAIT_GENERIC) + REMOVE_TRAIT(parent, TRAIT_NOT_ENGRAVABLE, ENGRAVED_TRAIT) /// Used to maintain the acid overlay on the parent [/atom]. /datum/component/engraved/proc/on_update_overlays(atom/parent_atom, list/overlays) diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm index 439b156352104..9dc8db3bbc4f1 100644 --- a/code/datums/components/explodable.dm +++ b/code/datums/components/explodable.dm @@ -60,10 +60,11 @@ return check_if_detonate(I) -/datum/component/explodable/proc/explodable_impact(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) +/datum/component/explodable/proc/explodable_impact(datum/source, atom/hit_atom, datum/thrownthing/throwing_datum, caught) SIGNAL_HANDLER - check_if_detonate(hit_atom) + if(!caught) + check_if_detonate(hit_atom) /datum/component/explodable/proc/explodable_bump(datum/source, atom/A) SIGNAL_HANDLER diff --git a/code/datums/components/face_decal.dm b/code/datums/components/face_decal.dm index f045a4f18df6e..df70f8a3f4989 100644 --- a/code/datums/components/face_decal.dm +++ b/code/datums/components/face_decal.dm @@ -53,6 +53,8 @@ carbon_parent.update_body_parts() else normal_overlay = get_normal_overlay() + normal_overlay.color = color + RegisterSignals(parent, list( COMSIG_COMPONENT_CLEAN_ACT, @@ -113,37 +115,39 @@ SIGNAL_HANDLER qdel(src) -/// Creampie subtype, handling signals and mood logic +/// splat subtype, handling signals and mood logic -GLOBAL_LIST_INIT(creamable, typecacheof(list( - /mob/living/carbon/human, - /mob/living/basic/pet/dog/corgi, - /mob/living/silicon/ai, +GLOBAL_LIST_INIT(splattable, zebra_typecacheof(list( + /mob/living/carbon/human = "human", + /mob/living/basic/pet/dog/corgi = "corgi", + /mob/living/silicon/ai = "ai", ))) -/datum/component/face_decal/creampie/Initialize() - . = ..() - if(!is_type_in_typecache(parent, GLOB.creamable)) +/datum/component/face_decal/splat + ///The mood_event that we add + var/mood_event_type + +/datum/component/face_decal/splat/Initialize(icon_state, layers, color, memory_type = /datum/memory/witnessed_creampie, mood_event_type = /datum/mood_event/creampie) + if(!is_type_in_typecache(parent, GLOB.splattable)) return COMPONENT_INCOMPATIBLE - SEND_SIGNAL(parent, COMSIG_MOB_CREAMED, src) - add_memory_in_range(parent, 7, /datum/memory/witnessed_creampie, protagonist = parent) + . = ..() -/datum/component/face_decal/creampie/get_normal_overlay() - if(iscorgi(parent)) - return mutable_appearance('icons/mob/effects/creampie.dmi', "[icon_state]_corgi") + SEND_SIGNAL(parent, COMSIG_MOB_HIT_BY_SPLAT, src) + add_memory_in_range(parent, 7, memory_type, protagonist = parent) + src.mood_event_type = mood_event_type - if(isAI(parent)) - return mutable_appearance('icons/mob/effects/creampie.dmi', "[icon_state]_ai") +/datum/component/face_decal/splat/get_normal_overlay() + return mutable_appearance('icons/mob/effects/face_decal.dmi', "[icon_state]_[GLOB.splattable[type]]") -/datum/component/face_decal/creampie/RegisterWithParent() +/datum/component/face_decal/splat/RegisterWithParent() . = ..() if(iscarbon(parent)) var/mob/living/carbon/human/carbon_parent = parent - carbon_parent.add_mood_event("creampie", /datum/mood_event/creampie) + carbon_parent.add_mood_event("splat", mood_event_type) -/datum/component/face_decal/creampie/UnregisterFromParent() +/datum/component/face_decal/splat/UnregisterFromParent() . = ..() if(iscarbon(parent)) var/mob/living/carbon/carbon_parent = parent - carbon_parent.clear_mood_event("creampie") + carbon_parent.clear_mood_event("splat") diff --git a/code/datums/components/fish_growth.dm b/code/datums/components/fish_growth.dm index bc7c8a9869e44..3ec1427fd51a8 100644 --- a/code/datums/components/fish_growth.dm +++ b/code/datums/components/fish_growth.dm @@ -11,43 +11,90 @@ var/use_drop_loc ///Is the parent deleted once the result is spawned? var/del_on_grow + ///Will the result inherit the name of the fish if that was changed from the initial name. + var/inherit_name -/datum/component/fish_growth/Initialize(result_type, growth_rate, use_drop_loc = TRUE, del_on_grow = TRUE) +/datum/component/fish_growth/Initialize(result_type, growth_time, use_drop_loc = TRUE, del_on_grow = TRUE, inherit_name = TRUE) . = ..() if(!isfish(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_FISH_LIFE, PROC_REF(on_fish_life)) src.result_type = result_type - src.growth_rate = growth_rate + growth_rate = 100 / growth_time src.use_drop_loc = use_drop_loc src.del_on_grow = del_on_grow + src.inherit_name = inherit_name -/datum/component/fish_growth/CheckDupeComponent(result_type, growth_rate, use_drop_loc = TRUE, del_on_grow = TRUE) +/datum/component/fish_growth/CheckDupeComponent( + datum/component/fish_growth/new_growth, // will be null + result_type, + growth_time, + use_drop_loc = TRUE, + del_on_grow = TRUE, + inherit_name = TRUE, +) if(result_type == src.result_type) - src.growth_rate = growth_rate + growth_rate = 100 / growth_time return TRUE //copy the growth rate and kill the new component return FALSE +/datum/component/fish_growth/RegisterWithParent() + var/evo_growth = ispath(result_type, /datum/fish_evolution) + RegisterSignal(parent, COMSIG_FISH_LIFE, PROC_REF(on_fish_life)) + if(!evo_growth) + return + var/datum/fish_evolution/evolution = GLOB.fish_evolutions[result_type] + evolution.RegisterSignal(parent, COMSIG_FISH_BEFORE_GROWING, TYPE_PROC_REF(/datum/fish_evolution, growth_checks)) + evolution.register_fish(parent) + +/datum/component/fish_growth/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_FISH_LIFE, COMSIG_FISH_BEFORE_GROWING)) + /datum/component/fish_growth/proc/on_fish_life(obj/item/fish/source, seconds_per_tick) SIGNAL_HANDLER - if(SEND_SIGNAL(source, COMSIG_FISH_BEFORE_GROWING, seconds_per_tick) & COMPONENT_DONT_GROW) + if(source.status == FISH_DEAD) //It died just now. return - maturation += growth_rate * seconds_per_tick + var/deciseconds_elapsed = seconds_per_tick * 10 + var/growth = growth_rate * deciseconds_elapsed + if(SEND_SIGNAL(source, COMSIG_FISH_BEFORE_GROWING, seconds_per_tick, growth) & COMPONENT_DONT_GROW) + return + maturation += growth if(maturation >= 100) finish_growing(source) /datum/component/fish_growth/proc/finish_growing(obj/item/fish/source) var/atom/location = use_drop_loc ? source.drop_location() : source.loc - var/atom/movable/result = new result_type (location) - if(location != source.loc) - result.visible_message(span_boldnotice("\A [result] jumps out of [source.loc]!")) - playsound(result, 'sound/effects/fish_splash.ogg', 60) - if(isbasicmob(result)) - for(var/trait_type in source.fish_traits) - var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] - trait.apply_to_mob(result) - - addtimer(CALLBACK(result, TYPE_PROC_REF(/mob/living/basic, hop_on_nearby_turf)), 0.1 SECONDS) + var/is_evo = ispath(result_type, /datum/fish_evolution) + var/atom/movable/result + if(is_evo) + var/datum/fish_evolution/evolution = GLOB.fish_evolutions[result_type] + result = source.create_offspring(evolution.new_fish_type, evolution = evolution) + var/obj/item/fish/fishie = result + fishie.breeding_wait = source.breeding_wait + fishie.last_feeding = source.last_feeding + var/health_percent = source.health / initial(source.health) + fishie.adjust_health(fishie.health * health_percent) + else + result = new result_type (location) + if(location != source.loc) + result.visible_message(span_boldnotice("\A [result] jumps out of [source.loc]!")) + playsound(result, 'sound/effects/fish_splash.ogg', 60) + if(isbasicmob(result)) + for(var/trait_type in source.fish_traits) + var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] + trait.apply_to_mob(result) + + addtimer(CALLBACK(result, TYPE_PROC_REF(/mob/living/basic, hop_on_nearby_turf)), 0.1 SECONDS) + + if(is_evo || location == source.loc) + var/message_verb = del_on_grow ? "grows into" : "generates" + location.visible_message(span_notice("[source] [message_verb] \a [result]."), vision_distance = 3) + + if(inherit_name && source.name != initial(source.name)) + if(ismob(result)) + var/mob/mob = result + mob.fully_replace_character_name(mob.name, source.name) + else + result.name = source.name SEND_SIGNAL(source, COMSIG_FISH_FINISH_GROWING, result) diff --git a/code/datums/components/fishing_spot.dm b/code/datums/components/fishing_spot.dm index cc21f22eb4b62..982b0da2df71a 100644 --- a/code/datums/components/fishing_spot.dm +++ b/code/datums/components/fishing_spot.dm @@ -19,11 +19,15 @@ RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examined_more)) RegisterSignal(parent, COMSIG_NPC_FISHING, PROC_REF(return_fishing_spot)) RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(explosive_fishing)) + RegisterSignal(parent, COMSIG_FISH_RELEASED_INTO, PROC_REF(fish_released)) + RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(link_to_fish_porter)) ADD_TRAIT(parent, TRAIT_FISHING_SPOT, REF(src)) /datum/component/fishing_spot/Destroy() + REMOVE_TRAIT(parent, TRAIT_FISHING_SPOT, REF(src)) fish_source.on_fishing_spot_del(src) fish_source = null + REMOVE_TRAIT(parent, TRAIT_FISHING_SPOT, REF(src)) return ..() /datum/component/fishing_spot/proc/handle_cast(datum/source, obj/item/fishing_rod/rod, mob/user) @@ -44,15 +48,7 @@ if(!HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISHING_SPOT)) return - var/has_known_fishes = FALSE - for(var/reward in fish_source.fish_table) - if(!ispath(reward, /obj/item/fish)) - continue - var/obj/item/fish/prototype = reward - if(initial(prototype.show_in_catalog)) - has_known_fishes = TRUE - break - if(!has_known_fishes) + if(!fish_source.has_known_fishes()) return examine_text += span_tinynoticeital("This is a fishing spot. You can look again to list its fishes...") @@ -62,25 +58,14 @@ if(!HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISHING_SPOT)) return - var/list/known_fishes = list() - for(var/reward in fish_source.fish_table) - if(!ispath(reward, /obj/item/fish)) - continue - var/obj/item/fish/prototype = reward - if(initial(prototype.show_in_catalog)) - known_fishes += initial(prototype.name) - - if(!length(known_fishes)) - return - - examine_text += span_info("You can catch the following fish here: [english_list(known_fishes)].") + fish_source.get_catchable_fish_names(user, parent, examine_text) /datum/component/fishing_spot/proc/try_start_fishing(obj/item/possibly_rod, mob/user) SIGNAL_HANDLER var/obj/item/fishing_rod/rod = possibly_rod if(!istype(rod)) return - if(HAS_TRAIT(user,TRAIT_GONE_FISHING) || rod.fishing_line) + if(GLOB.fishing_challenges_by_user[user] || rod.fishing_line) user.balloon_alert(user, "already fishing") return COMPONENT_NO_AFTERATTACK var/denial_reason = fish_source.reason_we_cant_fish(rod, user, parent) @@ -89,15 +74,10 @@ return COMPONENT_NO_AFTERATTACK // In case the fishing source has anything else to do before beginning to fish. fish_source.on_start_fishing(rod, user, parent) - start_fishing_challenge(rod, user) - return COMPONENT_NO_AFTERATTACK - -/datum/component/fishing_spot/proc/start_fishing_challenge(obj/item/fishing_rod/rod, mob/user) - /// Roll what we caught based on modified table - var/result = fish_source.roll_reward(rod, user) - var/datum/fishing_challenge/challenge = new(src, result, rod, user) + var/datum/fishing_challenge/challenge = new(src, rod, user) fish_source.pre_challenge_started(rod, user, challenge) challenge.start(user) + return COMPONENT_NO_AFTERATTACK /datum/component/fishing_spot/proc/return_fishing_spot(datum/source, list/fish_spot_container) fish_spot_container[NPC_FISHING_SPOT] = fish_source @@ -105,3 +85,13 @@ /datum/component/fishing_spot/proc/explosive_fishing(atom/location, severity) SIGNAL_HANDLER fish_source.spawn_reward_from_explosion(location, severity) + +/datum/component/fishing_spot/proc/link_to_fish_porter(atom/source, mob/user, obj/item/multitool/tool) + SIGNAL_HANDLER + if(istype(tool.buffer, /obj/machinery/fishing_portal_generator)) + 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) + SIGNAL_HANDLER + fish_source.readd_fish(fish, releaser) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index c034300f982fe..9e2964273fd48 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -40,8 +40,6 @@ Behavior that's still missing from this component that original food items had t var/volume = 50 ///The flavortext for taste (haha get it flavor text) var/list/tastes - ///Whether to tell the examiner that this is edible or not. - var/show_examine = TRUE /datum/component/edible/Initialize( list/initial_reagents, @@ -57,7 +55,6 @@ Behavior that's still missing from this component that original food items had t datum/callback/on_consume, datum/callback/check_liked, reagent_purity = 0.5, - show_examine = TRUE, ) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE @@ -73,7 +70,6 @@ Behavior that's still missing from this component that original food items had t src.on_consume = on_consume src.tastes = string_assoc_list(tastes) src.check_liked = check_liked - src.show_examine = show_examine setup_initial_reagents(initial_reagents, reagent_purity) @@ -81,9 +77,9 @@ Behavior that's still missing from this component that original food items had t RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine)) RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(OnCraft)) - RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(OnProcessed)) - RegisterSignal(parent, COMSIG_FOOD_INGREDIENT_ADDED, PROC_REF(edible_ingredient_added)) RegisterSignal(parent, COMSIG_OOZE_EAT_ATOM, PROC_REF(on_ooze_eat)) + RegisterSignal(parent, COMSIG_FOOD_INGREDIENT_ADDED, PROC_REF(edible_ingredient_added)) + RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(OnProcessed)) if(isturf(parent)) RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(on_entered)) @@ -216,7 +212,7 @@ Behavior that's still missing from this component that original food items had t SIGNAL_HANDLER var/atom/owner = parent - if(!show_examine) + if(food_flags & FOOD_NO_EXAMINE) return if(foodtypes) var/list/types = bitfield_to_list(foodtypes, FOOD_FLAGS) @@ -316,7 +312,6 @@ Behavior that's still missing from this component that original food items had t SIGNAL_HANDLER var/atom/this_food = parent - for(var/obj/item/food/crafted_part in parts_list) if(!crafted_part.reagents) continue @@ -325,7 +320,7 @@ Behavior that's still missing from this component that original food items had t this_food.reagents.maximum_volume = ROUND_UP(this_food.reagents.maximum_volume) // Just because I like whole numbers for this. - BLACKBOX_LOG_FOOD_MADE(this_food.type) + BLACKBOX_LOG_FOOD_MADE(parent.type) ///Makes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles /datum/component/edible/proc/IsFoodGone(atom/owner, mob/living/feeder) @@ -462,7 +457,7 @@ Behavior that's still missing from this component that original food items had t var/atom/owner = parent - if(!owner?.reagents) + if(!owner.reagents) stack_trace("[eater] failed to bite [owner], because [owner] had no reagents.") return FALSE if(eater.satiety > -200) @@ -479,7 +474,8 @@ Behavior that's still missing from this component that original food items had t if(bitecount == 0) apply_buff(eater) - var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) + var/fraction = 0.3 + fraction = min(bite_consumption / owner.reagents.total_volume, 1) owner.reagents.trans_to(eater, bite_consumption, transferred_by = feeder, methods = INGEST) bitecount++ @@ -489,8 +485,7 @@ Behavior that's still missing from this component that original food items had t On_Consume(eater, feeder) //Invoke our after eat callback if it is valid - if(after_eat) - after_eat.Invoke(eater, feeder, bitecount) + after_eat?.Invoke(eater, feeder, bitecount) //Invoke the eater's stomach's after_eat callback if valid if(iscarbon(eater)) @@ -531,7 +526,7 @@ Behavior that's still missing from this component that original food items had t if(recipe_complexity <= 0) return var/obj/item/food/food = parent - if(!isnull(food.crafted_food_buff)) + if(istype(food) && !isnull(food.crafted_food_buff)) buff = food.crafted_food_buff else buff = pick_weight(GLOB.food_buffs[min(recipe_complexity, FOOD_COMPLEXITY_5)]) @@ -666,7 +661,7 @@ Behavior that's still missing from this component that original food items had t /datum/component/edible/proc/UseByAnimal(datum/source, mob/living/basic/pet/dog/doggy) SIGNAL_HANDLER - if(!isdog(doggy)) + if(!isdog(doggy) || (food_flags & FOOD_NO_BITECOUNT)) //this entirely relies on bitecounts alas return var/atom/food = parent diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index 7e52f00def752..0b3751856b8a2 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -162,7 +162,7 @@ GLOBAL_LIST_EMPTY(GPS_list) switch(action) if("rename") var/atom/parentasatom = parent - var/a = tgui_input_text(usr, "Enter the desired tag", "GPS Tag", gpstag, 20) + var/a = tgui_input_text(usr, "Enter the desired tag", "GPS Tag", gpstag, max_length = 20) if (QDELETED(ui) || ui.status != UI_INTERACTIVE) return if (!a) diff --git a/code/datums/components/hide_weather_planes.dm b/code/datums/components/hide_weather_planes.dm new file mode 100644 index 0000000000000..97f34f57d313e --- /dev/null +++ b/code/datums/components/hide_weather_planes.dm @@ -0,0 +1,136 @@ +/** + * Component that manages a list of plane masters that are dependent on weather + * Force hides/shows them depending on the weather activity of their z stack + * Transparency is achieved by manipulating the alpha of the planes that are visible + * Applied to the plane master group that owns them + */ +/datum/component/hide_weather_planes + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + var/list/datum/weather/active_weather = list() + var/list/atom/movable/screen/plane_master/plane_masters = list() + +/datum/component/hide_weather_planes/Initialize(atom/movable/screen/plane_master/care_about) + if(!istype(parent, /datum/plane_master_group)) + return COMPONENT_INCOMPATIBLE + var/datum/plane_master_group/home = parent + plane_masters += care_about + RegisterSignal(care_about, COMSIG_QDELETING, PROC_REF(plane_master_deleted)) + + var/list/starting_signals = list() + var/list/ending_signals = list() + for(var/datum/weather/weather_type as anything in typesof(/datum/weather)) + starting_signals += COMSIG_WEATHER_TELEGRAPH(weather_type) + ending_signals += COMSIG_WEATHER_END(weather_type) + + RegisterSignals(SSdcs, starting_signals, PROC_REF(weather_started)) + RegisterSignals(SSdcs, ending_signals, PROC_REF(weather_finished)) + + if(home.our_hud) + attach_hud(home.our_hud) + else + RegisterSignal(home, COMSIG_GROUP_HUD_CHANGED, PROC_REF(new_hud_attached)) + +/datum/component/hide_weather_planes/Destroy(force) + hide_planes() + active_weather = null + plane_masters = null + return ..() + +/datum/component/hide_weather_planes/InheritComponent(datum/component/new_comp, i_am_original, atom/movable/screen/plane_master/care_about) + if(!i_am_original) + return + var/datum/plane_master_group/home = parent + var/mob/our_lad = home.our_hud?.mymob + var/our_offset = GET_TURF_PLANE_OFFSET(our_lad) + plane_masters += care_about + RegisterSignal(care_about, COMSIG_QDELETING, PROC_REF(plane_master_deleted)) + if(length(active_weather)) + //If there's weather to care about we unhide our new plane and adjust its alpha + care_about.unhide_plane(our_lad) + + if(care_about.offset >= our_offset) + care_about.enable_alpha() + else + care_about.disable_alpha() + else + care_about.hide_plane(our_lad) + +/datum/component/hide_weather_planes/proc/new_hud_attached(datum/source, datum/hud/new_hud) + SIGNAL_HANDLER + attach_hud(new_hud) + +/datum/component/hide_weather_planes/proc/attach_hud(datum/hud/new_hud) + RegisterSignal(new_hud, COMSIG_HUD_Z_CHANGED, PROC_REF(z_changed)) + var/mob/eye = new_hud?.mymob?.client?.eye + var/turf/eye_location = get_turf(eye) + z_changed(new_hud, eye_location?.z) + +/datum/component/hide_weather_planes/proc/plane_master_deleted(atom/movable/screen/plane_master/source) + SIGNAL_HANDLER + plane_masters -= source + +/** + * Unhides the relevant planes for the weather to be visible and manipulated. + * Also updates the alpha of the planes so enabled planes are either fully opaque or fully transparent + */ +/datum/component/hide_weather_planes/proc/display_planes() + var/datum/plane_master_group/home = parent + var/mob/our_lad = home.our_hud?.mymob + var/our_offset = GET_TURF_PLANE_OFFSET(our_lad) + for(var/atom/movable/screen/plane_master/weather_concious as anything in plane_masters) + //If the plane is hidden, unhide it + if(weather_concious.force_hidden) + weather_concious.unhide_plane(our_lad) + + //Now we update the alpha of the plane based on our offset. Weather above us (lower offset) are transparent, weather at or below us (higher offset) are opaque. + if(weather_concious.offset >= our_offset) + weather_concious.enable_alpha() + else + weather_concious.disable_alpha() + +///Hides the planes from the mob when no weather is occuring +/datum/component/hide_weather_planes/proc/hide_planes() + var/datum/plane_master_group/home = parent + var/mob/our_lad = home.our_hud?.mymob + for(var/atom/movable/screen/plane_master/weather_concious as anything in plane_masters) + weather_concious.hide_plane(our_lad) + +/datum/component/hide_weather_planes/proc/z_changed(datum/source, new_z) + SIGNAL_HANDLER + active_weather = list() + if(!SSmapping.initialized) + return + + var/list/connected_levels = SSmapping.get_connected_levels(new_z) + for(var/datum/weather/active as anything in SSweather.processing) + if(length(connected_levels & active.impacted_z_levels)) + active_weather += WEAKREF(active) + + if(length(active_weather)) + display_planes() + else + hide_planes() + +/datum/component/hide_weather_planes/proc/weather_started(datum/source, datum/weather/starting) + SIGNAL_HANDLER + var/datum/plane_master_group/home = parent + var/mob/eye = home.our_hud?.mymob?.client?.eye + var/turf/viewing_from = get_turf(eye) + if(!viewing_from) + return + + var/list/connected_levels = SSmapping.get_connected_levels(viewing_from) + if(length(connected_levels & starting.impacted_z_levels)) + active_weather += WEAKREF(starting) + + if(!length(active_weather)) + return + display_planes() + +/datum/component/hide_weather_planes/proc/weather_finished(datum/source, datum/weather/stopping) + SIGNAL_HANDLER + active_weather -= WEAKREF(stopping) + + if(length(active_weather)) + return + hide_planes() diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm index bc7cc2e6af3c4..ecd2f1ff836fd 100644 --- a/code/datums/components/infective.dm +++ b/code/datums/components/infective.dm @@ -8,43 +8,78 @@ var/weak_infection_chance = 10 -/datum/component/infective/Initialize(list/datum/disease/_diseases, expire_in, weak = FALSE) - if(islist(_diseases)) - diseases = _diseases - else - diseases = list(_diseases) +/datum/component/infective/Initialize(list/datum/disease/diseases, expire_in, weak = FALSE, weak_infection_chance = 10) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + if(!islist(diseases)) + diseases = islist(diseases) + + ///Make sure the diseases list is populated with instances of diseases so that it doesn't have to be for each AddComponent call. + for(var/datum/disease/disease as anything in diseases) + if(!disease) //empty entry, remove. + diseases -= disease + if(ispath(disease, /datum/disease)) + var/datum/disease/instance = new disease + diseases -= disease + diseases += instance + else if(!istype(disease)) + stack_trace("found [isdatum(disease) ? "an instance of [disease.type]" : disease] inside the diseases list argument for [type]") + diseases -= disease + + src.diseases = diseases + if(expire_in) expire_time = world.time + expire_in QDEL_IN(src, expire_in) - if(!ismovable(parent)) - return COMPONENT_INCOMPATIBLE - is_weak = weak + src.weak_infection_chance = weak_infection_chance + +/datum/component/infective/Destroy() + QDEL_LIST(diseases) + return ..() +/datum/component/infective/RegisterWithParent() if(is_weak && isitem(parent)) RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(try_infect_eat)) RegisterSignal(parent, COMSIG_PILL_CONSUMED, PROC_REF(try_infect_eat)) - else - var/static/list/disease_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(try_infect_crossed), - ) - AddComponent(/datum/component/connect_loc_behalf, parent, disease_connections) - - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean)) - RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(try_infect_buckle)) - RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(try_infect_collide)) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(try_infect_impact_zone)) - if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_ZONE, PROC_REF(try_infect_attack_zone)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(try_infect_attack)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(try_infect_equipped)) - RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(try_infect_eat)) - RegisterSignal(parent, COMSIG_PILL_CONSUMED, PROC_REF(try_infect_eat)) - if(istype(parent, /obj/item/reagent_containers/cup)) - RegisterSignal(parent, COMSIG_GLASS_DRANK, PROC_REF(try_infect_drink)) - if(isorgan(parent)) - RegisterSignal(parent, COMSIG_ORGAN_IMPLANTED, PROC_REF(on_organ_insertion)) + return + var/static/list/disease_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(try_infect_crossed), + ) + AddComponent(/datum/component/connect_loc_behalf, parent, disease_connections) + + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean)) + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(try_infect_buckle)) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(try_infect_collide)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(try_infect_impact_zone)) + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_ZONE, PROC_REF(try_infect_attack_zone)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(try_infect_attack)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(try_infect_equipped)) + RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(try_infect_eat)) + RegisterSignal(parent, COMSIG_PILL_CONSUMED, PROC_REF(try_infect_eat)) + if(istype(parent, /obj/item/reagent_containers/cup)) + RegisterSignal(parent, COMSIG_GLASS_DRANK, PROC_REF(try_infect_drink)) + if(isorgan(parent)) + RegisterSignal(parent, COMSIG_ORGAN_IMPLANTED, PROC_REF(on_organ_insertion)) + +/datum/component/infective/UnregisterFromParent() + . = ..() + UnregisterSignal(parent, list( + COMSIG_FOOD_EATEN, + COMSIG_PILL_CONSUMED, + COMSIG_COMPONENT_CLEAN_ACT, + COMSIG_MOVABLE_BUMP, + COMSIG_MOVABLE_IMPACT_ZONE, + COMSIG_ITEM_ATTACK_ZONE, + COMSIG_ITEM_ATTACK, + COMSIG_ITEM_EQUIPPED, + COMSIG_GLASS_DRANK, + COMSIG_ORGAN_IMPLANTED, + )) + qdel(GetComponent(/datum/component/connect_loc_behalf)) /datum/component/infective/proc/on_organ_insertion(obj/item/organ/target, mob/living/carbon/receiver) SIGNAL_HANDLER @@ -62,16 +97,16 @@ eater.add_mood_event("disgust", /datum/mood_event/disgust/dirty_food) - if(is_weak && !prob(weak_infection_chance)) - return - - for(var/datum/disease/disease in diseases) + for(var/datum/disease/disease as anything in diseases) + if(is_weak && !prob(weak_infection_chance)) + continue if(!disease.has_required_infectious_organ(eater, ORGAN_SLOT_STOMACH)) continue eater.ForceContractDisease(disease) - try_infect(feeder, BODY_ZONE_L_ARM) + if(!is_weak) + try_infect(feeder, BODY_ZONE_L_ARM) /datum/component/infective/proc/try_infect_drink(datum/source, mob/living/drinker, mob/living/feeder) SIGNAL_HANDLER @@ -79,11 +114,14 @@ if(HAS_TRAIT(drinker, TRAIT_STRONG_STOMACH)) return - var/appendage_zone = feeder.held_items.Find(source) - appendage_zone = appendage_zone == 0 ? BODY_ZONE_CHEST : appendage_zone % 2 ? BODY_ZONE_R_ARM : BODY_ZONE_L_ARM - try_infect(feeder, appendage_zone) + if(!is_weak) + var/appendage_zone = feeder.held_items.Find(source) + appendage_zone = appendage_zone == 0 ? BODY_ZONE_CHEST : (appendage_zone % 2 ? BODY_ZONE_R_ARM : BODY_ZONE_L_ARM) + try_infect(feeder, appendage_zone) - for(var/datum/disease/disease in diseases) + for(var/datum/disease/disease as anything in diseases) + if(is_weak && !prob(weak_infection_chance)) + continue if(!disease.has_required_infectious_organ(drinker, ORGAN_SLOT_STOMACH)) continue @@ -163,19 +201,3 @@ /datum/component/infective/proc/try_infect(mob/living/L, target_zone) for(var/V in diseases) L.ContactContractDisease(V, target_zone) - -/datum/component/infective/UnregisterFromParent() - . = ..() - UnregisterSignal(parent, list( - COMSIG_FOOD_EATEN, - COMSIG_PILL_CONSUMED, - COMSIG_COMPONENT_CLEAN_ACT, - COMSIG_MOVABLE_BUMP, - COMSIG_MOVABLE_IMPACT_ZONE, - COMSIG_ITEM_ATTACK_ZONE, - COMSIG_ITEM_ATTACK, - COMSIG_ITEM_EQUIPPED, - COMSIG_GLASS_DRANK, - COMSIG_ORGAN_IMPLANTED, - )) - qdel(GetComponent(/datum/component/connect_loc_behalf)) diff --git a/code/datums/components/interaction_booby_trap.dm b/code/datums/components/interaction_booby_trap.dm index 2ae22ffbb5ae5..ef8d3c78cfcb4 100644 --- a/code/datums/components/interaction_booby_trap.dm +++ b/code/datums/components/interaction_booby_trap.dm @@ -26,7 +26,7 @@ /datum/component/interaction_booby_trap/Initialize( explosion_light_range = 3, explosion_heavy_range = 1, // So we destroy some machine components - triggered_sound = 'sound/machines/triple_beep.ogg', + triggered_sound = 'sound/machines/beep/triple_beep.ogg', trigger_delay = 0.5 SECONDS, sound_loop_type = /datum/looping_sound/trapped_machine_beep, defuse_tool = TOOL_SCREWDRIVER, diff --git a/code/datums/components/irradiated.dm b/code/datums/components/irradiated.dm index 077539f49db8e..0f70e0d80b717 100644 --- a/code/datums/components/irradiated.dm +++ b/code/datums/components/irradiated.dm @@ -51,11 +51,13 @@ /datum/component/irradiated/RegisterWithParent() RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean)) RegisterSignal(parent, COMSIG_GEIGER_COUNTER_SCAN, PROC_REF(on_geiger_counter_scan)) + RegisterSignal(parent, COMSIG_LIVING_HEALTHSCAN, PROC_REF(on_healthscan)) /datum/component/irradiated/UnregisterFromParent() UnregisterSignal(parent, list( COMSIG_COMPONENT_CLEAN_ACT, COMSIG_GEIGER_COUNTER_SCAN, + COMSIG_LIVING_HEALTHSCAN, )) /datum/component/irradiated/Destroy(force) @@ -138,7 +140,7 @@ if(human_parent.is_blind()) to_chat(human_parent, span_boldwarning("Your [affected_limb.plaintext_zone] feels like it's bubbling, then burns like hell!")) - human_parent.apply_damage(RADIATION_BURN_SPLOTCH_DAMAGE, BURN, affected_limb) + human_parent.apply_damage(RADIATION_BURN_SPLOTCH_DAMAGE, BURN, affected_limb, wound_clothing = FALSE) playsound( human_parent, pick('sound/effects/wounds/sizzle1.ogg', 'sound/effects/wounds/sizzle2.ogg'), @@ -186,6 +188,12 @@ return COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL +/datum/component/irradiated/proc/on_healthscan(datum/source, list/render_list, advanced, mob/user, mode, tochat) + SIGNAL_HANDLER + + render_list += conditional_tooltip("Subject is irradiated.", "Supply antiradiation or antitoxin, such as [/datum/reagent/medicine/potass_iodide::name] or [/datum/reagent/medicine/pen_acid::name].", tochat) + render_list += "
" + /atom/movable/screen/alert/irradiated name = "Irradiated" desc = "You're irradiated! Heal your toxins quick, and stand under a shower to halt the incoming damage." diff --git a/code/datums/components/itempicky.dm b/code/datums/components/itempicky.dm index 74fbdff1caa91..bda8b1ae13881 100644 --- a/code/datums/components/itempicky.dm +++ b/code/datums/components/itempicky.dm @@ -5,13 +5,21 @@ var/whitelist /// Message shown if you try to pick up an item not in the whitelist var/message = "You don't like %TARGET, why would you hold it?" + /// An optional callback we check for overriding our whitelist + var/datum/callback/tertiary_condition = null -/datum/component/itempicky/Initialize(whitelist, message) +/datum/component/itempicky/Initialize(whitelist, message, tertiary_condition) if(!ismob(parent)) return COMPONENT_INCOMPATIBLE src.whitelist = whitelist if(message) src.message = message + if(tertiary_condition) + src.tertiary_condition = tertiary_condition + +/datum/component/itempicky/Destroy(force) + tertiary_condition = null + return ..() /datum/component/itempicky/RegisterWithParent() RegisterSignal(parent, COMSIG_LIVING_TRY_PUT_IN_HAND, PROC_REF(particularly)) @@ -30,6 +38,7 @@ /datum/component/itempicky/proc/particularly(datum/source, obj/item/pickingup) SIGNAL_HANDLER - if(!is_type_in_typecache(pickingup, whitelist)) + // if we were passed the output of a callback, check against that + if(!tertiary_condition?.Invoke() && !is_type_in_typecache(pickingup, whitelist)) to_chat(source, span_warning("[replacetext(message, "%TARGET", pickingup)]")) return COMPONENT_LIVING_CANT_PUT_IN_HAND diff --git a/code/datums/components/jetpack.dm b/code/datums/components/jetpack.dm index 437660abc82e0..1da8822091b90 100644 --- a/code/datums/components/jetpack.dm +++ b/code/datums/components/jetpack.dm @@ -17,17 +17,25 @@ var/datum/effect_system/trail_follow/trail /// The typepath to instansiate our trail as, when we need it var/effect_type + /// Drift force applied each movement tick + var/drift_force + /// Force that applied when stabiliziation is active and the player isn't moving in the same direction as the jetpack + var/stabilization_force + /// Our current user + var/mob/user /** * Arguments: * * stabilize - If we should drift when we finish moving, or sit stable in space] + * * drift_force - How much force is applied whenever the user tries to move + * * stabilization_force - How much force is applied per tick when we try to stabilize the user * * activation_signal - Signal we activate on * * deactivation_signal - Signal we deactivate on * * return_flag - Flag to return if activation fails * * check_on_move - Callback we call each time we attempt a move, we expect it to retun true if the move is ok, false otherwise. It expects an arg, TRUE if fuel should be consumed, FALSE othewise * * effect_type - Type of trail_follow to spawn */ -/datum/component/jetpack/Initialize(stabilize, activation_signal, deactivation_signal, return_flag, datum/callback/check_on_move, datum/effect_system/trail_follow/effect_type) +/datum/component/jetpack/Initialize(stabilize, drift_force = 1 NEWTONS, stabilization_force = 1 NEWTONS, activation_signal, deactivation_signal, return_flag, datum/callback/check_on_move, datum/effect_system/trail_follow/effect_type) . = ..() if(!isatom(parent)) return COMPONENT_INCOMPATIBLE @@ -44,8 +52,10 @@ src.deactivation_signal = deactivation_signal src.return_flag = return_flag src.effect_type = effect_type + src.drift_force = drift_force + src.stabilization_force = stabilization_force -/datum/component/jetpack/InheritComponent(datum/component/component, original, stabilize, activation_signal, deactivation_signal, return_flag, datum/callback/check_on_move, datum/effect_system/trail_follow/effect_type) +/datum/component/jetpack/InheritComponent(datum/component/component, original, stabilize, drift_force = 1 NEWTONS, stabilization_force = 1 NEWTONS, activation_signal, deactivation_signal, return_flag, datum/callback/check_on_move, datum/effect_system/trail_follow/effect_type) UnregisterSignal(parent, src.activation_signal) if(src.deactivation_signal) UnregisterSignal(parent, src.deactivation_signal) @@ -59,6 +69,8 @@ src.deactivation_signal = deactivation_signal src.return_flag = return_flag src.effect_type = effect_type + src.drift_force = drift_force + src.stabilization_force = stabilization_force if(trail && trail.effect_type != effect_type) setup_trail(trail.holder) @@ -66,87 +78,86 @@ /datum/component/jetpack/Destroy(force) if(trail) QDEL_NULL(trail) + user = null check_on_move = null return ..() /datum/component/jetpack/proc/setup_trail(mob/user) if(trail) QDEL_NULL(trail) - trail = new effect_type trail.auto_process = FALSE trail.set_up(user) trail.start() -/datum/component/jetpack/proc/activate(datum/source, mob/user) +/datum/component/jetpack/proc/activate(datum/source, mob/new_user) SIGNAL_HANDLER if(!check_on_move.Invoke(TRUE)) return return_flag + user = new_user RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(pre_move_react)) - RegisterSignal(user, COMSIG_MOVABLE_SPACEMOVE, PROC_REF(spacemove_react)) - RegisterSignal(user, COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT, PROC_REF(block_starting_visuals)) - RegisterSignal(user, COMSIG_MOVABLE_DRIFT_BLOCK_INPUT, PROC_REF(ignore_ending_block)) - + RegisterSignal(user, COMSIG_MOB_CLIENT_MOVE_NOGRAV, PROC_REF(on_client_move)) + START_PROCESSING(SSnewtonian_movement, src) setup_trail(user) -/datum/component/jetpack/proc/deactivate(datum/source, mob/user) +/datum/component/jetpack/proc/deactivate(datum/source, mob/old_user) SIGNAL_HANDLER - UnregisterSignal(user, COMSIG_MOVABLE_MOVED) - UnregisterSignal(user, COMSIG_MOVABLE_PRE_MOVE) - UnregisterSignal(user, COMSIG_MOVABLE_SPACEMOVE) - UnregisterSignal(user, COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT) - UnregisterSignal(user, COMSIG_MOVABLE_DRIFT_BLOCK_INPUT) + UnregisterSignal(old_user, COMSIG_MOVABLE_MOVED) + UnregisterSignal(old_user, COMSIG_MOVABLE_PRE_MOVE) + UnregisterSignal(old_user, COMSIG_MOB_CLIENT_MOVE_NOGRAV) + STOP_PROCESSING(SSnewtonian_movement, src) + user = null if(trail) QDEL_NULL(trail) -/datum/component/jetpack/proc/move_react(mob/user) +/datum/component/jetpack/proc/move_react(mob/source) SIGNAL_HANDLER - if(!user || !user.client)//Don't allow jet self using - return - if(!isturf(user.loc))//You can't use jet in nowhere or from mecha/closet - return - if(!(user.movement_type & FLOATING) || user.buckled)//You don't want use jet in gravity or while buckled. + if (!should_trigger(source)) return - if(user.pulledby)//You don't must use jet if someone pull you - return - if(user.throwing)//You don't must use jet if you thrown - return - if(user.client.intended_direction)//You use jet when press keys. yes. - thrust() -/datum/component/jetpack/proc/pre_move_react(mob/user) - SIGNAL_HANDLER - if(!trail) - return FALSE - trail.oldposition = get_turf(user) + if(source.client.intended_direction && check_on_move.Invoke(FALSE))//You use jet when press keys. yes. + trail.generate_effect() -/datum/component/jetpack/proc/spacemove_react(mob/user, movement_dir, continuous_move) - SIGNAL_HANDLER - if(!continuous_move && movement_dir) - return COMSIG_MOVABLE_STOP_SPACEMOVE - // Check if we have the fuel to stop this. Do NOT cosume any fuel, just check - // This is done because things other then us can use our fuel - if(stabilize && check_on_move.Invoke(FALSE)) - return COMSIG_MOVABLE_STOP_SPACEMOVE - -/// Returns true if the thrust went well, false otherwise -/datum/component/jetpack/proc/thrust() - if(!check_on_move.Invoke(TRUE)) +/datum/component/jetpack/proc/should_trigger(mob/source) + if(!source || !source.client)//Don't allow jet self using + return FALSE + if(!isturf(source.loc))//You can't use jet in nowhere or from mecha/closet + return FALSE + if(!(source.movement_type & FLOATING) || source.buckled)//You don't want use jet in gravity or while buckled. + return FALSE + if(source.pulledby)//You don't must use jet if someone pull you + return FALSE + if(source.throwing)//You don't must use jet if you thrown return FALSE - trail.generate_effect() return TRUE -/// Basically, tell the drift component not to do its starting visuals, because they look dumb for us -/datum/component/jetpack/proc/block_starting_visuals(datum/source) +/datum/component/jetpack/proc/pre_move_react(mob/source) SIGNAL_HANDLER - return DRIFT_VISUAL_FAILED + if(!trail) + return FALSE + trail.oldposition = get_turf(source) + +/datum/component/jetpack/process(seconds_per_tick) + if (!should_trigger(user) || !stabilize || isnull(user.drift_handler)) + return -/// If we're on, don't let the drift component block movements at the end since we can speed -/datum/component/jetpack/proc/ignore_ending_block(datum/source) + var/max_drift_force = (DEFAULT_INERTIA_SPEED / user.cached_multiplicative_slowdown - 1) / INERTIA_SPEED_COEF + 1 + user.drift_handler.stabilize_drift(user.client.intended_direction ? dir2angle(user.client.intended_direction) : null, user.client.intended_direction ? max_drift_force : 0, stabilization_force * (seconds_per_tick * 1 SECONDS)) + +/datum/component/jetpack/proc/on_client_move(mob/source, list/move_args) SIGNAL_HANDLER - return DRIFT_ALLOW_INPUT + + if (!should_trigger(source)) + return + + if (!check_on_move.Invoke(TRUE)) + return + + var/max_drift_force = (DEFAULT_INERTIA_SPEED / source.cached_multiplicative_slowdown - 1) / INERTIA_SPEED_COEF + 1 + source.newtonian_move(dir2angle(source.client.intended_direction), instant = TRUE, drift_force = drift_force, controlled_cap = max_drift_force) + source.setDir(source.client.intended_direction) diff --git a/code/datums/components/jukebox.dm b/code/datums/components/jukebox.dm index 7d453f8033db9..cac6023751c01 100644 --- a/code/datums/components/jukebox.dm +++ b/code/datums/components/jukebox.dm @@ -400,7 +400,7 @@ // Default track supplied for testing and also because it's a banger /datum/track/default - song_path = 'sound/ambience/title3.ogg' + song_path = 'sound/music/lobby_music/title3.ogg' song_name = "Tintin on the Moon" song_length = 3 MINUTES + 52 SECONDS song_beat = 1 SECONDS diff --git a/code/datums/components/life_link.dm b/code/datums/components/life_link.dm index 628aceabc955a..314a3d7931bde 100644 --- a/code/datums/components/life_link.dm +++ b/code/datums/components/life_link.dm @@ -128,7 +128,7 @@ return holder.icon_state = "hud[RoundHealth(host)]" var/icon/size_check = icon(mob_parent.icon, mob_parent.icon_state, mob_parent.dir) - holder.pixel_y = size_check.Height() - world.icon_size + holder.pixel_y = size_check.Height() - ICON_SIZE_Y /// Update our vital status on the medical hud /datum/component/life_link/proc/update_med_hud_status(mob/living/mob_parent) @@ -136,7 +136,7 @@ if(isnull(holder)) return var/icon/size_check = icon(mob_parent.icon, mob_parent.icon_state, mob_parent.dir) - holder.pixel_y = size_check.Height() - world.icon_size + holder.pixel_y = size_check.Height() - ICON_SIZE_Y if(host.stat == DEAD || HAS_TRAIT(host, TRAIT_FAKEDEATH)) holder.icon_state = "huddead" else diff --git a/code/datums/components/lockable_storage.dm b/code/datums/components/lockable_storage.dm index 482cb134159e0..ca058cb3fbfab 100644 --- a/code/datums/components/lockable_storage.dm +++ b/code/datums/components/lockable_storage.dm @@ -62,7 +62,6 @@ UnregisterSignal(parent, list( COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), - COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, )) UnregisterSignal(parent, list( COMSIG_ATOM_EXAMINE, diff --git a/code/datums/components/mind_linker.dm b/code/datums/components/mind_linker.dm index 4449a8fe36e8e..f6b2af5329716 100644 --- a/code/datums/components/mind_linker.dm +++ b/code/datums/components/mind_linker.dm @@ -242,7 +242,7 @@ var/datum/component/mind_linker/linker = target var/mob/living/linker_parent = linker.parent - var/message = tgui_input_text(owner, "Enter a message to transmit.", "[linker.network_name] Telepathy") + var/message = tgui_input_text(owner, "Enter a message to transmit.", "[linker.network_name] Telepathy", max_length = MAX_MESSAGE_LEN) if(!message || QDELETED(src) || QDELETED(owner) || owner.stat == DEAD) return diff --git a/code/datums/components/mob_harvest.dm b/code/datums/components/mob_harvest.dm index b9f9f86350be5..242161027b069 100644 --- a/code/datums/components/mob_harvest.dm +++ b/code/datums/components/mob_harvest.dm @@ -25,7 +25,7 @@ ///how long it takes to harvest from the mob var/item_harvest_time = 5 SECONDS ///typepath of harvest sound - var/item_harvest_sound = 'sound/items/welder2.ogg' + var/item_harvest_sound = 'sound/items/tools/welder2.ogg' //harvest_type, produced_item_typepath and speedup_type are typepaths, not reference /datum/component/mob_harvest/Initialize(harvest_tool, fed_item, produced_item_typepath, produced_item_desc, max_ready, item_generation_wait, item_reduction_time, item_harvest_time, item_harvest_sound) diff --git a/code/datums/components/pet_commands/pet_commands_basic.dm b/code/datums/components/pet_commands/pet_commands_basic.dm index 9f4dda9cca394..fd4e1f922c8b4 100644 --- a/code/datums/components/pet_commands/pet_commands_basic.dm +++ b/code/datums/components/pet_commands/pet_commands_basic.dm @@ -298,5 +298,5 @@ return ..() /datum/pet_command/point_targeting/fish/execute_action(datum/ai_controller/controller) - controller.queue_behavior(/datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target_combat_mode, BB_CURRENT_PET_TARGET) + controller.queue_behavior(/datum/ai_behavior/hunt_target/interact_with_target/reset_target_combat_mode_off, BB_CURRENT_PET_TARGET) return SUBTREE_RETURN_FINISH_PLANNING diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index c59be2ed27651..a1be66654a2c0 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -343,7 +343,7 @@ parent_movable.update_appearance() if(changer) - playsound(changer, 'sound/items/ratchet.ogg', 10, TRUE) //sound + playsound(changer, 'sound/items/tools/ratchet.ogg', 10, TRUE) //sound //quickly disconnect and reconnect the network. if(active) diff --git a/code/datums/components/profound_fisher.dm b/code/datums/components/profound_fisher.dm index 947e9d26f5197..61f6543bd12bf 100644 --- a/code/datums/components/profound_fisher.dm +++ b/code/datums/components/profound_fisher.dm @@ -64,9 +64,12 @@ /datum/component/profound_fisher/proc/on_unarmed_attack(mob/living/source, atom/attack_target, proximity_flag, list/modifiers) SIGNAL_HANDLER - if(!source.client || !should_fish_on(source, attack_target)) + if(!should_fish_on(source, attack_target)) return - INVOKE_ASYNC(src, PROC_REF(begin_fishing), source, attack_target) + if(source.client) + INVOKE_ASYNC(src, PROC_REF(begin_fishing), source, attack_target) + else + INVOKE_ASYNC(src, PROC_REF(pretend_fish), source, attack_target) return COMPONENT_CANCEL_ATTACK_CHAIN /datum/component/profound_fisher/proc/pre_attack(mob/living/source, atom/target) @@ -77,53 +80,55 @@ if(source.client) INVOKE_ASYNC(src, PROC_REF(begin_fishing), source, target) else - INVOKE_ASYNC(src, PROC_REF(pretend_fish), target) + INVOKE_ASYNC(src, PROC_REF(pretend_fish), source, target) return COMPONENT_HOSTILE_NO_ATTACK /datum/component/profound_fisher/proc/should_fish_on(mob/living/user, atom/target) - if(!HAS_TRAIT(target, TRAIT_FISHING_SPOT) || HAS_TRAIT(user, TRAIT_GONE_FISHING)) + if(!HAS_TRAIT(target, TRAIT_FISHING_SPOT) || GLOB.fishing_challenges_by_user[user]) return FALSE if(user.combat_mode || !user.CanReach(target)) return FALSE return TRUE /datum/component/profound_fisher/proc/begin_fishing(mob/living/user, atom/target) - RegisterSignal(user, SIGNAL_ADDTRAIT(TRAIT_GONE_FISHING), PROC_REF(actually_fishing_with_internal_rod)) + RegisterSignal(user, COMSIG_MOB_BEGIN_FISHING, PROC_REF(actually_fishing_with_internal_rod)) our_rod.melee_attack_chain(user, target) - UnregisterSignal(user, SIGNAL_ADDTRAIT(TRAIT_GONE_FISHING)) + UnregisterSignal(user, COMSIG_MOB_BEGIN_FISHING) /datum/component/profound_fisher/proc/actually_fishing_with_internal_rod(datum/source) SIGNAL_HANDLER ADD_TRAIT(source, TRAIT_PROFOUND_FISHER, REF(parent)) - RegisterSignal(source, SIGNAL_REMOVETRAIT(TRAIT_GONE_FISHING), PROC_REF(remove_profound_fisher)) + RegisterSignal(source, COMSIG_MOB_COMPLETE_FISHING, PROC_REF(remove_profound_fisher)) /datum/component/profound_fisher/proc/remove_profound_fisher(datum/source) SIGNAL_HANDLER REMOVE_TRAIT(source, TRAIT_PROFOUND_FISHER, TRAIT_GENERIC) - UnregisterSignal(source, SIGNAL_REMOVETRAIT(TRAIT_GONE_FISHING)) + UnregisterSignal(source, COMSIG_MOB_COMPLETE_FISHING) -/datum/component/profound_fisher/proc/pretend_fish(atom/target) - var/mob/living/living_parent = parent - if(DOING_INTERACTION_WITH_TARGET(living_parent, target)) +/datum/component/profound_fisher/proc/pretend_fish(mob/living/source, atom/target) + if(DOING_INTERACTION_WITH_TARGET(source, target)) return var/list/fish_spot_container[NPC_FISHING_SPOT] SEND_SIGNAL(target, COMSIG_NPC_FISHING, fish_spot_container) var/datum/fish_source/fish_spot = fish_spot_container[NPC_FISHING_SPOT] if(isnull(fish_spot)) return null - var/obj/effect/fishing_lure/lure = new(get_turf(target), target) - playsound(lure, 'sound/effects/splash.ogg', 100) - var/happiness_percentage = living_parent.ai_controller?.blackboard[BB_BASIC_HAPPINESS] / 100 - var/fishing_speed = 10 SECONDS - round(4 SECONDS * happiness_percentage) - if(!do_after(living_parent, fishing_speed, target = target) && !QDELETED(fish_spot)) - qdel(lure) - return - var/reward_loot = fish_spot.roll_reward(our_rod, parent) - fish_spot.dispense_reward(reward_loot, parent, target) - playsound(lure, 'sound/effects/bigsplash.ogg', 100) - qdel(lure) + var/obj/effect/fishing_float/float = new(get_turf(target), target) + playsound(float, 'sound/effects/splash.ogg', 100) + if(!PERFORM_ALL_TESTS(fish_sources)) + var/happiness_percentage = source.ai_controller?.blackboard[BB_BASIC_HAPPINESS] * 0.01 + var/fishing_speed = 10 SECONDS - round(4 SECONDS * happiness_percentage) + if(!do_after(source, fishing_speed, target = target) && !QDELETED(fish_spot)) + qdel(float) + return + var/reward_loot = fish_spot.roll_reward(our_rod, source) + fish_spot.dispense_reward(reward_loot, source, target) + playsound(float, 'sound/effects/bigsplash.ogg', 100) + qdel(float) /obj/item/fishing_rod/mob_fisher line = /obj/item/fishing_line/reinforced bait = /obj/item/food/bait/doughball/synthetic/unconsumable resistance_flags = INDESTRUCTIBLE + reel_overlay = null + show_in_wiki = FALSE //abstract fishing rod diff --git a/code/datums/components/ranged_attacks.dm b/code/datums/components/ranged_attacks.dm index 2f9c6cb822da5..58883ce58111f 100644 --- a/code/datums/components/ranged_attacks.dm +++ b/code/datums/components/ranged_attacks.dm @@ -20,7 +20,7 @@ /datum/component/ranged_attacks/Initialize( casing_type, projectile_type, - projectile_sound = 'sound/weapons/gun/pistol/shot.ogg', + projectile_sound = 'sound/items/weapons/gun/pistol/shot.ogg', burst_shots, burst_intervals = 0.2 SECONDS, cooldown_time = 3 SECONDS, diff --git a/code/datums/components/regenerative_shield.dm b/code/datums/components/regenerative_shield.dm index 5ecf670820381..34d305b27e13f 100644 --- a/code/datums/components/regenerative_shield.dm +++ b/code/datums/components/regenerative_shield.dm @@ -59,7 +59,7 @@ if(damage >= damage_threshold || number_of_hits <= 0) return NONE - playsound(get_turf(parent), 'sound/weapons/tap.ogg', 20) + playsound(get_turf(parent), 'sound/items/weapons/tap.ogg', 20) new /obj/effect/temp_visual/guardian/phase/out(get_turf(parent)) number_of_hits = max(0, number_of_hits - 1) if(number_of_hits <= 0) @@ -71,14 +71,14 @@ for(var/obj/effect/my_effect as anything in shield_overlays) animate(my_effect, alpha = 0, time = 3 SECONDS) my_effect.remove_filter(SHIELD_FILTER) - playsound(parent, 'sound/mecha/mech_shield_drop.ogg', 20) + playsound(parent, 'sound/vehicles/mecha/mech_shield_drop.ogg', 20) /datum/component/regenerative_shield/proc/enable_shield() number_of_hits = initial(number_of_hits) for(var/obj/effect/my_effect as anything in shield_overlays) animate(my_effect, alpha = 255, time = 3 SECONDS) addtimer(CALLBACK(src, PROC_REF(apply_filter_effects), my_effect), 5 SECONDS) - playsound(parent, 'sound/mecha/mech_shield_raise.ogg', 20) + playsound(parent, 'sound/vehicles/mecha/mech_shield_raise.ogg', 20) /datum/component/regenerative_shield/proc/apply_filter_effects(obj/effect/new_effect) if(isnull(new_effect)) diff --git a/code/datums/components/religious_tool.dm b/code/datums/components/religious_tool.dm index 37b62d1aa0e3c..969e6a9a3cec1 100644 --- a/code/datums/components/religious_tool.dm +++ b/code/datums/components/religious_tool.dm @@ -159,15 +159,15 @@ /datum/component/religious_tool/proc/perform_rite(mob/living/user, path) if(user.mind.holy_role < HOLY_ROLE_PRIEST) if(user.mind.holy_role == HOLY_ROLE_DEACON) - to_chat(user, "You are merely a deacon of [GLOB.deity], and therefore cannot perform rites.") + to_chat(user, span_warning("You are merely a deacon of [GLOB.deity], and therefore cannot perform rites.")) else - to_chat(user, "You are not holy, and therefore cannot perform rites.") + to_chat(user, span_warning("You are not holy, and therefore cannot perform rites.")) return if(rite_types_allowlist && !is_path_in_list(path, rite_types_allowlist)) to_chat(user, span_warning("This cannot perform that kind of rite.")) return if(performing_rite) - to_chat(user, "There is a rite currently being performed here already.") + to_chat(user, span_notice("There is a rite currently being performed here already.")) return if(!user.can_perform_action(parent, FORBID_TELEKINESIS_REACH)) to_chat(user,span_warning("You are not close enough to perform the rite.")) diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm index 1e3c94d84c6a3..7a18e923afebe 100644 --- a/code/datums/components/riding/riding_mob.dm +++ b/code/datums/components/riding/riding_mob.dm @@ -7,7 +7,9 @@ var/can_use_abilities = FALSE /// shall we require riders to go through the riding minigame if they arent in our friends list var/require_minigame = FALSE - /// list of blacklisted abilities that cant be shared + /// unsharable abilities that we will force to be shared anyway + var/list/override_unsharable_abilities = list() + /// abilities that are always blacklisted from sharing var/list/blacklist_abilities = list() /datum/component/riding/creature/Initialize(mob/living/riding_mob, force = FALSE, ride_check_flags = NONE, potion_boost = FALSE) @@ -168,6 +170,8 @@ for(var/datum/action/action as anything in ridden_creature.actions) if(is_type_in_list(action, blacklist_abilities)) continue + if(!action.can_be_shared && !is_type_in_list(action, override_unsharable_abilities)) + continue action.GiveAction(rider) /// Takes away the riding parent's abilities from the rider @@ -385,7 +389,7 @@ if(human_user && is_clown_job(human_user.mind?.assigned_role)) // there's a new sheriff in town - playsound(movable_parent, 'sound/creatures/pony/clown_gallup.ogg', 50) + playsound(movable_parent, 'sound/mobs/non-humanoids/pony/clown_gallup.ogg', 50) COOLDOWN_START(src, pony_trot_cooldown, 500 MILLISECONDS) /datum/component/riding/creature/bear/handle_specials() @@ -504,7 +508,6 @@ /datum/component/riding/creature/leaper can_force_unbuckle = FALSE can_use_abilities = TRUE - blacklist_abilities = list(/datum/action/cooldown/toggle_seethrough) ride_check_flags = JUST_FRIEND_RIDERS /datum/component/riding/creature/leaper/handle_specials() diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm index f7ee78673e057..3c55eae46688a 100644 --- a/code/datums/components/riding/riding_vehicle.dm +++ b/code/datums/components/riding/riding_vehicle.dm @@ -15,19 +15,19 @@ if(!keycheck(rider)) if(z_move_flags & ZMOVE_FEEDBACK) - to_chat(rider, "[movable_parent] has no key inserted!") + to_chat(rider, span_warning("[movable_parent] has no key inserted!")) return COMPONENT_RIDDEN_STOP_Z_MOVE if(HAS_TRAIT(rider, TRAIT_INCAPACITATED)) if(z_move_flags & ZMOVE_FEEDBACK) - to_chat(rider, "You cannot operate [movable_parent] right now!") + to_chat(rider, span_warning("You cannot operate [movable_parent] right now!")) return COMPONENT_RIDDEN_STOP_Z_MOVE if(ride_check_flags & RIDER_NEEDS_LEGS && HAS_TRAIT(rider, TRAIT_FLOORED)) if(z_move_flags & ZMOVE_FEEDBACK) - to_chat(rider, "You can't seem to manage that while unable to stand up enough to move [movable_parent]...") + to_chat(rider, span_warning("You can't seem to manage that while unable to stand up enough to move [movable_parent]...")) return COMPONENT_RIDDEN_STOP_Z_MOVE if(ride_check_flags & RIDER_NEEDS_ARMS && HAS_TRAIT(rider, TRAIT_HANDS_BLOCKED)) if(z_move_flags & ZMOVE_FEEDBACK) - to_chat(rider, "You can't seem to hold onto [movable_parent] to move it...") + to_chat(rider, span_warning("You can't seem to hold onto [movable_parent] to move it...")) return COMPONENT_RIDDEN_STOP_Z_MOVE return COMPONENT_RIDDEN_ALLOW_Z_MOVE diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index 6ff8197e09319..40df294af12a8 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -76,7 +76,7 @@ var/obj/rotated_obj = parent rotated_obj.setDir(turn(rotated_obj.dir, degrees)) if(rotation_flags & ROTATION_REQUIRE_WRENCH) - playsound(rotated_obj, 'sound/items/ratchet.ogg', 50, TRUE) + playsound(rotated_obj, 'sound/items/tools/ratchet.ogg', 50, TRUE) post_rotation.Invoke(user, degrees) diff --git a/code/datums/components/scope.dm b/code/datums/components/scope.dm index 087eb0c06d24c..46388a15e26e8 100644 --- a/code/datums/components/scope.dm +++ b/code/datums/components/scope.dm @@ -164,7 +164,7 @@ if(HAS_TRAIT(user, TRAIT_USER_SCOPED)) user.balloon_alert(user, "already zoomed!") return - user.playsound_local(parent, 'sound/weapons/scope.ogg', 75, TRUE) + user.playsound_local(parent, 'sound/items/weapons/scope.ogg', 75, TRUE) tracker = user.overlay_fullscreen("scope", /atom/movable/screen/fullscreen/cursor_catcher/scope, isgun(parent)) tracker.assign_to_mob(user, range_modifier) tracker_owner_ckey = user.ckey @@ -210,7 +210,7 @@ )) REMOVE_TRAIT(user, TRAIT_USER_SCOPED, REF(src)) - user.playsound_local(parent, 'sound/weapons/scope.ogg', 75, TRUE, frequency = -1) + user.playsound_local(parent, 'sound/items/weapons/scope.ogg', 75, TRUE, frequency = -1) user.clear_fullscreen("scope") // if the client has ended up in another mob, find that mob so we can fix their cursor @@ -246,18 +246,18 @@ if(isnull(icon_x)) icon_x = text2num(LAZYACCESS(modifiers, ICON_X)) if(isnull(icon_x)) - icon_x = view_list[1]*world.icon_size/2 + icon_x = view_list[1]*ICON_SIZE_X/2 var/icon_y = text2num(LAZYACCESS(modifiers, VIS_Y)) if(isnull(icon_y)) icon_y = text2num(LAZYACCESS(modifiers, ICON_Y)) if(isnull(icon_y)) - icon_y = view_list[2]*world.icon_size/2 - var/x_cap = range_modifier * view_list[1]*world.icon_size / 2 - var/y_cap = range_modifier * view_list[2]*world.icon_size / 2 - var/uncapped_x = round(range_modifier * (icon_x - view_list[1]*world.icon_size/2) * MOUSE_POINTER_OFFSET_MULT) - var/uncapped_y = round(range_modifier * (icon_y - view_list[2]*world.icon_size/2) * MOUSE_POINTER_OFFSET_MULT) + icon_y = view_list[2]*ICON_SIZE_Y/2 + var/x_cap = range_modifier * view_list[1]*ICON_SIZE_X / 2 + var/y_cap = range_modifier * view_list[2]*ICON_SIZE_Y / 2 + var/uncapped_x = round(range_modifier * (icon_x - view_list[1]*ICON_SIZE_X/2) * MOUSE_POINTER_OFFSET_MULT) + var/uncapped_y = round(range_modifier * (icon_y - view_list[2]*ICON_SIZE_Y/2) * MOUSE_POINTER_OFFSET_MULT) given_x = clamp(uncapped_x, -x_cap, x_cap) given_y = clamp(uncapped_y, -y_cap, y_cap) - given_turf = locate(owner.x+round(given_x/world.icon_size, 1),owner.y+round(given_y/world.icon_size, 1),owner.z) + given_turf = locate(owner.x+round(given_x/ICON_SIZE_X, 1),owner.y+round(given_y/ICON_SIZE_Y, 1),owner.z) #undef MOUSE_POINTER_OFFSET_MULT diff --git a/code/datums/components/seclight_attachable.dm b/code/datums/components/seclight_attachable.dm index b1d4aebc93f83..6b3991c9c5e3c 100644 --- a/code/datums/components/seclight_attachable.dm +++ b/code/datums/components/seclight_attachable.dm @@ -97,8 +97,8 @@ RegisterSignal(parent, COMSIG_ITEM_UI_ACTION_CLICK, PROC_REF(on_action_click)) RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_ATOM_SABOTEUR_ACT, PROC_REF(on_hit_by_saboteur)) RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(on_parent_deleted)) - RegisterSignal(parent, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) /datum/component/seclite_attachable/UnregisterFromParent() UnregisterSignal(parent, list( @@ -110,6 +110,7 @@ COMSIG_ITEM_UI_ACTION_CLICK, COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_EXAMINE, + COMSIG_ATOM_SABOTEUR_ACT, COMSIG_QDELETING, )) @@ -296,8 +297,8 @@ // but that's the downside of using icon states over overlays. source.icon_state = base_state -/// Signal proc for [COMSIG_HIT_BY_SABOTEUR] that turns the light off for a few seconds. -/datum/component/seclite_attachable/proc/on_saboteur(datum/source, disrupt_duration) - SIGNAL_HANDLER +//turns the light off for a few seconds. +/datum/component/seclite_attachable/proc/on_hit_by_saboteur(datum/source, disrupt_duration) . = light.on_saboteur(source, disrupt_duration) update_light() + return . diff --git a/code/datums/components/seethrough_mob.dm b/code/datums/components/seethrough_mob.dm index bae87faf61583..b6951c5489b6d 100644 --- a/code/datums/components/seethrough_mob.dm +++ b/code/datums/components/seethrough_mob.dm @@ -122,6 +122,7 @@ background_icon_state = "bg_alien" cooldown_time = 1 SECONDS melee_cooldown_time = 0 + can_be_shared = FALSE /datum/action/cooldown/toggle_seethrough/Remove(mob/remove_from) var/datum/component/seethrough_mob/transparency = target diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index da83c4ad2d29d..53fc330806245 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -101,7 +101,7 @@ var/obj/item/item_parent = parent COOLDOWN_START(src, charge_add_cd, charge_increment_delay) adjust_charge(charge_recovery) // set the number of charges to current + recovery per increment, clamped from zero to max_charges - playsound(item_parent, 'sound/magic/charge.ogg', 50, TRUE) + playsound(item_parent, 'sound/effects/magic/charge.ogg', 50, TRUE) if(current_charges == max_charges) playsound(item_parent, 'sound/machines/ding.ogg', 50, TRUE) diff --git a/code/datums/components/singularity.dm b/code/datums/components/singularity.dm index 14aaedff7172a..0cd64d829a2fd 100644 --- a/code/datums/components/singularity.dm +++ b/code/datums/components/singularity.dm @@ -373,7 +373,7 @@ for(var/mob/living/target as anything in GLOB.mob_living_list) if(target.z != atom_parent.z) continue - if(target.status_effects & GODMODE) + if(HAS_TRAIT(target, TRAIT_GODMODE)) continue var/distance_from_target = get_dist(target, atom_parent) if(distance_from_target < closest_distance) diff --git a/code/datums/components/sisyphus_awarder.dm b/code/datums/components/sisyphus_awarder.dm index 2a18a2889fc65..854ed26355f25 100644 --- a/code/datums/components/sisyphus_awarder.dm +++ b/code/datums/components/sisyphus_awarder.dm @@ -65,4 +65,4 @@ "reverse_dropoff_coords" = list(bottom_of_the_hill.x, bottom_of_the_hill.y, bottom_of_the_hill.z), )) - SEND_SOUND(sisyphus, 'sound/ambience/music/sisyphus/sisyphus.ogg') + SEND_SOUND(sisyphus, 'sound/music/sisyphus/sisyphus.ogg') diff --git a/code/datums/components/sitcomlaughter.dm b/code/datums/components/sitcomlaughter.dm index 62e9276b1d75d..bc69a08b80c9d 100644 --- a/code/datums/components/sitcomlaughter.dm +++ b/code/datums/components/sitcomlaughter.dm @@ -1,10 +1,10 @@ /datum/component/wearertargeting/sitcomlaughter valid_slots = list(ITEM_SLOT_HANDS, ITEM_SLOT_BELT, ITEM_SLOT_ID, ITEM_SLOT_LPOCKET, ITEM_SLOT_RPOCKET, ITEM_SLOT_SUITSTORE, ITEM_SLOT_DEX_STORAGE) - signals = list(COMSIG_MOB_CREAMED, COMSIG_ON_CARBON_SLIP, COMSIG_POST_TILT_AND_CRUSH, COMSIG_MOB_CLUMSY_SHOOT_FOOT) + signals = list(COMSIG_MOB_HIT_BY_SPLAT, COMSIG_ON_CARBON_SLIP, COMSIG_POST_TILT_AND_CRUSH, COMSIG_MOB_CLUMSY_SHOOT_FOOT) proctype = PROC_REF(EngageInComedy) mobtype = /mob/living ///Sounds used for when user has a sitcom action occur - var/list/comedysounds = list('sound/items/SitcomLaugh1.ogg', 'sound/items/SitcomLaugh2.ogg', 'sound/items/SitcomLaugh3.ogg') + var/list/comedysounds = list('sound/items/sitcom_laugh/sitcomLaugh1.ogg', 'sound/items/sitcom_laugh/sitcomLaugh2.ogg', 'sound/items/sitcom_laugh/sitcomLaugh3.ogg') ///Invoked in EngageInComedy is ran var/datum/callback/post_comedy_callback ///Cooldown for inbetween laughs diff --git a/code/datums/components/soapbox.dm b/code/datums/components/soapbox.dm index 4d4577d5e12c8..9d15e5e69292c 100644 --- a/code/datums/components/soapbox.dm +++ b/code/datums/components/soapbox.dm @@ -14,15 +14,17 @@ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(parent_moved)) ///Applies loud speech to our movable when entering the turf our parent is on -/datum/component/soapbox/proc/on_loc_entered(datum/source, atom/movable/soapbox_arrive) +/datum/component/soapbox/proc/on_loc_entered(datum/source, mob/living/soapbox_arrive) SIGNAL_HANDLER + if(!isliving(soapbox_arrive)) + return if(QDELETED(soapbox_arrive)) return RegisterSignal(soapbox_arrive, COMSIG_MOB_SAY, PROC_REF(soapbox_speech)) soapboxers += soapbox_arrive ///Takes away loud speech from our movable when it leaves the turf our parent is on -/datum/component/soapbox/proc/on_loc_exited(datum/source, atom/movable/soapbox_leave) +/datum/component/soapbox/proc/on_loc_exited(datum/source, mob/living/soapbox_leave) SIGNAL_HANDLER if(soapbox_leave in soapboxers) UnregisterSignal(soapbox_leave, COMSIG_MOB_SAY) diff --git a/code/datums/components/soulstoned.dm b/code/datums/components/soulstoned.dm index bb22030c21042..d4e9e0eaf02e1 100644 --- a/code/datums/components/soulstoned.dm +++ b/code/datums/components/soulstoned.dm @@ -11,8 +11,7 @@ stoned.forceMove(container) stoned.fully_heal() - stoned.add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), SOULSTONE_TRAIT) - stoned.status_flags |= GODMODE + stoned.add_traits(list(TRAIT_GODMODE, TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), SOULSTONE_TRAIT) RegisterSignal(stoned, COMSIG_MOVABLE_MOVED, PROC_REF(free_prisoner)) @@ -25,5 +24,4 @@ /datum/component/soulstoned/UnregisterFromParent() var/mob/living/stoned = parent - stoned.status_flags &= ~GODMODE - stoned.remove_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), SOULSTONE_TRAIT) + stoned.remove_traits(list(TRAIT_GODMODE, TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), SOULSTONE_TRAIT) diff --git a/code/datums/components/speechmod.dm b/code/datums/components/speechmod.dm index 8ffa3e8624e49..fc01d8d2d846c 100644 --- a/code/datums/components/speechmod.dm +++ b/code/datums/components/speechmod.dm @@ -60,6 +60,8 @@ var/message = speech_args[SPEECH_MESSAGE] if(message[1] == "*") return + if(SEND_SIGNAL(source, COMSIG_TRY_MODIFY_SPEECH) & PREVENT_MODIFY_SPEECH) + return if(!isnull(should_modify_speech) && !should_modify_speech.Invoke(source, speech_args)) return diff --git a/code/datums/components/spin2win.dm b/code/datums/components/spin2win.dm index 4524b403355f8..ce9dfa360b323 100644 --- a/code/datums/components/spin2win.dm +++ b/code/datums/components/spin2win.dm @@ -84,7 +84,7 @@ if(start_spin_message) var/message = replacetext(start_spin_message, "%USER", spinning_user) spinning_user.visible_message(message) - playsound(spinning_user, 'sound/weapons/fwoosh.ogg', 75, FALSE) + playsound(spinning_user, 'sound/items/weapons/fwoosh.ogg', 75, FALSE) stop_spinning_timer_id = addtimer(CALLBACK(src, PROC_REF(stop_spinning), spinning_user), spin_duration, TIMER_STOPPABLE|TIMER_DELETE_ME) RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_spin_equipped)) RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_spin_dropped)) @@ -95,7 +95,7 @@ STOP_PROCESSING(SSprocessing, src) UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) deltimer(stop_spinning_timer_id) - playsound(user, 'sound/weapons/fwoosh.ogg', 75, FALSE) + playsound(user, 'sound/items/weapons/fwoosh.ogg', 75, FALSE) if(user && end_spin_message) var/message = replacetext(end_spin_message, "%USER", user) user.visible_message(message) @@ -111,7 +111,7 @@ return PROCESS_KILL var/mob/living/item_owner = spinning_item.loc item_owner.emote("spin") - playsound(item_owner, 'sound/weapons/fwoosh.ogg', 75, FALSE) + playsound(item_owner, 'sound/items/weapons/fwoosh.ogg', 75, FALSE) for(var/mob/living/victim in orange(1, item_owner)) spinning_item.attack(victim, item_owner) diff --git a/code/datums/components/spirit_holding.dm b/code/datums/components/spirit_holding.dm index b510fde3523a4..11ceb778313a9 100644 --- a/code/datums/components/spirit_holding.dm +++ b/code/datums/components/spirit_holding.dm @@ -149,7 +149,7 @@ return // just in case var/atom/movable/exorcised_movable = parent to_chat(exorcist, span_notice("You begin to exorcise [parent]...")) - playsound(parent, 'sound/hallucinations/veryfar_noise.ogg',40,TRUE) + playsound(parent, 'sound/effects/hallucinations/veryfar_noise.ogg',40,TRUE) if(!do_after(exorcist, 4 SECONDS, target = exorcised_movable)) return playsound(parent, 'sound/effects/pray_chaplain.ogg',60,TRUE) diff --git a/code/datums/components/splat.dm b/code/datums/components/splat.dm new file mode 100644 index 0000000000000..5d47d17b98c9c --- /dev/null +++ b/code/datums/components/splat.dm @@ -0,0 +1,74 @@ +/datum/component/splat + ///The icon state to use for the decal + var/icon_state + ///The bodypart layer to use for the decal + var/layer + ///The type of memory to celebrate the event of getting hit by this + var/memory_type + ///The type of smudge we create on the floor + var/smudge_type + ///The moodlet passed down to the creamed component + var/moodlet_type + ///The color we give to the creamed component/overlay + var/splat_color + ///The callback called when a mob is hit by this + var/datum/callback/hit_callback + +/datum/component/splat/Initialize( + icon_state = "creampie", + layer = EXTERNAL_FRONT, + memory_type = /datum/memory/witnessed_creampie, + smudge_type = /obj/effect/decal/cleanable/food/pie_smudge, + moodlet_type = /datum/mood_event/creampie, + splat_color, + datum/callback/hit_callback, +) + . = ..() + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + src.icon_state = icon_state + src.layer = layer + src.memory_type = memory_type + src.smudge_type = smudge_type + src.moodlet_type = moodlet_type + src.hit_callback = hit_callback + src.splat_color = splat_color + +/datum/component/splat/Destroy() + hit_callback = null + return ..() + +/datum/component/splat/RegisterWithParent() + if(isprojectile(parent)) + RegisterSignal(parent, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(projectile_splat)) + else + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(throw_splat)) + +/datum/component/splat/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_MOVABLE_IMPACT, COMSIG_PROJECTILE_SELF_ON_HIT)) + +/datum/component/splat/proc/projectile_splat(obj/projectile/source, atom/firer, atom/target, angle, hit_limb_zone, blocked) + SIGNAL_HANDLER + if(blocked != 100) + splat(source, target) + +/datum/component/splat/proc/throw_splat(atom/movable/source, atom/hit_atom, datum/thrownthing/throwing_datum, caught) + SIGNAL_HANDLER + if(caught) //someone caught us! + return + splat(source, hit_atom) + +/datum/component/splat/proc/splat(atom/movable/source, atom/hit_atom) + var/turf/hit_turf = get_turf(hit_atom) + new smudge_type(hit_turf) + var/can_splat_on = TRUE + if(isliving(hit_atom)) + var/mob/living/living_target_getting_hit = hit_atom + if(iscarbon(living_target_getting_hit)) + can_splat_on = !!(living_target_getting_hit.get_bodypart(BODY_ZONE_HEAD)) + hit_callback?.Invoke(living_target_getting_hit, can_splat_on) + if(can_splat_on && is_type_in_typecache(hit_atom, GLOB.splattable)) + hit_atom.AddComponent(/datum/component/face_decal/splat, icon_state, layer, splat_color || source.color, memory_type, moodlet_type) + SEND_SIGNAL(source, COMSIG_MOVABLE_SPLAT, hit_atom) + qdel(source) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index 94521486bcc5f..afd8cce49e8c7 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -1,5 +1,5 @@ /datum/component/squeak - var/static/list/default_squeak_sounds = list('sound/items/toysqueak1.ogg'=1, 'sound/items/toysqueak2.ogg'=1, 'sound/items/toysqueak3.ogg'=1) + var/static/list/default_squeak_sounds = list('sound/items/toy_squeak/toysqueak1.ogg'=1, 'sound/items/toy_squeak/toysqueak2.ogg'=1, 'sound/items/toy_squeak/toysqueak3.ogg'=1) var/list/override_squeak_sounds var/mob/holder diff --git a/code/datums/components/stationloving.dm b/code/datums/components/stationloving.dm index 35f67d9cd0295..8b59717da70b8 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -61,7 +61,7 @@ CRASH("Unable to find a blobstart landmark for [type] to relocate [parent].") var/atom/movable/movable_parent = parent - playsound(movable_parent, 'sound/machines/synth_no.ogg', 5, TRUE) + playsound(movable_parent, 'sound/machines/synth/synth_no.ogg', 5, TRUE) var/mob/holder = get(movable_parent, /mob) if(holder) diff --git a/code/datums/components/sticker.dm b/code/datums/components/sticker.dm index a11ab10e7c6f8..b627f9923204b 100644 --- a/code/datums/components/sticker.dm +++ b/code/datums/components/sticker.dm @@ -84,8 +84,8 @@ var/atom/parent_atom = parent sticker_overlay = mutable_appearance(icon = our_sticker.icon, icon_state = our_sticker.icon_state, layer = parent_atom.layer + 0.01, appearance_flags = RESET_COLOR) - sticker_overlay.pixel_w = px - world.icon_size / 2 - sticker_overlay.pixel_z = py - world.icon_size / 2 + sticker_overlay.pixel_w = px - ICON_SIZE_X / 2 + sticker_overlay.pixel_z = py - ICON_SIZE_Y / 2 parent_atom.add_overlay(sticker_overlay) stick_callback?.Invoke(parent) diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm index 69ade1e2f1b56..4821f70d006d3 100644 --- a/code/datums/components/summoning.dm +++ b/code/datums/components/summoning.dm @@ -24,7 +24,7 @@ max_mobs = 3, spawn_delay = 10 SECONDS, spawn_text = "appears out of nowhere", - spawn_sound = 'sound/magic/summon_magic.ogg', + spawn_sound = 'sound/effects/magic/summon_magic.ogg', list/faction, ) if(!isitem(parent) && !ishostile(parent) && !isgun(parent) && !ismachinery(parent) && !isstructure(parent) && !isprojectilespell(parent)) diff --git a/code/datums/components/supermatter_crystal.dm b/code/datums/components/supermatter_crystal.dm index 81a29b56c6d81..53a0797c2e1c0 100644 --- a/code/datums/components/supermatter_crystal.dm +++ b/code/datums/components/supermatter_crystal.dm @@ -71,7 +71,7 @@ SIGNAL_HANDLER if(isliving(user)) var/mob/living/living_mob = user - if(living_mob.incorporeal_move || living_mob.status_flags & GODMODE) + if(living_mob.incorporeal_move || HAS_TRAIT(living_mob, TRAIT_GODMODE)) return if(isalien(user)) dust_mob(source, user, cause = "alien attack") @@ -80,7 +80,7 @@ /datum/component/supermatter_crystal/proc/animal_hit(datum/source, mob/living/simple_animal/user, list/modifiers) SIGNAL_HANDLER - if(user.incorporeal_move || user.status_flags & GODMODE) + if(user.incorporeal_move || HAS_TRAIT(user, TRAIT_GODMODE)) return var/atom/atom_source = source var/murder @@ -101,7 +101,7 @@ SIGNAL_HANDLER if(isliving(user)) var/mob/living/living_mob = user - if(living_mob.incorporeal_move || living_mob.status_flags & GODMODE) + if(living_mob.incorporeal_move || HAS_TRAIT(living_mob, TRAIT_GODMODE)) return var/atom/atom_source = source if(iscyborg(user) && atom_source.Adjacent(user)) @@ -115,7 +115,7 @@ /datum/component/supermatter_crystal/proc/hand_hit(datum/source, mob/living/user, list/modifiers) SIGNAL_HANDLER - if(user.incorporeal_move || user.status_flags & GODMODE) + if(user.incorporeal_move || HAS_TRAIT(user, TRAIT_GODMODE)) return if(user.zone_selected != BODY_ZONE_PRECISE_MOUTH) dust_mob(source, user, cause = "hand") @@ -202,7 +202,7 @@ return if(atom_source.Adjacent(user)) //if the item is stuck to the person, kill the person too instead of eating just the item. - if(user.incorporeal_move || user.status_flags & GODMODE) + if(user.incorporeal_move || HAS_TRAIT(user, TRAIT_GODMODE)) return var/vis_msg = span_danger("[user] reaches out and touches [atom_source] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_They()] burst[user.p_s()] into flames before flashing into dust!") var/mob_msg = span_userdanger("You reach out and touch [atom_source] with [item]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"") @@ -219,7 +219,7 @@ SIGNAL_HANDLER if(isliving(hit_object)) var/mob/living/hit_mob = hit_object - if(hit_mob.incorporeal_move || hit_mob.status_flags & GODMODE) + if(hit_mob.incorporeal_move || HAS_TRAIT(hit_mob, TRAIT_GODMODE)) return var/atom/atom_source = source var/obj/machinery/power/supermatter_crystal/our_supermatter = parent // Why is this a component? @@ -272,7 +272,7 @@ span_hear("You hear a loud crack as you are washed with a wave of heat.")) /datum/component/supermatter_crystal/proc/dust_mob(datum/source, mob/living/nom, vis_msg, mob_msg, cause) - if(nom.incorporeal_move || nom.status_flags & GODMODE) //try to keep supermatter sliver's + hemostat's dust conditions in sync with this too + if(nom.incorporeal_move || HAS_TRAIT(nom, TRAIT_GODMODE)) //try to keep supermatter sliver's + hemostat's dust conditions in sync with this too return var/atom/atom_source = source if(!vis_msg) @@ -290,10 +290,8 @@ /datum/component/supermatter_crystal/proc/consume(atom/source, atom/movable/consumed_object) if(consumed_object.flags_1 & SUPERMATTER_IGNORES_1) return - if(isliving(consumed_object)) - var/mob/living/consumed_mob = consumed_object - if(consumed_mob.status_flags & GODMODE) - return + if(HAS_TRAIT(consumed_object, TRAIT_GODMODE)) + return var/atom/atom_source = source SEND_SIGNAL(consumed_object, COMSIG_SUPERMATTER_CONSUMED, atom_source) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 0c23733ea1658..baf1efaee1dd5 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -71,7 +71,7 @@ /datum/component/tackler/proc/checkTackle(mob/living/carbon/user, atom/clicked_atom, list/modifiers) SIGNAL_HANDLER - if(modifiers[ALT_CLICK] || modifiers[SHIFT_CLICK] || modifiers[CTRL_CLICK] || modifiers[MIDDLE_CLICK]) + if(!modifiers[RIGHT_CLICK] || modifiers[ALT_CLICK] || modifiers[SHIFT_CLICK] || modifiers[CTRL_CLICK] || modifiers[MIDDLE_CLICK]) return if(!user.throw_mode || user.get_active_held_item() || user.pulling || user.buckled || user.incapacitated) @@ -104,7 +104,7 @@ tackling = TRUE RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(checkObstacle)) - playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) + playsound(user, 'sound/items/weapons/thudswoosh.ogg', 40, TRUE, -1) var/leap_word = isfelinid(user) ? "pounce" : "leap" //If cat, "pounce" instead of "leap". if(can_see(user, clicked_atom, 7)) @@ -533,7 +533,7 @@ else user.adjustBruteLoss(40, updating_health=FALSE) user.adjustStaminaLoss(30) - playsound(user, 'sound/effects/blobattack.ogg', 60, TRUE) + playsound(user, 'sound/effects/blob/blobattack.ogg', 60, TRUE) playsound(user, 'sound/effects/splat.ogg', 70, TRUE) playsound(user, 'sound/effects/wounds/crack2.ogg', 70, TRUE) user.emote("scream") @@ -550,7 +550,7 @@ user.adjustBruteLoss(40, updating_health = FALSE) user.adjustStaminaLoss(30) user.gain_trauma_type(BRAIN_TRAUMA_MILD) - playsound(user, 'sound/effects/blobattack.ogg', 60, TRUE) + playsound(user, 'sound/effects/blob/blobattack.ogg', 60, TRUE) playsound(user, 'sound/effects/splat.ogg', 70, TRUE) user.emote("gurgle") shake_camera(user, 7, 7) @@ -562,7 +562,7 @@ user.adjustBruteLoss(30) user.Unconscious(10 SECONDS) user.gain_trauma_type(BRAIN_TRAUMA_MILD) - user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8) + user.playsound_local(get_turf(user), 'sound/items/weapons/flashbang.ogg', 100, TRUE, 8) shake_camera(user, 6, 6) user.flash_act(1, TRUE, TRUE, length = 3.5) @@ -573,7 +573,7 @@ user.adjust_confusion(15 SECONDS) if(prob(80)) user.gain_trauma(/datum/brain_trauma/mild/concussion) - user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8) + user.playsound_local(get_turf(user), 'sound/items/weapons/flashbang.ogg', 100, TRUE, 8) user.Knockdown(4 SECONDS) shake_camera(user, 5, 5) user.flash_act(1, TRUE, TRUE, length = 2.5) @@ -593,7 +593,7 @@ user.Knockdown(2 SECONDS) shake_camera(user, 2, 2) - playsound(user, 'sound/weapons/smash.ogg', 70, TRUE) + playsound(user, 'sound/items/weapons/smash.ogg', 70, TRUE) /datum/component/tackler/proc/resetTackle() @@ -603,7 +603,7 @@ ///A special case for splatting for handling windows /datum/component/tackler/proc/splatWindow(mob/living/carbon/user, obj/structure/window/W) - playsound(user, 'sound/effects/Glasshit.ogg', 140, TRUE) + playsound(user, 'sound/effects/glass/Glasshit.ogg', 140, TRUE) if(W.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) @@ -682,7 +682,7 @@ var/datum/thrownthing/tackle = tackle_ref?.resolve() - playsound(owner, 'sound/weapons/smash.ogg', 70, TRUE) + playsound(owner, 'sound/items/weapons/smash.ogg', 70, TRUE) if(tackle) tackle.finalize(hit=TRUE) resetTackle() diff --git a/code/datums/components/tether.dm b/code/datums/components/tether.dm index e76f5d5b53cd3..d5e00ddb39858 100644 --- a/code/datums/components/tether.dm +++ b/code/datums/components/tether.dm @@ -1,39 +1,193 @@ +/// Creates a tether between two objects that limits movement range. Tether requires LOS and can be adjusted by left/right clicking its /datum/component/tether - dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + dupe_mode = COMPONENT_DUPE_ALLOWED + /// Other side of the tether var/atom/tether_target + /// Maximum (and initial) distance that this tether can be adjusted to var/max_dist + /// What the tether is going to be called var/tether_name + /// Current extension distance + var/cur_dist + /// Embedded item that the tether "should" originate from + var/atom/embed_target + /// Beam effect + var/datum/beam/tether_beam + /// Tether module if we were created by one + var/obj/item/mod/module/tether/parent_module -/datum/component/tether/Initialize(atom/tether_target, max_dist = 4, tether_name) - if(!isliving(parent) || !istype(tether_target) || !tether_target.loc) +/datum/component/tether/Initialize(atom/tether_target, max_dist = 7, tether_name, atom/embed_target = null, start_distance = null, parent_module = null) + if(!ismovable(parent) || !istype(tether_target) || !tether_target.loc) return COMPONENT_INCOMPATIBLE + src.tether_target = tether_target + src.embed_target = embed_target src.max_dist = max_dist + src.parent_module = parent_module + cur_dist = max_dist + if (start_distance != null) + cur_dist = start_distance + var/datum/beam/beam = tether_target.Beam(parent, "line", 'icons/obj/clothing/modsuit/mod_modules.dmi', emissive = FALSE, beam_type = /obj/effect/ebeam/tether) + tether_beam = beam if (ispath(tether_name, /atom)) var/atom/tmp = tether_name src.tether_name = initial(tmp.name) else src.tether_name = tether_name - RegisterSignals(parent, list(COMSIG_MOVABLE_PRE_MOVE), PROC_REF(checkTether)) -/datum/component/tether/proc/checkTether(mob/mover, newloc) +/datum/component/tether/RegisterWithParent() + RegisterSignal(parent, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(check_tether)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(check_snap)) + RegisterSignal(tether_target, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(check_tether)) + RegisterSignal(tether_target, COMSIG_MOVABLE_MOVED, PROC_REF(check_snap)) + RegisterSignal(tether_target, COMSIG_QDELETING, PROC_REF(on_delete)) + RegisterSignal(tether_beam.visuals, COMSIG_CLICK, PROC_REF(beam_click)) + // Also snap if the beam gets deleted, more of a backup check than anything + RegisterSignal(tether_beam.visuals, COMSIG_QDELETING, PROC_REF(on_delete)) + + if (!isnull(embed_target)) + RegisterSignal(embed_target, COMSIG_ITEM_UNEMBEDDED, PROC_REF(on_embedded_removed)) + RegisterSignal(embed_target, COMSIG_QDELETING, PROC_REF(on_delete)) + + if (!isnull(parent_module)) + RegisterSignals(parent_module, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_MOD_TETHER_SNAP), PROC_REF(snap)) + +/datum/component/tether/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_MOVABLE_PRE_MOVE, COMSIG_MOVABLE_MOVED)) + if (!QDELETED(tether_target)) + UnregisterSignal(tether_target, list(COMSIG_MOVABLE_PRE_MOVE, COMSIG_MOVABLE_MOVED, COMSIG_QDELETING)) + if (!QDELETED(tether_beam)) + UnregisterSignal(tether_beam.visuals, list(COMSIG_CLICK, COMSIG_QDELETING)) + qdel(tether_beam) + if (!QDELETED(embed_target)) + UnregisterSignal(embed_target, list(COMSIG_ITEM_UNEMBEDDED, COMSIG_QDELETING)) + +/datum/component/tether/proc/check_tether(atom/source, new_loc) SIGNAL_HANDLER - if (get_dist(mover,newloc) > max_dist) - to_chat(mover, span_userdanger("The [tether_name] runs out of slack and prevents you from moving!")) + if (check_snap()) + return + + if (!isturf(new_loc)) + to_chat(source, span_warning("[tether_name] prevents you from entering [new_loc]!")) return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + var/atom/movable/anchor = (source == tether_target ? parent : tether_target) + if (get_dist(anchor, new_loc) > cur_dist) + if (!istype(anchor) || anchor.anchored || !anchor.Move(get_step_towards(anchor, new_loc))) + to_chat(source, span_warning("[tether_name] runs out of slack and prevents you from moving!")) + return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + var/atom/blocker - out: - for(var/turf/T in get_line(tether_target,newloc)) - if (T.density) - blocker = T - break out - for(var/a in T) - var/atom/A = a - if(A.density && A != mover && A != tether_target) - blocker = A - break out + var/anchor_dir = get_dir(source, anchor) + for (var/turf/line_turf in get_line(anchor, new_loc)) + if (line_turf.density && line_turf != anchor.loc && line_turf != source.loc) + blocker = line_turf + break + if (line_turf == anchor.loc || line_turf == source.loc) + for (var/atom/in_turf in line_turf) + if ((in_turf.flags_1 & ON_BORDER_1) && (in_turf.dir & anchor_dir)) + blocker = in_turf + break + else + for (var/atom/in_turf in line_turf) + if (in_turf.density && in_turf != source && in_turf != tether_target) + blocker = in_turf + break + + if (!isnull(blocker)) + break + if (blocker) - to_chat(mover, span_userdanger("The [tether_name] catches on [blocker] and prevents you from moving!")) + to_chat(source, span_warning("[tether_name] catches on [blocker] and prevents you from moving!")) return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + + if (get_dist(anchor, new_loc) != cur_dist || !ismovable(source)) + return + + var/atom/movable/movable_source = source + var/datum/drift_handler/handler = movable_source.drift_handler + if (isnull(handler)) + return + handler.remove_angle_force(get_angle(anchor, source)) + +/datum/component/tether/proc/check_snap() + SIGNAL_HANDLER + + var/atom/atom_target = parent + // Something broke us out, snap the tether + if (get_dist(atom_target, tether_target) > cur_dist + 1 || !isturf(atom_target.loc) || !isturf(tether_target.loc) || atom_target.z != tether_target.z) + snap() + +/datum/component/tether/proc/snap() + SIGNAL_HANDLER + + var/atom/atom_target = parent + atom_target.visible_message(span_warning("[atom_target]'s [tether_name] snaps!"), span_userdanger("Your [tether_name] snaps!"), span_hear("You hear a cable snapping.")) + playsound(atom_target, 'sound/effects/snap.ogg', 50, TRUE) + qdel(src) + +/datum/component/tether/proc/on_delete() + SIGNAL_HANDLER + qdel(src) + +/datum/component/tether/proc/on_embedded_removed(atom/source, mob/living/victim) + SIGNAL_HANDLER + parent.AddComponent(/datum/component/tether, source, max_dist, tether_name, cur_dist) + qdel(src) + +/datum/component/tether/proc/beam_click(atom/source, atom/location, control, params, mob/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(process_beam_click), source, location, params, user) + +/datum/component/tether/proc/process_beam_click(atom/source, atom/location, params, mob/user) + var/list/modifiers = params2list(params) + if(LAZYACCESS(modifiers, CTRL_CLICK)) + location.balloon_alert(user, "cutting the tether...") + if (!do_after(user, 1 SECONDS, user)) + return + + qdel(src) + location.balloon_alert(user, "tether cut!") + to_chat(parent, span_danger("Your [tether_name] has been cut!")) + return + + if (LAZYACCESS(modifiers, RIGHT_CLICK)) + if (cur_dist >= max_dist) + location.balloon_alert(user, "no coil remaining!") + return + cur_dist += 1 + location.balloon_alert(user, "tether extended") + return + + if (cur_dist <= 1) + location.balloon_alert(user, "too short!") + return + + if (cur_dist > get_dist(parent, tether_target)) + cur_dist -= 1 + location.balloon_alert(user, "tether shortened") + return + + if (!ismovable(parent) && !ismovable(tether_target)) + location.balloon_alert(user, "too short!") + return + + var/atom/movable/movable_parent = parent + var/atom/movable/movable_target = tether_target + + if (istype(movable_parent) && movable_parent.Move(get_step(movable_parent.loc, get_dir(movable_parent, movable_target)))) + cur_dist -= 1 + location.balloon_alert(user, "tether shortened") + return + + if (istype(movable_target) && movable_target.Move(get_step(movable_target.loc, get_dir(movable_target, movable_parent)))) + cur_dist -= 1 + location.balloon_alert(user, "tether shortened") + return + + location.balloon_alert(user, "too short!") + +/obj/effect/ebeam/tether + mouse_opacity = MOUSE_OPACITY_ICON diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 7ab8b755ca10a..1fac66c07cd64 100644 --- a/code/datums/components/thermite.dm +++ b/code/datums/components/thermite.dm @@ -116,7 +116,7 @@ */ /datum/component/thermite/proc/thermite_melt(mob/user) var/turf/parent_turf = parent - playsound(parent_turf, 'sound/items/welder.ogg', 100, TRUE) + playsound(parent_turf, 'sound/items/tools/welder.ogg', 100, TRUE) fakefire = new(parent_turf) burn_callback = CALLBACK(src, PROC_REF(burn_parent), user) burn_timer = addtimer(burn_callback, min(amount * 0.35 SECONDS, 20 SECONDS), TIMER_STOPPABLE) diff --git a/code/datums/components/toggle_attached_clothing.dm b/code/datums/components/toggle_attached_clothing.dm index 9ba42fe091732..8321119d85e58 100644 --- a/code/datums/components/toggle_attached_clothing.dm +++ b/code/datums/components/toggle_attached_clothing.dm @@ -198,9 +198,9 @@ on_removed?.Invoke(deployable) var/obj/item/parent_gear = parent - if (destroy_on_removal) + if(destroy_on_removal) QDEL_NULL(deployable) - else if (parent_icon_state_suffix) + if(parent_icon_state_suffix) parent_gear.icon_state = "[initial(parent_gear.icon_state)]" parent_gear.worn_icon_state = parent_gear.icon_state parent_gear.update_slot_icon() diff --git a/code/datums/components/transforming.dm b/code/datums/components/transforming.dm index 5276f45dc0a75..622fb2ed7d31d 100644 --- a/code/datums/components/transforming.dm +++ b/code/datums/components/transforming.dm @@ -50,7 +50,7 @@ throwforce_on = 0, throw_speed_on = 2, sharpness_on = NONE, - hitsound_on = 'sound/weapons/blade1.ogg', + hitsound_on = 'sound/items/weapons/blade1.ogg', w_class_on = WEIGHT_CLASS_BULKY, clumsy_check = TRUE, clumsy_damage = 10, @@ -174,7 +174,7 @@ /datum/component/transforming/proc/default_transform_message(obj/item/source, mob/user) if(user) source.balloon_alert(user, "[active ? "enabled" : "disabled"] [source]") - playsound(source, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(source, 'sound/items/weapons/batonextend.ogg', 50, TRUE) /* * Toggle active between true and false, and call diff --git a/code/datums/components/trapdoor.dm b/code/datums/components/trapdoor.dm index 32b72c48853e5..9efce370e82c7 100644 --- a/code/datums/components/trapdoor.dm +++ b/code/datums/components/trapdoor.dm @@ -243,10 +243,10 @@ return if(SEND_GLOBAL_SIGNAL(COMSIG_GLOB_TRAPDOOR_LINK, src) & LINKED_UP) playsound(assembly_turf, 'sound/machines/chime.ogg', 50, TRUE) - assembly_turf.visible_message("[src] has linked up to a nearby trapdoor! \ - You may now use it to check where the trapdoor is... be careful!", vision_distance = SAMETILE_MESSAGE_RANGE) + assembly_turf.visible_message(span_notice("[src] has linked up to a nearby trapdoor! \ + You may now use it to check where the trapdoor is... be careful!"), vision_distance = SAMETILE_MESSAGE_RANGE) else - playsound(assembly_turf, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + playsound(assembly_turf, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE) assembly_turf.visible_message(span_warning("[src] has failed to find a trapdoor nearby to link to."), vision_distance = SAMETILE_MESSAGE_RANGE) /** @@ -321,7 +321,7 @@ return TRUE user.balloon_alert(user, "trapdoor triggered") - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) icon_state = "trapdoor_pressed" addtimer(VARSET_CALLBACK(src, icon_state, initial(icon_state)), trapdoor_cooldown_time) COOLDOWN_START(src, trapdoor_cooldown, trapdoor_cooldown_time) diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index 00437a2cdd8f1..146d3c2de0785 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -11,9 +11,9 @@ /// How long does it take to get a dash charge back? var/charge_rate = 25 SECONDS /// What sound do we play on dash? - var/dash_sound = 'sound/magic/blink.ogg' + var/dash_sound = 'sound/effects/magic/blink.ogg' /// What sound do we play on recharge? - var/recharge_sound = 'sound/magic/charge.ogg' + var/recharge_sound = 'sound/effects/magic/charge.ogg' /// What effect does our beam use? var/beam_effect = "blur" /// How long does our beam last? diff --git a/code/datums/datum.dm b/code/datums/datum.dm index a4169004fc982..d170aeca8522e 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -419,6 +419,11 @@ filter_data = null atom_cast.filters = null +/// Calls qdel on itself, because signals dont allow callbacks +/datum/proc/selfdelete() + SIGNAL_HANDLER + qdel(src) + /// Return text from this proc to provide extra context to hard deletes that happen to it /// Optional, you should use this for cases where replication is difficult and extra context is required /// Can be called more then once per object, use harddel_deets_dumped to avoid duplicate calls (I am so sorry) diff --git a/code/datums/diseases/advance/floor_diseases/carpellosis.dm b/code/datums/diseases/advance/floor_diseases/carpellosis.dm index a0482215494c4..cdeb6051537e3 100644 --- a/code/datums/diseases/advance/floor_diseases/carpellosis.dm +++ b/code/datums/diseases/advance/floor_diseases/carpellosis.dm @@ -41,7 +41,7 @@ switch(stage) if(2) - if(SPT_PROB(1, seconds_per_tick) && affected_mob.stat == CONSCIOUS) + if(SPT_PROB(1, seconds_per_tick) && affected_mob.stat == CONSCIOUS && affected_mob.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL)) to_chat(affected_mob, span_warning("You want to wag your tail...")) affected_mob.emote("wag") if(3) diff --git a/code/datums/diseases/chronic_illness.dm b/code/datums/diseases/chronic_illness.dm index b1afd1d1939a9..617cfde763d11 100644 --- a/code/datums/diseases/chronic_illness.dm +++ b/code/datums/diseases/chronic_illness.dm @@ -42,7 +42,7 @@ need_mob_update += affected_mob.adjustStaminaLoss(70, updating_stamina = FALSE) if(SPT_PROB(1, seconds_per_tick)) to_chat(affected_mob, span_danger("You feel a buzzing in your brain.")) - SEND_SOUND(affected_mob, sound('sound/weapons/flash_ring.ogg')) + SEND_SOUND(affected_mob, sound('sound/items/weapons/flash_ring.ogg')) if(SPT_PROB(0.5, seconds_per_tick)) need_mob_update += affected_mob.adjustBruteLoss(1, updating_health = FALSE) if(need_mob_update) @@ -75,7 +75,7 @@ if(2) to_chat(affected_mob, span_boldwarning("There is no place for you in this timeline.")) affected_mob.adjustStaminaLoss(100, forced = TRUE) - playsound(affected_mob.loc, 'sound/magic/repulse.ogg', 100, FALSE) + playsound(affected_mob.loc, 'sound/effects/magic/repulse.ogg', 100, FALSE) affected_mob.emote("scream") for(var/mob/living/viewers in viewers(3, affected_mob.loc)) viewers.flash_act() diff --git a/code/datums/diseases/heart_failure.dm b/code/datums/diseases/heart_failure.dm index 45d4e6672fb69..419fc9efff3df 100644 --- a/code/datums/diseases/heart_failure.dm +++ b/code/datums/diseases/heart_failure.dm @@ -43,7 +43,7 @@ to_chat(affected_mob, span_warning("You feel [pick("full", "nauseated", "sweaty", "weak", "tired", "short of breath", "uneasy")].")) if(3 to 4) if(!sound) - affected_mob.playsound_local(affected_mob, 'sound/health/slowbeat.ogg', 40, FALSE, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) + affected_mob.playsound_local(affected_mob, 'sound/effects/health/slowbeat.ogg', 40, FALSE, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) sound = TRUE if(SPT_PROB(1.5, seconds_per_tick)) to_chat(affected_mob, span_danger("You feel a sharp pain in your chest!")) diff --git a/code/datums/drift_handler.dm b/code/datums/drift_handler.dm new file mode 100644 index 0000000000000..27a4fd4bc9154 --- /dev/null +++ b/code/datums/drift_handler.dm @@ -0,0 +1,258 @@ +///Component that handles drifting +///Manages a movement loop that actually does the legwork of moving someone +///Alongside dealing with the post movement input blocking required to make things look nice +/datum/drift_handler + var/atom/movable/parent + var/atom/inertia_last_loc + var/old_dir + var/datum/move_loop/smooth_move/drifting_loop + ///Should we ignore the next glide rate input we get? + ///This is to some extent a hack around the order of operations + ///Around COMSIG_MOVELOOP_POSTPROCESS. I'm sorry lad + var/ignore_next_glide = FALSE + ///Have we been delayed? IE: active, but not working right this second? + var/delayed = FALSE + var/block_inputs_until + /// How much force is behind this drift. + var/drift_force = 1 + +/// Accepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start +/datum/drift_handler/New(atom/movable/parent, inertia_angle, instant = FALSE, start_delay = 0, drift_force = 1) + . = ..() + src.parent = parent + parent.drift_handler = src + var/flags = MOVEMENT_LOOP_OUTSIDE_CONTROL + if(instant) + flags |= MOVEMENT_LOOP_START_FAST + src.drift_force = drift_force + drifting_loop = GLOB.move_manager.smooth_move(moving = parent, angle = inertia_angle, delay = get_loop_delay(parent), subsystem = SSnewtonian_movement, priority = MOVEMENT_SPACE_PRIORITY, flags = flags) + + if(!drifting_loop) + qdel(src) + return + + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_START, PROC_REF(drifting_start)) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_STOP, PROC_REF(drifting_stop)) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(before_move)) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(after_move)) + RegisterSignal(drifting_loop, COMSIG_QDELETING, PROC_REF(loop_death)) + RegisterSignal(parent, COMSIG_MOB_ATTEMPT_HALT_SPACEMOVE, PROC_REF(attempt_halt)) + if(drifting_loop.status & MOVELOOP_STATUS_RUNNING) + drifting_start(drifting_loop) // There's a good chance it'll autostart, gotta catch that + + var/visual_delay = get_loop_delay(parent) + + // Start delay is essentially a more granular version of instant + // Isn't used in the standard case, just for things that have odd wants + if(!instant && start_delay) + drifting_loop.pause_for(start_delay) + visual_delay = start_delay + + apply_initial_visuals(visual_delay) + +/datum/drift_handler/Destroy() + inertia_last_loc = null + if(!QDELETED(drifting_loop)) + qdel(drifting_loop) + drifting_loop = null + parent.inertia_moving = FALSE + parent.drift_handler = null + return ..() + +/datum/drift_handler/proc/apply_initial_visuals(visual_delay) + // If something "somewhere" doesn't want us to apply our glidesize delays, don't + if(SEND_SIGNAL(parent, COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT) & DRIFT_VISUAL_FAILED) + return + + // Ignore the next glide because it's literally just us + ignore_next_glide = TRUE + parent.set_glide_size(MOVEMENT_ADJUSTED_GLIDE_SIZE(visual_delay, SSnewtonian_movement.visual_delay)) + if(!ismob(parent)) + return + var/mob/mob_parent = parent + //Ok this is slightly weird, but basically, we need to force the client to glide at our rate + //Make sure moving into a space move looks like a space move essentially + //There is an inbuilt assumption that gliding will be added as a part of a move call, but eh + //It's ok if it's not, it's just important if it is. + mob_parent.client?.visual_delay = MOVEMENT_ADJUSTED_GLIDE_SIZE(visual_delay, SSnewtonian_movement.visual_delay) + +/datum/drift_handler/proc/newtonian_impulse(inertia_angle, start_delay, additional_force, controlled_cap) + SIGNAL_HANDLER + inertia_last_loc = parent.loc + // We've been told to move in the middle of deletion process, tell parent to create a new handler instead + if(!drifting_loop) + qdel(src) + return FALSE + + var/applied_force = additional_force + + var/force_x = sin(drifting_loop.angle) * drift_force + sin(inertia_angle) * applied_force / parent.inertia_force_weight + var/force_y = cos(drifting_loop.angle) * drift_force + cos(inertia_angle) * applied_force / parent.inertia_force_weight + + drift_force = clamp(sqrt(force_x * force_x + force_y * force_y), 0, !isnull(controlled_cap) ? controlled_cap : INERTIA_FORCE_CAP) + if(drift_force < 0.1) // Rounding issues + qdel(src) + return TRUE + + drifting_loop.set_angle(delta_to_angle(force_x, force_y)) + drifting_loop.set_delay(get_loop_delay(parent)) + return TRUE + +/datum/drift_handler/proc/drifting_start() + SIGNAL_HANDLER + inertia_last_loc = parent.loc + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(handle_move)) + // We will use glide size to intuit how long to delay our loop's next move for + // This way you can't ride two movements at once while drifting, since that'd be dumb as fuck + RegisterSignal(parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, PROC_REF(handle_glidesize_update)) + // If you stop pulling something mid drift, I want it to retain that momentum + RegisterSignal(parent, COMSIG_ATOM_NO_LONGER_PULLING, PROC_REF(stopped_pulling)) + +/datum/drift_handler/proc/drifting_stop() + SIGNAL_HANDLER + parent.inertia_moving = FALSE + ignore_next_glide = FALSE + UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, COMSIG_ATOM_NO_LONGER_PULLING)) + +/datum/drift_handler/proc/before_move(datum/source) + SIGNAL_HANDLER + parent.inertia_moving = TRUE + old_dir = parent.dir + delayed = FALSE + +/datum/drift_handler/proc/after_move(datum/source, result, visual_delay) + SIGNAL_HANDLER + if(result == MOVELOOP_FAILURE) + qdel(src) + return + + parent.setDir(old_dir) + parent.inertia_moving = FALSE + if(parent.Process_Spacemove(angle2dir(drifting_loop.angle), continuous_move = TRUE)) + glide_to_halt(visual_delay) + return + + inertia_last_loc = parent.loc + ignore_next_glide = TRUE + +/datum/drift_handler/proc/loop_death(datum/source) + SIGNAL_HANDLER + drifting_loop = null + +/datum/drift_handler/proc/handle_move(datum/source, old_loc) + SIGNAL_HANDLER + // This can happen, because signals once sent cannot be stopped + if(QDELETED(src)) + return + if(!isturf(parent.loc)) + qdel(src) + return + if(parent.inertia_moving) + return + if(!parent.Process_Spacemove(angle2dir(drifting_loop.angle), continuous_move = TRUE)) + return + qdel(src) + +/// We're going to take the passed in glide size +/// and use it to manually delay our loop for that period +/// to allow the other movement to complete +/datum/drift_handler/proc/handle_glidesize_update(datum/source, glide_size) + SIGNAL_HANDLER + // If we aren't drifting, or this is us, fuck off + if(!drifting_loop || parent.inertia_moving) + return + // If we are drifting, but this set came from the moveloop itself, drop the input + // I'm sorry man + if(ignore_next_glide) + ignore_next_glide = FALSE + return + var/glide_delay = round(ICON_SIZE_ALL / glide_size, 1) * world.tick_lag + drifting_loop.pause_for(glide_delay) + delayed = TRUE + +/// If we're pulling something and stop, we want it to continue at our rate and such +/datum/drift_handler/proc/stopped_pulling(datum/source, atom/movable/was_pulling) + SIGNAL_HANDLER + // This does mean it falls very slightly behind, but otherwise they'll potentially run into us + var/next_move_in = drifting_loop.timer - world.time + world.tick_lag + was_pulling.newtonian_move(angle2dir(drifting_loop.angle), start_delay = next_move_in, drift_force = drift_force, controlled_cap = drift_force) + +/datum/drift_handler/proc/glide_to_halt(glide_for) + if(!ismob(parent)) + qdel(src) + return + + var/mob/mob_parent = parent + var/client/our_client = mob_parent.client + // If we're not active, don't do the glide because it'll look dumb as fuck + if(!our_client || delayed) + qdel(src) + return + + block_inputs_until = world.time + glide_for + 1 + QDEL_IN(src, glide_for + 1) + qdel(drifting_loop) + RegisterSignal(parent, COMSIG_MOB_CLIENT_PRE_MOVE, PROC_REF(allow_final_movement)) + +/datum/drift_handler/proc/allow_final_movement(datum/source) + SIGNAL_HANDLER + // Some things want to allow movement out of spacedrift, we should let them + if(SEND_SIGNAL(parent, COMSIG_MOVABLE_DRIFT_BLOCK_INPUT) & DRIFT_ALLOW_INPUT) + return + if(world.time < block_inputs_until) + return COMSIG_MOB_CLIENT_BLOCK_PRE_MOVE + +/datum/drift_handler/proc/attempt_halt(mob/source, movement_dir, continuous_move, atom/backup) + SIGNAL_HANDLER + + if (get_dir(source, backup) == movement_dir || source.loc == backup.loc) + if (drift_force >= INERTIA_FORCE_THROW_FLOOR) + source.throw_at(backup, 1, floor(1 + (drift_force - INERTIA_FORCE_THROW_FLOOR) / INERTIA_FORCE_PER_THROW_FORCE), spin = FALSE) + return + + if (drift_force < INERTIA_FORCE_SPACEMOVE_GRAB || isnull(drifting_loop)) + return + + if (drift_force <= INERTIA_FORCE_SPACEMOVE_REDUCTION / source.inertia_force_weight) + glide_to_halt(get_loop_delay(source)) + return COMPONENT_PREVENT_SPACEMOVE_HALT + + drift_force -= INERTIA_FORCE_SPACEMOVE_REDUCTION / source.inertia_force_weight + drifting_loop.set_delay(get_loop_delay(source)) + return COMPONENT_PREVENT_SPACEMOVE_HALT + +/datum/drift_handler/proc/get_loop_delay(atom/movable/movable) + return (DEFAULT_INERTIA_SPEED / ((1 - INERTIA_SPEED_COEF) + drift_force * INERTIA_SPEED_COEF)) * movable.inertia_move_multiplier + +/datum/drift_handler/proc/stabilize_drift(target_angle, target_force, stabilization_force) + /// We aren't drifting + if (isnull(drifting_loop)) + return + + /// Lack of angle means that we are trying to halt movement + if (isnull(target_angle)) + // Going through newtonian_move ensures that all Process_Spacemove code runs properly, instead of directly adjusting forces + parent.newtonian_move(reverse_angle(drifting_loop.angle), drift_force = min(drift_force, stabilization_force)) + return + + // Force required to be applied in order to get to the desired movement vector, with projection of current movement onto desired vector to ensure that we only compensate for excess + var/drift_projection = max(0, cos(target_angle - drifting_loop.angle)) * drift_force + var/force_x = sin(target_angle) * target_force - sin(drifting_loop.angle) * drift_force + var/force_y = cos(target_angle) * target_force - cos(drifting_loop.angle) * drift_force + var/force_angle = delta_to_angle(force_x, force_y) + var/applied_force = sqrt(force_x * force_x + force_y * force_y) + var/force_projection = max(0, cos(target_angle - force_angle)) * applied_force + force_x -= min(force_projection, drift_projection) * sin(target_angle) + force_x -= min(force_projection, drift_projection) * cos(target_angle) + applied_force = min(sqrt(force_x * force_x + force_y * force_y), stabilization_force) + parent.newtonian_move(force_angle, instant = TRUE, drift_force = applied_force) + +/// Removes all force in a certain direction +/datum/drift_handler/proc/remove_angle_force(target_angle) + /// We aren't drifting + if (isnull(drifting_loop)) + return + + var/projected_force = max(0, cos(target_angle - drifting_loop.angle)) * drift_force + if (projected_force > 0) + parent.newtonian_move(reverse_angle(target_angle), projected_force) diff --git a/code/datums/elements/ai_held_item.dm b/code/datums/elements/ai_held_item.dm index 053a1827fb23d..185e45da9aa2b 100644 --- a/code/datums/elements/ai_held_item.dm +++ b/code/datums/elements/ai_held_item.dm @@ -54,7 +54,7 @@ var/obj/item/carried_item = get_held_item(source) if (!carried_item) return - examine_text += span_notice("[source.p_They()] [source.p_are()] carrying [carried_item.get_examine_string(user)].") + examine_text += span_notice("[source.p_They()] [source.p_are()] carrying [carried_item.examine_title(user)].") /// If we died, drop anything we were carrying /datum/element/ai_held_item/proc/on_death(mob/living/ol_yeller) diff --git a/code/datums/elements/art.dm b/code/datums/elements/art.dm index 81d388aa94af8..d5a642c23d0b6 100644 --- a/code/datums/elements/art.dm +++ b/code/datums/elements/art.dm @@ -74,7 +74,7 @@ var/datum/job_department/hater_department = SSjob.get_department_type(hater_department_type) for(var/datum/job/hater_job as anything in hater_department.department_jobs) haters += hater_job.title - var/datum/job/quartermaster/fucking_quartermaster = SSjob.GetJobType(/datum/job/quartermaster) + var/datum/job/quartermaster/fucking_quartermaster = SSjob.get_job_type(/datum/job/quartermaster) haters += fucking_quartermaster.title if(!(user.mind.assigned_role.title in haters)) diff --git a/code/datums/elements/bed_tucking.dm b/code/datums/elements/bed_tucking.dm index 58f5640c31c75..3b49f2a608f88 100644 --- a/code/datums/elements/bed_tucking.dm +++ b/code/datums/elements/bed_tucking.dm @@ -53,11 +53,11 @@ return COMPONENT_NO_AFTERATTACK /datum/element/bed_tuckable/proc/tuck(obj/item/tucked, obj/structure/bed/target_bed) - tucked.dir = target_bed.dir - tucked.pixel_x = target_bed.dir & EAST ? -x_offset : x_offset + tucked.dir = target_bed.dir & target_bed.left_headrest_dirs ? EAST : WEST + tucked.pixel_x = target_bed.dir & target_bed.left_headrest_dirs ? -x_offset : x_offset tucked.pixel_y = y_offset if(starting_angle) - rotation_degree = target_bed.dir & EAST ? starting_angle + 180 : starting_angle + rotation_degree = target_bed.dir & target_bed.left_headrest_dirs ? starting_angle + 180 : starting_angle tucked.transform = turn(tucked.transform, rotation_degree) RegisterSignal(tucked, COMSIG_ITEM_PICKUP, PROC_REF(untuck)) diff --git a/code/datums/elements/bugkiller_reagent.dm b/code/datums/elements/bugkiller_reagent.dm index 57f2ae65d9209..d2c25926e966f 100644 --- a/code/datums/elements/bugkiller_reagent.dm +++ b/code/datums/elements/bugkiller_reagent.dm @@ -59,7 +59,7 @@ /datum/status_effect/bugkiller_death/on_apply() if(owner.stat == DEAD) return FALSE - playsound(owner, 'sound/voice/human/malescream_1.ogg', 25, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, frequency = 5) + playsound(owner, 'sound/mobs/humanoids/human/scream/malescream_1.ogg', 25, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, frequency = 5) to_chat(owner, span_userdanger("The world begins to go dark...")) owner.spasm_animation(spasm_loops) owner.adjust_eye_blur(duration) diff --git a/code/datums/elements/can_shatter.dm b/code/datums/elements/can_shatter.dm index be7e02e25b458..df19e4ef12344 100644 --- a/code/datums/elements/can_shatter.dm +++ b/code/datums/elements/can_shatter.dm @@ -45,9 +45,10 @@ shatter(source, impacted_turf) /// Tells the parent to shatter if we are thrown and impact something -/datum/element/can_shatter/proc/on_throw_impact(datum/source, atom/hit_atom) +/datum/element/can_shatter/proc/on_throw_impact(datum/source, atom/hit_atom, datum/thrownthing/throwing_datum, caught) SIGNAL_HANDLER - + if(caught) + return shatter(source, hit_atom) /// Handles the actual shattering part, throwing shards of whatever is defined on the component everywhere diff --git a/code/datums/elements/climbable.dm b/code/datums/elements/climbable.dm index 113cc8aaa90ef..5700ca3bc2e85 100644 --- a/code/datums/elements/climbable.dm +++ b/code/datums/elements/climbable.dm @@ -106,8 +106,8 @@ if(ISDIAGONALDIR(climbed_thing.dir) && same_loc) if(params) //we check the icon x and y parameters of the click-drag to determine step_dir. var/list/modifiers = params2list(params) - var/x_dist = (text2num(LAZYACCESS(modifiers, ICON_X)) - world.icon_size/2) * (climbed_thing.dir & WEST ? -1 : 1) - var/y_dist = (text2num(LAZYACCESS(modifiers, ICON_Y)) - world.icon_size/2) * (climbed_thing.dir & SOUTH ? -1 : 1) + var/x_dist = (text2num(LAZYACCESS(modifiers, ICON_X)) - ICON_SIZE_X/2) * (climbed_thing.dir & WEST ? -1 : 1) + var/y_dist = (text2num(LAZYACCESS(modifiers, ICON_Y)) - ICON_SIZE_Y/2) * (climbed_thing.dir & SOUTH ? -1 : 1) dir_step = (x_dist >= y_dist ? (EAST|WEST) : (NORTH|SOUTH)) & climbed_thing.dir else dir_step = get_dir(user, get_step(climbed_thing, climbed_thing.dir)) diff --git a/code/datums/elements/consumable_mob.dm b/code/datums/elements/consumable_mob.dm index 1a7c67a431220..fafdb8cbcab28 100644 --- a/code/datums/elements/consumable_mob.dm +++ b/code/datums/elements/consumable_mob.dm @@ -23,7 +23,7 @@ /datum/element/consumable_mob/proc/on_consume(atom/movable/source, mob/living/consumer) SIGNAL_HANDLER - if(!consumer.combat_mode || !consumer.reagents) + if(!consumer.combat_mode || !consumer.reagents || HAS_TRAIT(consumer, TRAIT_PACIFISM)) return for(var/reagent_type in reagents_list) if(isnull(reagents_list[reagent_type])) diff --git a/code/datums/elements/corrupted_organ.dm b/code/datums/elements/corrupted_organ.dm index 666ca3460fce5..504c6851e00c6 100644 --- a/code/datums/elements/corrupted_organ.dm +++ b/code/datums/elements/corrupted_organ.dm @@ -41,7 +41,7 @@ ) return var/turf/origin_turf = get_turf(organ) - playsound(organ, 'sound/magic/forcewall.ogg', vol = 100) + playsound(organ, 'sound/effects/magic/forcewall.ogg', vol = 100) new /obj/effect/temp_visual/curse_blast(origin_turf) organ.visible_message(span_revenwarning("[organ] explodes in a burst of dark energy!")) for(var/mob/living/target in range(1, origin_turf)) diff --git a/code/datums/elements/damage_threshold.dm b/code/datums/elements/damage_threshold.dm index 60c87dc5ed5c1..764f5d7a9bd6d 100644 --- a/code/datums/elements/damage_threshold.dm +++ b/code/datums/elements/damage_threshold.dm @@ -45,7 +45,7 @@ span_hear("You hear a thud."), COMBAT_MESSAGE_RANGE, ) - playsound(source, 'sound/weapons/tap.ogg', tap_vol, TRUE, -1) + playsound(source, 'sound/items/weapons/tap.ogg', tap_vol, TRUE, -1) return SUCCESSFUL_BLOCK return NONE diff --git a/code/datums/elements/decals/blood.dm b/code/datums/elements/decals/blood.dm index 857b9e2b678ea..16fd4241147d4 100644 --- a/code/datums/elements/decals/blood.dm +++ b/code/datums/elements/decals/blood.dm @@ -24,8 +24,8 @@ icon = I.icon icon_state = I.icon_state var/icon/icon_for_size = icon(icon, icon_state) - var/scale_factor_x = icon_for_size.Width()/world.icon_size - var/scale_factor_y = icon_for_size.Height()/world.icon_size + 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 = 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 diff --git a/code/datums/elements/deliver_first.dm b/code/datums/elements/deliver_first.dm index 0fb83a2545603..ae1947bff02a8 100644 --- a/code/datums/elements/deliver_first.dm +++ b/code/datums/elements/deliver_first.dm @@ -80,7 +80,7 @@ if(user) target.balloon_alert(user, "access denied until delivery!") if(COOLDOWN_FINISHED(src, deny_cooldown)) - playsound(target, 'sound/machines/buzz-two.ogg', 30, TRUE) + playsound(target, 'sound/machines/buzz/buzz-two.ogg', 30, TRUE) COOLDOWN_START(src, deny_cooldown, DENY_SOUND_COOLDOWN) return BLOCK_OPEN diff --git a/code/datums/elements/dextrous.dm b/code/datums/elements/dextrous.dm index 681e2a9488d8c..240cfc88494d3 100644 --- a/code/datums/elements/dextrous.dm +++ b/code/datums/elements/dextrous.dm @@ -69,5 +69,5 @@ for(var/obj/item/held_item in examined.held_items) if(held_item.item_flags & (ABSTRACT|EXAMINE_SKIP|HAND_ITEM)) continue - examine_list += span_info("[examined.p_They()] [examined.p_have()] [held_item.get_examine_string(user)] in [examined.p_their()] \ + examine_list += span_info("[examined.p_They()] [examined.p_have()] [held_item.examine_title(user)] in [examined.p_their()] \ [examined.get_held_index_name(examined.get_held_index_of_item(held_item))].") diff --git a/code/datums/elements/disarm_attack.dm b/code/datums/elements/disarm_attack.dm index a788cd9f35ed3..8b4b0b3ff8adf 100644 --- a/code/datums/elements/disarm_attack.dm +++ b/code/datums/elements/disarm_attack.dm @@ -6,13 +6,23 @@ if(!isitem(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ITEM_ATTACK_SECONDARY, PROC_REF(secondary_attack)) - RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(examine)) + var/obj/item/item = target + RegisterSignal(item, COMSIG_ITEM_ATTACK_SECONDARY, PROC_REF(secondary_attack)) + RegisterSignal(item, COMSIG_ATOM_EXAMINE, PROC_REF(examine)) + item.item_flags |= ITEM_HAS_CONTEXTUAL_SCREENTIPS + RegisterSignal(item, COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET, PROC_REF(add_item_context)) /datum/element/disarm_attack/Detach(datum/source) - UnregisterSignal(source, list(COMSIG_ATOM_EXAMINE, COMSIG_ITEM_ATTACK_SECONDARY)) + UnregisterSignal(source, list(COMSIG_ATOM_EXAMINE, COMSIG_ITEM_ATTACK_SECONDARY, COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET)) return ..() +/datum/element/disarm_attack/proc/add_item_context(obj/item/source, list/context, atom/target, mob/living/user) + SIGNAL_HANDLER + if(!isliving(target) || !can_disarm_attack(source, target, user, FALSE)) + return NONE + context[SCREENTIP_CONTEXT_RMB] = "Shove" + return CONTEXTUAL_SCREENTIP_SET + /datum/element/disarm_attack/proc/secondary_attack(obj/item/source, mob/living/victim, mob/living/user, params) SIGNAL_HANDLER if(!user.can_disarm(victim) || !can_disarm_attack(source, victim, user)) diff --git a/code/datums/elements/door_pryer.dm b/code/datums/elements/door_pryer.dm index 9f01e8be2b6ab..3e2bd2c5a43d6 100644 --- a/code/datums/elements/door_pryer.dm +++ b/code/datums/elements/door_pryer.dm @@ -60,7 +60,7 @@ message = span_warning("[attacker] starts forcing the [airlock_target] open!"), blind_message = span_hear("You hear a metal screeching sound."), ) - playsound(airlock_target, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) + playsound(airlock_target, 'sound/machines/airlock/airlock_alien_prying.ogg', 100, TRUE) airlock_target.balloon_alert(attacker, "prying...") if(!do_after(attacker, pry_time, airlock_target)) airlock_target.balloon_alert(attacker, "interrupted!") diff --git a/code/datums/elements/embed.dm b/code/datums/elements/embed.dm index 4a8bda37c3a75..fbaf638bdd520 100644 --- a/code/datums/elements/embed.dm +++ b/code/datums/elements/embed.dm @@ -23,7 +23,7 @@ return RegisterSignal(target, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(check_embed)) - RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(examined)) + RegisterSignal(target, COMSIG_ATOM_EXAMINE_TAGS, PROC_REF(examined_tags)) RegisterSignal(target, COMSIG_EMBED_TRY_FORCE, PROC_REF(try_force_embed)) RegisterSignal(target, COMSIG_ITEM_DISABLE_EMBED, PROC_REF(detach_from_weapon)) @@ -46,7 +46,7 @@ if(blocked || !istype(victim) || HAS_TRAIT(victim, TRAIT_PIERCEIMMUNE)) return FALSE - if(victim.status_flags & GODMODE) + if(HAS_TRAIT(victim, TRAIT_GODMODE)) return FALSE var/flying_speed = throwingdatum?.speed || weapon.throw_speed @@ -82,13 +82,13 @@ Detach(weapon) ///Someone inspected our embeddable item -/datum/element/embed/proc/examined(obj/item/I, mob/user, list/examine_list) +/datum/element/embed/proc/examined_tags(obj/item/I, mob/user, list/examine_list) SIGNAL_HANDLER if(I.is_embed_harmless()) - examine_list += "[I] feels sticky, and could probably get stuck to someone if thrown properly!" + examine_list["sticky"] = "[I] feels sticky, and could probably get stuck to someone if thrown properly!" else - examine_list += "[I] has a fine point, and could probably embed in someone if thrown properly!" + examine_list["embeddable"] = "[I] has a fine point, and could probably embed in someone if thrown properly!" /** * check_embed_projectile() is what we get when a projectile with a defined shrapnel_type impacts a target. @@ -117,6 +117,8 @@ if(!try_force_embed(payload, limb)) payload.failedEmbed() + else + SEND_SIGNAL(source, COMSIG_PROJECTILE_ON_EMBEDDED, payload, hit) Detach(source) /** diff --git a/code/datums/elements/falling_hazard.dm b/code/datums/elements/falling_hazard.dm index 355bcd92e4e01..65ac6b4569f0e 100644 --- a/code/datums/elements/falling_hazard.dm +++ b/code/datums/elements/falling_hazard.dm @@ -12,7 +12,7 @@ /// Does the target crush and flatten whoever it falls on var/crushes_people = FALSE /// What sound is played when the target falls onto a mob - var/impact_sound = 'sound/magic/clockwork/fellowship_armory.ogg' //CLANG + var/impact_sound = 'sound/effects/magic/clockwork/fellowship_armory.ogg' //CLANG /datum/element/falling_hazard/Attach(datum/target, damage, wound_bonus, hardhat_safety, crushes, impact_sound) . = ..() @@ -52,7 +52,7 @@ if(crushes_people) poor_target.Knockdown(0.25 SECONDS * fall_damage) // For a piano, that would be 15 seconds - playsound(poor_target, 'sound/weapons/parry.ogg', 50, TRUE) // You PARRIED the falling object with your EPIC hardhat + playsound(poor_target, 'sound/items/weapons/parry.ogg', 50, TRUE) // You PARRIED the falling object with your EPIC hardhat return var/obj/item/bodypart/target_head = poor_target.get_bodypart(BODY_ZONE_HEAD) diff --git a/code/datums/elements/firestacker.dm b/code/datums/elements/firestacker.dm index b7bad65cc6ced..a512e5e89c7d1 100644 --- a/code/datums/elements/firestacker.dm +++ b/code/datums/elements/firestacker.dm @@ -27,10 +27,10 @@ /datum/element/firestacker/proc/stack_on(datum/owner, mob/living/target) target.adjust_fire_stacks(amount) -/datum/element/firestacker/proc/impact(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) +/datum/element/firestacker/proc/impact(datum/source, atom/hit_atom, datum/thrownthing/throwing_datum, caught) SIGNAL_HANDLER - if(isliving(hit_atom)) + if(!caught && isliving(hit_atom)) stack_on(source, hit_atom) /datum/element/firestacker/proc/item_attack(datum/source, atom/movable/target, mob/living/user) diff --git a/code/datums/elements/food/food_trash.dm b/code/datums/elements/food/food_trash.dm index 6df36c82c4c41..244de8d7e84ab 100644 --- a/code/datums/elements/food/food_trash.dm +++ b/code/datums/elements/food/food_trash.dm @@ -22,11 +22,14 @@ RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, PROC_REF(open_trash)) if(flags & FOOD_TRASH_POPABLE) RegisterSignal(target, COMSIG_FOOD_CROSSED, PROC_REF(food_crossed)) - RegisterSignal(target, COMSIG_ITEM_ON_GRIND, PROC_REF(generate_trash)) - RegisterSignal(target, COMSIG_ITEM_ON_JUICE, PROC_REF(generate_trash)) - RegisterSignal(target, COMSIG_ITEM_USED_AS_INGREDIENT, PROC_REF(generate_trash)) - RegisterSignal(target, COMSIG_ITEM_ON_COMPOSTED, PROC_REF(generate_trash)) - RegisterSignal(target, COMSIG_ITEM_SOLD_TO_CUSTOMER, PROC_REF(generate_trash)) + RegisterSignals(target, list( + COMSIG_ITEM_ON_GRIND, + COMSIG_ITEM_ON_JUICE, + COMSIG_ITEM_USED_AS_INGREDIENT, + COMSIG_ITEM_ON_COMPOSTED, + COMSIG_ITEM_SOLD_TO_CUSTOMER, + COMSIG_MOVABLE_SPLAT, + ), PROC_REF(generate_trash)) /datum/element/food_trash/Detach(datum/target) . = ..() @@ -38,7 +41,9 @@ COMSIG_ITEM_ON_JUICE, COMSIG_ITEM_USED_AS_INGREDIENT, COMSIG_ITEM_ON_COMPOSTED, - COMSIG_ITEM_SOLD_TO_CUSTOMER,)) + COMSIG_ITEM_SOLD_TO_CUSTOMER, + COMSIG_MOVABLE_SPLAT, + )) /datum/element/food_trash/proc/generate_trash(datum/source, mob/living/eater, mob/living/feeder) SIGNAL_HANDLER diff --git a/code/datums/elements/food/fried_item.dm b/code/datums/elements/food/fried_item.dm index 2afab84d1cb43..bc21e51f24cd7 100644 --- a/code/datums/elements/food/fried_item.dm +++ b/code/datums/elements/food/fried_item.dm @@ -17,28 +17,27 @@ var/atom/this_food = target switch(fry_time) - if(0 to 15) + if(0 to 15 SECONDS) this_food.add_atom_colour(fried_colors[1], FIXED_COLOUR_PRIORITY) this_food.name = "lightly-fried [this_food.name]" this_food.desc += " It's been lightly fried in a deep fryer." - if(15 to 50) + if(15 SECONDS to 50 SECONDS) this_food.add_atom_colour(fried_colors[2], FIXED_COLOUR_PRIORITY) this_food.name = "fried [this_food.name]" this_food.desc += " It's been fried, increasing its tastiness value by [rand(1, 75)]%." - if(50 to 85) + if(50 SECONDS to 85 SECONDS) this_food.add_atom_colour(fried_colors[3], FIXED_COLOUR_PRIORITY) this_food.name = "deep-fried [this_food.name]" this_food.desc += " Deep-fried to perfection." - if(85 to INFINITY) + if(85 SECONDS to INFINITY) this_food.add_atom_colour(fried_colors[4], FIXED_COLOUR_PRIORITY) this_food.name = "\proper the physical manifestation of the very concept of fried foods" this_food.desc = "A heavily-fried... something. Who can tell anymore?" ADD_TRAIT(this_food, TRAIT_FOOD_FRIED, ELEMENT_TRAIT(type)) - SEND_SIGNAL(this_food, COMSIG_ITEM_FRIED, fry_time) // Already edible items will inherent these parameters // Otherwise, we will become edible. this_food.AddComponent( \ @@ -49,6 +48,7 @@ foodtypes = FRIED, \ volume = this_food.reagents?.maximum_volume, \ ) + SEND_SIGNAL(this_food, COMSIG_ITEM_FRIED, fry_time) /datum/element/fried_item/Detach(atom/source, ...) for(var/color in fried_colors) diff --git a/code/datums/elements/food/grilled_item.dm b/code/datums/elements/food/grilled_item.dm index 74e772eb73c92..6899f47faa475 100644 --- a/code/datums/elements/food/grilled_item.dm +++ b/code/datums/elements/food/grilled_item.dm @@ -28,10 +28,12 @@ if(grill_time > 30 SECONDS && isnull(this_food.GetComponent(/datum/component/edible))) this_food.AddComponent(/datum/component/edible, foodtypes = FRIED) - SEND_SIGNAL(this_food, COMSIG_ITEM_BARBEQUE_GRILLED) + SEND_SIGNAL(this_food, COMSIG_ITEM_BARBEQUE_GRILLED, grill_time) + ADD_TRAIT(this_food, TRAIT_FOOD_BBQ_GRILLED, ELEMENT_TRAIT(type)) /datum/element/grilled_item/Detach(atom/source, ...) source.name = initial(source.name) source.desc = initial(source.desc) qdel(source.GetComponent(/datum/component/edible)) // Don't care if it was initially edible + REMOVE_TRAIT(src, TRAIT_FOOD_BBQ_GRILLED, ELEMENT_TRAIT(type)) return ..() diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm index a162e58752d55..8b0699062e58d 100644 --- a/code/datums/elements/footstep.dm +++ b/code/datums/elements/footstep.dm @@ -103,6 +103,9 @@ /datum/element/footstep/proc/play_simplestep(mob/living/source, atom/oldloc, direction, forced, list/old_locs, momentum_change) SIGNAL_HANDLER + if(source.moving_diagonally == SECOND_DIAG_STEP) + return // to prevent a diagonal step from counting as 2 + if (forced || SHOULD_DISABLE_FOOTSTEPS(source)) return @@ -122,6 +125,9 @@ /datum/element/footstep/proc/play_humanstep(mob/living/carbon/human/source, atom/oldloc, direction, forced, list/old_locs, momentum_change) SIGNAL_HANDLER + if(source.moving_diagonally == SECOND_DIAG_STEP) + return // to prevent a diagonal step from counting as 2 + if (forced || SHOULD_DISABLE_FOOTSTEPS(source) || !momentum_change) return @@ -172,6 +178,9 @@ /datum/element/footstep/proc/play_simplestep_machine(atom/movable/source, atom/oldloc, direction, forced, list/old_locs, momentum_change) SIGNAL_HANDLER + if(source.moving_diagonally == SECOND_DIAG_STEP) + return // to prevent a diagonal step from counting as 2 + if (forced || SHOULD_DISABLE_FOOTSTEPS(source)) return diff --git a/code/datums/elements/frozen.dm b/code/datums/elements/frozen.dm index d112ef31b5f91..df857cdd6efe6 100644 --- a/code/datums/elements/frozen.dm +++ b/code/datums/elements/frozen.dm @@ -28,7 +28,7 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 organ.organ_flags |= ORGAN_FROZEN RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) - RegisterSignal(target, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(shatter_on_throw)) + RegisterSignal(target, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(shatter_on_landed)) RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(shatter_on_throw)) RegisterSignal(target, COMSIG_OBJ_UNFREEZE, PROC_REF(on_unfreeze)) @@ -54,8 +54,13 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 SIGNAL_HANDLER Detach(source) -///signal handler for COMSIG_MOVABLE_POST_THROW that shatters our target after impacting after a throw -/datum/element/frozen/proc/shatter_on_throw(datum/target, datum/thrownthing/throwingdatum) +/datum/element/frozen/proc/shatter_on_throw(datum/source, atom/hit_atom, datum/thrownthing/throwing_datum, caught) + SIGNAL_HANDLER + if(!caught) + shatter_on_landed(source, throwing_datum) + +///signal handler that shatters our target after impacting after a throw. +/datum/element/frozen/proc/shatter_on_landed(datum/target, datum/thrownthing/throwingdatum) SIGNAL_HANDLER var/obj/obj_target = target if(ismob(throwingdatum.thrower)) diff --git a/code/datums/elements/give_turf_traits.dm b/code/datums/elements/give_turf_traits.dm index 3c53d4a5e7305..7e7c37d86e7ef 100644 --- a/code/datums/elements/give_turf_traits.dm +++ b/code/datums/elements/give_turf_traits.dm @@ -67,7 +67,7 @@ for(var/mob/living/living in location) living.update_turf_movespeed() -/// Signals and components are carried over when the turf is changed, so they've to be readded post-change. +/// Signals are carried over when the turf is changed, but traits aren't, so they've to be readded post-change. /datum/element/give_turf_traits/proc/pre_change_turf(turf/changed, path, list/new_baseturfs, flags, list/post_change_callbacks) SIGNAL_HANDLER post_change_callbacks += CALLBACK(src, PROC_REF(reoccupy_turf)) diff --git a/code/datums/elements/high_fiver.dm b/code/datums/elements/high_fiver.dm index 6e4e9739cefc5..249a9f4059de4 100644 --- a/code/datums/elements/high_fiver.dm +++ b/code/datums/elements/high_fiver.dm @@ -54,7 +54,7 @@ taker.add_mood_event(descriptor, /datum/mood_event/high_five_full_hand) // not so successful now! return COMPONENT_OFFER_INTERRUPT - playsound(offerer, 'sound/weapons/slap.ogg', min(50 * slappers_giver, 300), TRUE, 1) + playsound(offerer, 'sound/items/weapons/slap.ogg', min(50 * slappers_giver, 300), TRUE, 1) offerer.add_mob_memory(/datum/memory/high_five, deuteragonist = taker, high_five_type = descriptor, high_ten = high_ten) taker.add_mob_memory(/datum/memory/high_five, deuteragonist = offerer, high_five_type = descriptor, high_ten = high_ten) diff --git a/code/datums/elements/immerse.dm b/code/datums/elements/immerse.dm index 65f7d45b9ab77..d50ae906c0a55 100644 --- a/code/datums/elements/immerse.dm +++ b/code/datums/elements/immerse.dm @@ -142,8 +142,8 @@ */ /datum/element/immerse/proc/add_immerse_overlay(atom/movable/movable) var/list/icon_dimensions = get_icon_dimensions(movable.icon) - var/width = icon_dimensions["width"] || world.icon_size - var/height = icon_dimensions["height"] || world.icon_size + var/width = icon_dimensions["width"] || ICON_SIZE_X + var/height = icon_dimensions["height"] || ICON_SIZE_Y var/is_below_water = movable.layer < WATER_LEVEL_LAYER ? "underwater-" : "" @@ -184,19 +184,19 @@ * but since we want the appearance to stay where it should be, * we have to counteract this one. */ - var/extra_width = (width - world.icon_size) * 0.5 - var/extra_height = (height - world.icon_size) * 0.5 + var/extra_width = (width - ICON_SIZE_X) * 0.5 + var/extra_height = (height - ICON_SIZE_Y) * 0.5 var/mutable_appearance/overlay_appearance = new() var/icon/immerse_icon = generated_immerse_icons["[icon]-[icon_state]-[mask_icon]"] - var/last_i = width/world.icon_size + 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 = world.icon_size * i - extra_width - underwater.pixel_y = -world.icon_size - extra_height + underwater.pixel_x = ICON_SIZE_X * i - extra_width + underwater.pixel_y = -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 = world.icon_size * i - extra_width + water_level.pixel_x = ICON_SIZE_X * i - extra_width water_level.pixel_y = -extra_height overlay_appearance.overlays += water_level diff --git a/code/datums/elements/kneejerk.dm b/code/datums/elements/kneejerk.dm index cd93fe31917ed..78c0ba7654d69 100644 --- a/code/datums/elements/kneejerk.dm +++ b/code/datums/elements/kneejerk.dm @@ -51,17 +51,17 @@ var/target_brain_damage = target_brain.damage if(target_brain_damage < BRAIN_DAMAGE_MILD) //a healthy brain produces a normal reaction - playsound(target, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) + playsound(target, 'sound/items/weapons/punchmiss.ogg', 25, TRUE, -1) target.visible_message(span_danger("[target]'s leg kicks out sharply!"), \ span_danger("Your leg kicks out sharply!")) else if(target_brain_damage < BRAIN_DAMAGE_SEVERE) //a mildly damaged brain produces a delayed reaction - playsound(target, 'sound/weapons/punchmiss.ogg', 15, TRUE, -1) + playsound(target, 'sound/items/weapons/punchmiss.ogg', 15, TRUE, -1) target.visible_message(span_danger("After a moment, [target]'s leg kicks out sharply!"), \ span_danger("After a moment, your leg kicks out sharply!")) else if(target_brain_damage < BRAIN_DAMAGE_DEATH) //a severely damaged brain produces a delayed + weaker reaction - playsound(target, 'sound/weapons/punchmiss.ogg', 5, TRUE, -1) + playsound(target, 'sound/items/weapons/punchmiss.ogg', 5, TRUE, -1) target.visible_message(span_danger("After a moment, [target]'s leg kicks out weakly!"), \ span_danger("After a moment, your leg kicks out weakly!")) diff --git a/code/datums/elements/lazy_fishing_spot.dm b/code/datums/elements/lazy_fishing_spot.dm index 1ba296bfe730d..67edcea2e88ed 100644 --- a/code/datums/elements/lazy_fishing_spot.dm +++ b/code/datums/elements/lazy_fishing_spot.dm @@ -20,10 +20,19 @@ RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examined)) RegisterSignal(target, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examined_more)) RegisterSignal(target, COMSIG_ATOM_EX_ACT, PROC_REF(explosive_fishing)) + RegisterSignal(target, COMSIG_FISH_RELEASED_INTO, PROC_REF(fish_released)) + RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(link_to_fish_porter)) /datum/element/lazy_fishing_spot/Detach(datum/target) - UnregisterSignal(target, list(COMSIG_PRE_FISHING, COMSIG_ATOM_EXAMINE, COMSIG_ATOM_EXAMINE_MORE, COMSIG_ATOM_EX_ACT)) - UnregisterSignal(target, list(COMSIG_PRE_FISHING, COMSIG_NPC_FISHING)) + UnregisterSignal(target, list( + COMSIG_FISH_RELEASED_INTO, + COMSIG_PRE_FISHING, + COMSIG_NPC_FISHING, + COMSIG_ATOM_EXAMINE, + COMSIG_ATOM_EXAMINE_MORE, + COMSIG_ATOM_EX_ACT, + COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), + )) REMOVE_TRAIT(target, TRAIT_FISHING_SPOT, REF(src)) return ..() @@ -41,15 +50,7 @@ var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] - var/has_known_fishes = FALSE - for(var/reward in fish_source.fish_table) - if(!ispath(reward, /obj/item/fish)) - continue - var/obj/item/fish/prototype = reward - if(initial(prototype.show_in_catalog)) - has_known_fishes = TRUE - break - if(!has_known_fishes) + if(!fish_source.has_known_fishes()) return examine_text += span_tinynoticeital("This is a fishing spot. You can look again to list its fishes...") @@ -60,19 +61,7 @@ return var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] - - var/list/known_fishes = list() - for(var/reward in fish_source.fish_table) - if(!ispath(reward, /obj/item/fish)) - continue - var/obj/item/fish/prototype = reward - if(initial(prototype.show_in_catalog)) - known_fishes += initial(prototype.name) - - if(!length(known_fishes)) - return - - examine_text += span_info("You can catch the following fish here: [english_list(known_fishes)].") + fish_source.get_catchable_fish_names(user, source, examine_text) /datum/element/lazy_fishing_spot/proc/explosive_fishing(atom/location, severity) SIGNAL_HANDLER @@ -81,3 +70,16 @@ /datum/element/lazy_fishing_spot/proc/return_glob_fishing_spot(datum/source, list/fish_spot_container) fish_spot_container[NPC_FISHING_SPOT] = GLOB.preset_fish_sources[configuration] + +/datum/element/lazy_fishing_spot/proc/link_to_fish_porter(atom/source, mob/user, obj/item/multitool/tool) + SIGNAL_HANDLER + if(!istype(tool.buffer, /obj/machinery/fishing_portal_generator)) + return + var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] + var/obj/machinery/fishing_portal_generator/portal = tool.buffer + return portal.link_fishing_spot(fish_source, source, user) + +/datum/element/lazy_fishing_spot/proc/fish_released(datum/source, obj/item/fish/fish, mob/living/releaser) + SIGNAL_HANDLER + var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] + fish_source.readd_fish(fish, releaser) diff --git a/code/datums/elements/light_eater.dm b/code/datums/elements/light_eater.dm index 27500b066fefa..3f51590da1c6e 100644 --- a/code/datums/elements/light_eater.dm +++ b/code/datums/elements/light_eater.dm @@ -127,7 +127,19 @@ */ /datum/element/light_eater/proc/on_interacting_with(obj/item/source, mob/living/user, atom/target) SIGNAL_HANDLER - eat_lights(target, source) + if(eat_lights(target, source)) + // do a "pretend" attack if we're hitting something that can't normally be + if(isobj(target)) + var/obj/smacking = target + if(smacking.obj_flags & CAN_BE_HIT) + return NONE + else if(!isturf(target)) + return NONE + user.do_attack_animation(target) + user.changeNext_move(CLICK_CD_RAPID) + target.play_attack_sound() + // not particularly picky about what happens afterwards in the attack chain + return NONE /** * Called when a source object is used to block a thrown object, projectile, or attack diff --git a/code/datums/elements/mirage_border.dm b/code/datums/elements/mirage_border.dm index 999455a0b8343..ca7c422dd1127 100644 --- a/code/datums/elements/mirage_border.dm +++ b/code/datums/elements/mirage_border.dm @@ -24,9 +24,9 @@ var/turf/northeast = locate(clamp(x + (direction & EAST ? range : 0), 1, world.maxx), clamp(y + (direction & NORTH ? range : 0), 1, world.maxy), z) holder.vis_contents += block(southwest, northeast) if(direction & SOUTH) - holder.pixel_y -= world.icon_size * range + holder.pixel_y -= ICON_SIZE_Y * range if(direction & WEST) - holder.pixel_x -= world.icon_size * range + holder.pixel_x -= ICON_SIZE_X * range /datum/element/mirage_border/Detach(atom/movable/target) . = ..() diff --git a/code/datums/elements/movetype_handler.dm b/code/datums/elements/movetype_handler.dm index 6d730d345e284..e88aac6e26515 100644 --- a/code/datums/elements/movetype_handler.dm +++ b/code/datums/elements/movetype_handler.dm @@ -8,7 +8,6 @@ element_flags = ELEMENT_DETACH_ON_HOST_DESTROY var/list/attached_atoms = list() - var/list/paused_floating_anim_atoms = list() /datum/element/movetype_handler/Attach(datum/target) . = ..() @@ -22,7 +21,6 @@ RegisterSignals(movable_target, GLOB.movement_type_removetrait_signals, PROC_REF(on_movement_type_trait_loss)) RegisterSignal(movable_target, SIGNAL_ADDTRAIT(TRAIT_NO_FLOATING_ANIM), PROC_REF(on_no_floating_anim_trait_gain)) RegisterSignal(movable_target, SIGNAL_REMOVETRAIT(TRAIT_NO_FLOATING_ANIM), PROC_REF(on_no_floating_anim_trait_loss)) - RegisterSignal(movable_target, COMSIG_PAUSE_FLOATING_ANIM, PROC_REF(pause_floating_anim)) attached_atoms[movable_target] = TRUE if(movable_target.movement_type & (FLOATING|FLYING) && !HAS_TRAIT(movable_target, TRAIT_NO_FLOATING_ANIM)) @@ -32,14 +30,12 @@ var/list/signals_to_remove = list( SIGNAL_ADDTRAIT(TRAIT_NO_FLOATING_ANIM), SIGNAL_REMOVETRAIT(TRAIT_NO_FLOATING_ANIM), - COMSIG_PAUSE_FLOATING_ANIM ) signals_to_remove += GLOB.movement_type_addtrait_signals signals_to_remove += GLOB.movement_type_removetrait_signals UnregisterSignal(source, signals_to_remove) attached_atoms -= source - paused_floating_anim_atoms -= source STOP_FLOATING_ANIM(source) return ..() @@ -51,7 +47,7 @@ return var/old_state = source.movement_type source.movement_type |= flag - if(!(old_state & (FLOATING|FLYING)) && (source.movement_type & (FLOATING|FLYING)) && !paused_floating_anim_atoms[source] && !HAS_TRAIT(source, TRAIT_NO_FLOATING_ANIM)) + if(!(old_state & (FLOATING|FLYING)) && (source.movement_type & (FLOATING|FLYING)) && !HAS_TRAIT(source, TRAIT_NO_FLOATING_ANIM)) DO_FLOATING_ANIM(source) SEND_SIGNAL(source, COMSIG_MOVETYPE_FLAG_ENABLED, flag, old_state) @@ -78,24 +74,5 @@ /// Called when the TRAIT_NO_FLOATING_ANIM trait is removed from the mob. Restarts the bobbing animation. /datum/element/movetype_handler/proc/on_no_floating_anim_trait_loss(atom/movable/source, trait) SIGNAL_HANDLER - if(source.movement_type & (FLOATING|FLYING) && !paused_floating_anim_atoms[source]) + if(source.movement_type & (FLOATING|FLYING)) DO_FLOATING_ANIM(source) - -///Pauses the floating animation for the duration of the timer... plus [tickrate - (world.time + timer) % tickrate] to be precise. -/datum/element/movetype_handler/proc/pause_floating_anim(atom/movable/source, timer) - SIGNAL_HANDLER - if(paused_floating_anim_atoms[source] < world.time + timer) - STOP_FLOATING_ANIM(source) - if(!length(paused_floating_anim_atoms)) - START_PROCESSING(SSdcs, src) //1 second tickrate. - paused_floating_anim_atoms[source] = world.time + timer - -/datum/element/movetype_handler/process() - for(var/_paused in paused_floating_anim_atoms) - var/atom/movable/paused = _paused - if(paused_floating_anim_atoms[paused] < world.time) - if(paused.movement_type & (FLOATING|FLYING) && !HAS_TRAIT(paused, TRAIT_NO_FLOATING_ANIM)) - DO_FLOATING_ANIM(paused) - paused_floating_anim_atoms -= paused - if(!length(paused_floating_anim_atoms)) - STOP_PROCESSING(SSdcs, src) diff --git a/code/datums/elements/pet_bonus.dm b/code/datums/elements/pet_bonus.dm index 5ef8b515077ac..a802c363f44f5 100644 --- a/code/datums/elements/pet_bonus.dm +++ b/code/datums/elements/pet_bonus.dm @@ -8,6 +8,8 @@ element_flags = ELEMENT_BESPOKE argument_hash_start_idx = 2 + ///string key of the emote to do when pet. + var/emote_name ///optional cute message to send when you pet your pet! var/emote_message ///actual moodlet given, defaults to the pet animal one @@ -19,6 +21,7 @@ return ELEMENT_INCOMPATIBLE src.emote_message = emote_message + src.emote_name = emote_name src.moodlet = moodlet RegisterSignal(target, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) @@ -36,4 +39,6 @@ SEND_SIGNAL(pet, COMSIG_ANIMAL_PET, petter, modifiers) if(emote_message && prob(33)) pet.manual_emote(emote_message) + if(emote_name) + INVOKE_ASYNC(pet, TYPE_PROC_REF(/mob, emote), emote_name) petter.add_mood_event("petting_bonus", moodlet, pet) diff --git a/code/datums/elements/pet_collar.dm b/code/datums/elements/pet_collar.dm index 5c49de2eceb5b..f98767629e7e7 100644 --- a/code/datums/elements/pet_collar.dm +++ b/code/datums/elements/pet_collar.dm @@ -54,7 +54,7 @@ /datum/element/wears_collar/proc/on_content_enter(mob/living/source, obj/item/clothing/neck/petcollar/new_collar) SIGNAL_HANDLER - if(!istype(new_collar)) + if(!istype(new_collar) || !new_collar.tagname) return source.fully_replace_character_name(null, "\proper [new_collar.tagname]") diff --git a/code/datums/elements/slapcrafting.dm b/code/datums/elements/slapcrafting.dm index 42776bf31f773..4b58bddd2a0f4 100644 --- a/code/datums/elements/slapcrafting.dm +++ b/code/datums/elements/slapcrafting.dm @@ -26,7 +26,7 @@ return //Don't do anything, it just shouldn't be used in crafting. RegisterSignal(target, COMSIG_ATOM_ATTACKBY, PROC_REF(attempt_slapcraft)) - RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(get_examine_info)) + RegisterSignal(target, COMSIG_ATOM_EXAMINE_TAGS, PROC_REF(get_examine_info)) RegisterSignal(target, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(get_examine_more_info)) RegisterSignal(target, COMSIG_TOPIC, PROC_REF(topic_handler)) @@ -126,7 +126,7 @@ already_used_names += initial(result.name) string_results += list("\a [initial(result.name)]") - examine_list += span_notice("You think [source] could be used to make [english_list(string_results)]! Examine again to look at the details...") + examine_list["crafting component"] = "You think [source] could be used to make [english_list(string_results)]! Examine again to look at the details..." /// Alerts any examiners to the details of the recipe. /datum/element/slapcrafting/proc/get_examine_more_info(atom/source, mob/user, list/examine_list) diff --git a/code/datums/elements/spooky.dm b/code/datums/elements/spooky.dm index 30a04f6348b20..89d53c4e99734 100644 --- a/code/datums/elements/spooky.dm +++ b/code/datums/elements/spooky.dm @@ -40,7 +40,7 @@ if((!istype(H.dna.species, /datum/species/skeleton)) && (!istype(H.dna.species, /datum/species/golem)) && (!istype(H.dna.species, /datum/species/android)) && (!istype(H.dna.species, /datum/species/jelly))) C.adjustStaminaLoss(18) //boneless humanoids don't lose the will to live to_chat(C, "DOOT") - to_chat(C, "You're feeling more bony.") + to_chat(C, span_robot("You're feeling more bony.")) INVOKE_ASYNC(src, PROC_REF(spectral_change), H) else //the sound will spook monkeys. diff --git a/code/datums/elements/wall_engraver.dm b/code/datums/elements/wall_engraver.dm index 7204d8cacef5e..2b319b0609a28 100644 --- a/code/datums/elements/wall_engraver.dm +++ b/code/datums/elements/wall_engraver.dm @@ -31,12 +31,12 @@ /datum/element/wall_engraver/proc/try_chisel(obj/item/item, turf/closed/wall, mob/living/user) if(!istype(wall) || !user.mind) return - if(HAS_TRAIT_FROM(wall, TRAIT_NOT_ENGRAVABLE, INNATE_TRAIT)) - user.balloon_alert(user, "wall cannot be engraved!") - return - if(HAS_TRAIT_FROM(wall, TRAIT_NOT_ENGRAVABLE, TRAIT_GENERIC)) + if(HAS_TRAIT_FROM(wall, TRAIT_NOT_ENGRAVABLE, ENGRAVED_TRAIT)) user.balloon_alert(user, "wall has already been engraved!") return + if(HAS_TRAIT(wall, TRAIT_NOT_ENGRAVABLE)) + user.balloon_alert(user, "wall cannot be engraved!") + return if(!length(user.mind?.memories)) user.balloon_alert(user, "nothing memorable to engrave!") return diff --git a/code/datums/elements/wall_tearer.dm b/code/datums/elements/wall_tearer.dm index 2c9ff5416d59b..cf61de7300919 100644 --- a/code/datums/elements/wall_tearer.dm +++ b/code/datums/elements/wall_tearer.dm @@ -51,7 +51,7 @@ var/rip_time = (istype(target, /turf/closed/wall/r_wall) ? tear_time * reinforced_multiplier : tear_time) / 3 if (rip_time > 0) tearer.visible_message(span_warning("[tearer] begins tearing through [target]!")) - playsound(tearer, 'sound/machines/airlock_alien_prying.ogg', vol = 100, vary = TRUE) + playsound(tearer, 'sound/machines/airlock/airlock_alien_prying.ogg', vol = 100, vary = TRUE) target.balloon_alert(tearer, "tearing...") if (!do_after(tearer, delay = rip_time, target = target, interaction_key = do_after_key)) tearer.balloon_alert(tearer, "interrupted!") diff --git a/code/datums/elements/weapon_description.dm b/code/datums/elements/weapon_description.dm index 0897b571159bb..eda7ca59b49e6 100644 --- a/code/datums/elements/weapon_description.dm +++ b/code/datums/elements/weapon_description.dm @@ -73,6 +73,10 @@ // Doesn't show the base notes for items that have the override notes variable set to true if(!source.override_notes) + if (source.sharpness & SHARP_EDGED) + readout += "It's sharp and could cause bleeding wounds." + if (source.sharpness & SHARP_POINTY) + readout += "It's pointy and could cause piercing wounds." // Make sure not to divide by 0 on accident if(source.force > 0) readout += "It takes about [span_warning("[HITS_TO_CRIT(source.force)] melee hit\s")] to take down an enemy." diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 8d77c6fc6bdbb..0a8646df07084 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -100,8 +100,8 @@ user.log_message(msg, LOG_EMOTE) var/tmp_sound = get_sound(user) - if(tmp_sound && should_play_sound(user, intentional) && TIMER_COOLDOWN_FINISHED(user, type)) - TIMER_COOLDOWN_START(user, type, audio_cooldown) + if(tmp_sound && should_play_sound(user, intentional) && TIMER_COOLDOWN_FINISHED(user, "audible_emote_cooldown")) + TIMER_COOLDOWN_START(user, "audible_emote_cooldown", audio_cooldown) playsound(source = user,soundin = tmp_sound,vol = 50, vary = vary, ignore_walls = sound_wall_ignore) var/is_important = emote_type & EMOTE_IMPORTANT @@ -125,22 +125,22 @@ runechat_flags = EMOTE_MESSAGE, ) else if(is_important) - to_chat(viewer, "[user] [msg]") + to_chat(viewer, span_emote("[user] [msg]")) else if(is_audible && is_visual) viewer.show_message( - "[user] [msg]", MSG_AUDIBLE, - "You see how [user] [msg]", MSG_VISUAL, + span_emote("[user] [msg]"), MSG_AUDIBLE, + span_emote("You see how [user] [msg]"), MSG_VISUAL, ) else if(is_audible) - viewer.show_message("[user] [msg]", MSG_AUDIBLE) + viewer.show_message(span_emote("[user] [msg]"), MSG_AUDIBLE) else if(is_visual) - viewer.show_message("[user] [msg]", MSG_VISUAL) + viewer.show_message(span_emote("[user] [msg]"), MSG_VISUAL) return // Early exit so no dchat message // The emote has some important information, and should always be shown to the user else if(is_important) for(var/mob/viewer as anything in viewers(user)) - to_chat(viewer, "[user] [msg]") + to_chat(viewer, span_emote("[user] [msg]")) if(user.runechat_prefs_check(viewer, EMOTE_MESSAGE)) viewer.create_chat_message( speaker = user, @@ -152,7 +152,7 @@ else if(is_visual && is_audible) user.audible_message( message = msg, - deaf_message = "You see how [user] [msg]", + deaf_message = span_emote("You see how [user] [msg]"), self_message = msg, audible_message_flags = EMOTE_MESSAGE|ALWAYS_SHOW_SELF_MESSAGE, ) @@ -180,7 +180,7 @@ continue if(!(get_chat_toggles(ghost.client) & CHAT_GHOSTSIGHT)) continue - to_chat(ghost, "[FOLLOW_LINK(ghost, user)] [dchatmsg]") + to_chat(ghost, span_emote("[FOLLOW_LINK(ghost, user)] [dchatmsg]")) return diff --git a/code/datums/ert.dm b/code/datums/ert.dm index 58500bb3cc33c..2000d59199908 100644 --- a/code/datums/ert.dm +++ b/code/datums/ert.dm @@ -1,13 +1,23 @@ /datum/ert + ///Antag datum team for this type of ERT. var/team = /datum/team/ert + ///Do we open the doors to the "high-impact" weapon/explosive cabinets? Used for combat-focused ERTs. var/opendoors = TRUE + ///Alternate antag datum given to the leader of the squad. var/leader_role = /datum/antagonist/ert/commander + ///Do we humanize all spawned players or keep them the species in their current character prefs? var/enforce_human = TRUE - var/roles = list(/datum/antagonist/ert/security, /datum/antagonist/ert/medic, /datum/antagonist/ert/engineer) //List of possible roles to be assigned to ERT members. + ///A list of roles distributed to the selected candidates that are not the leader. + var/roles = list(/datum/antagonist/ert/security, /datum/antagonist/ert/medic, /datum/antagonist/ert/engineer) + ///The custom name assigned to this team, for their antag datum/roundend reporting. var/rename_team + ///Defines the color/alert code of the response team. Unused if a polldesc is defined. var/code + ///The mission given to this ERT type in their flavor text. var/mission = "Assist the station." + ///The number of players for consideration. var/teamsize = 5 + ///The "would you like to play as XXX" message used when polling for players. var/polldesc /// If TRUE, gives the team members "[role] [random last name]" style names var/random_names = TRUE @@ -127,3 +137,14 @@ mission = "Having heard the station's request for aid, assist the crew in defending themselves." polldesc = "an independent station defense militia" random_names = TRUE + +/datum/ert/medical + opendoors = FALSE + teamsize = 4 + leader_role = /datum/antagonist/ert/medical_commander + enforce_human = FALSE //All the best doctors I know are moths and cats + roles = list(/datum/antagonist/ert/medical_technician) + rename_team = "EMT Squad" + code = "Violet" + mission = "Provide emergency medical services to the crew." + polldesc = "an emergency medical response team" diff --git a/code/datums/greyscale/json_configs/kitsune.json b/code/datums/greyscale/json_configs/kitsune.json index bee6418321387..495520fbbd806 100644 --- a/code/datums/greyscale/json_configs/kitsune.json +++ b/code/datums/greyscale/json_configs/kitsune.json @@ -12,5 +12,19 @@ "blend_mode": "overlay", "color_ids": [ 2 ] } + ], + "kitsune_up": [ + { + "type": "icon_state", + "icon_state": "kitsune_base_up", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "kitsune_stripe_up", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } ] } diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index c3562aa598732..732323d28655c 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -89,4 +89,4 @@ msg += "Protect Assistant Role From Traitor: [CONFIG_GET(flag/protect_assistant_from_antagonist)]" msg += "Enforce Human Authority: [CONFIG_GET(flag/enforce_human_authority)]" msg += "Allow Latejoin Antagonists: [CONFIG_GET(flag/allow_latejoin_antagonists)]" - to_chat(src, "[msg.Join("
")]
") + to_chat(src, span_infoplain(msg.Join("
"))) diff --git a/code/datums/id_trim/_id_trim.dm b/code/datums/id_trim/_id_trim.dm index 562232214b3d1..32bafcb41d3f7 100644 --- a/code/datums/id_trim/_id_trim.dm +++ b/code/datums/id_trim/_id_trim.dm @@ -29,6 +29,9 @@ ///If set, IDs with this trim will give wearers arrows of different colors when pointing var/pointer_color +/datum/id_trim/proc/find_job() + return null + /// Returns the SecHUD job icon state for whatever this object's ID card is, if it has one. /obj/item/proc/get_sechud_job_icon_state() var/obj/item/card/id/id_card = GetID() diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index a42018406b2a5..34432a638db01 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -24,10 +24,10 @@ /datum/id_trim/job/New() if(ispath(job)) - job = SSjob.GetJobType(job) + job = SSjob.get_job_type(job) if(isnull(job_changes)) - job_changes = SSmapping.config.job_changes + job_changes = SSmapping.current_map.job_changes if(!length(job_changes)) refresh_trim_access() @@ -76,6 +76,9 @@ return TRUE +/datum/id_trim/job/find_job() + return job + /datum/id_trim/job/assistant assignment = JOB_ASSISTANT trim_state = "trim_assistant" @@ -156,6 +159,29 @@ ) job = /datum/job/bartender +/datum/id_trim/job/pun_pun + assignment = "Busser" + trim_state = "trim_busser" + department_color = COLOR_SERVICE_LIME + subdepartment_color = COLOR_SERVICE_LIME + sechud_icon_state = SECHUD_BUSSER + minimal_access = list( + ACCESS_MINERAL_STOREROOM, + ACCESS_SERVICE, + ACCESS_THEATRE, + ) + extra_access = list( + ACCESS_HYDROPONICS, + ACCESS_KITCHEN, + ACCESS_BAR, + ) + template_access = list( + ACCESS_CAPTAIN, + ACCESS_CHANGE_IDS, + ACCESS_HOP, + ) + job = /datum/job/pun_pun + /datum/id_trim/job/bitrunner assignment = JOB_BITRUNNER trim_state = "trim_bitrunner" @@ -1070,7 +1096,7 @@ if(CONFIG_GET(number/depsec_access_level) == POPULATION_SCALED_ACCESS) var/minimal_security_officers = 3 // We do not spawn in any more lockers if there are 5 or less security officers, so let's keep it lower than that number. - var/datum/job/J = SSjob.GetJob(JOB_SECURITY_OFFICER) + var/datum/job/J = SSjob.get_job(JOB_SECURITY_OFFICER) if((J.spawn_positions - minimal_security_officers) <= 0) access |= elevated_access diff --git a/code/datums/looping_sounds/acid.dm b/code/datums/looping_sounds/acid.dm index e461e5d02ce9c..9dcf6e1750a0c 100644 --- a/code/datums/looping_sounds/acid.dm +++ b/code/datums/looping_sounds/acid.dm @@ -1,5 +1,5 @@ /// Soundloop for the acid component. /datum/looping_sound/acid - mid_sounds = list('sound/items/welder.ogg' = 1) + mid_sounds = list('sound/items/tools/welder.ogg' = 1) mid_length = 10 volume = 150 diff --git a/code/datums/looping_sounds/breathing.dm b/code/datums/looping_sounds/breathing.dm index 73474149ae4bb..a50e13a7fd5da 100644 --- a/code/datums/looping_sounds/breathing.dm +++ b/code/datums/looping_sounds/breathing.dm @@ -1,13 +1,13 @@ /datum/looping_sound/breathing mid_sounds = list( - 'sound/voice/breathing/internals_breathing1.ogg' = 1, - 'sound/voice/breathing/internals_breathing2.ogg' = 1, - 'sound/voice/breathing/internals_breathing3.ogg' = 1, - 'sound/voice/breathing/internals_breathing4.ogg' = 1, - 'sound/voice/breathing/internals_breathing5.ogg' = 1, - 'sound/voice/breathing/internals_breathing6.ogg' = 1, - 'sound/voice/breathing/internals_breathing7.ogg' = 1, - 'sound/voice/breathing/internals_breathing8.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing1.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing2.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing3.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing4.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing5.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing6.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing7.ogg' = 1, + 'sound/mobs/humanoids/breathing/internals_breathing8.ogg' = 1, ) //Calculated this by using the average breathing time of an adult (12 to 20 per minute, which on average is 16 per minute) // realism is overrated, make it longer to reduce ear fatigue diff --git a/code/datums/looping_sounds/choking.dm b/code/datums/looping_sounds/choking.dm index 444204efa1fa6..6d337b1c7d648 100644 --- a/code/datums/looping_sounds/choking.dm +++ b/code/datums/looping_sounds/choking.dm @@ -1,5 +1,5 @@ /datum/looping_sound/choking - mid_sounds = list('sound/creatures/gag1.ogg' = 1, 'sound/creatures/gag2.ogg' = 1, 'sound/creatures/gag3.ogg' = 1, 'sound/creatures/gag4.ogg' = 1, 'sound/creatures/gag5.ogg' = 1) + mid_sounds = list('sound/mobs/humanoids/human/gag_vomit/gag1.ogg' = 1, 'sound/mobs/humanoids/human/gag_vomit/gag2.ogg' = 1, 'sound/mobs/humanoids/human/gag_vomit/gag3.ogg' = 1, 'sound/mobs/humanoids/human/gag_vomit/gag4.ogg' = 1, 'sound/mobs/humanoids/human/gag_vomit/gag5.ogg' = 1) mid_length = 1.6 SECONDS mid_length_vary = 0.3 SECONDS each_once = TRUE diff --git a/code/datums/looping_sounds/cyborg.dm b/code/datums/looping_sounds/cyborg.dm index 499e61757c6dd..0a01a4c7116b9 100644 --- a/code/datums/looping_sounds/cyborg.dm +++ b/code/datums/looping_sounds/cyborg.dm @@ -1,10 +1,10 @@ /datum/looping_sound/wash - mid_sounds = list('sound/creatures/cyborg/wash1.ogg' = 1, 'sound/creatures/cyborg/wash2.ogg' = 1) + mid_sounds = list('sound/mobs/non-humanoids/cyborg/wash1.ogg' = 1, 'sound/mobs/non-humanoids/cyborg/wash2.ogg' = 1) mid_length = 1.5 SECONDS // This makes them overlap slightly, which works out well for masking the fade in/out start_volume = 100 - start_sound = 'sound/creatures/cyborg/wash_start.ogg' + start_sound = 'sound/mobs/non-humanoids/cyborg/wash_start.ogg' start_length = 3.6 SECONDS // again, slightly shorter then the real time of 4 seconds, will make the transition to midsounds more seemless end_volume = 100 - end_sound = 'sound/creatures/cyborg/wash_end.ogg' + end_sound = 'sound/mobs/non-humanoids/cyborg/wash_end.ogg' vary = TRUE extra_range = 5 diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm index 00fd3063e4382..7800326bb0a35 100644 --- a/code/datums/looping_sounds/item_sounds.dm +++ b/code/datums/looping_sounds/item_sounds.dm @@ -5,7 +5,7 @@ /datum/looping_sound/reverse_bear_trap_beep - mid_sounds = list('sound/machines/beep.ogg' = 1) + mid_sounds = list('sound/machines/beep/beep.ogg' = 1) mid_length = 60 volume = 10 @@ -24,7 +24,7 @@ mid_length = 1 SECONDS /datum/looping_sound/trapped_machine_beep - mid_sounds = list('sound/machines/beep.ogg' = 1) + mid_sounds = list('sound/machines/beep/beep.ogg' = 1) mid_length = 10 SECONDS mid_length_vary = 5 SECONDS falloff_exponent = 10 @@ -32,19 +32,19 @@ volume = 5 /datum/looping_sound/chainsaw - start_sound = list('sound/weapons/chainsaw_start.ogg' = 1) + start_sound = list('sound/items/weapons/chainsaw_start.ogg' = 1) start_length = 0.85 SECONDS - mid_sounds = list('sound/weapons/chainsaw_loop.ogg' = 1) + mid_sounds = list('sound/items/weapons/chainsaw_loop.ogg' = 1) mid_length = 0.85 SECONDS - end_sound = list('sound/weapons/chainsaw_stop.ogg' = 1) + end_sound = list('sound/items/weapons/chainsaw_stop.ogg' = 1) end_volume = 35 volume = 40 ignore_walls = FALSE /datum/looping_sound/beesmoke - mid_sounds = list('sound/weapons/beesmoke.ogg' = 1) + mid_sounds = list('sound/items/weapons/beesmoke.ogg' = 1) volume = 5 /datum/looping_sound/zipline - mid_sounds = list('sound/weapons/zipline_mid.ogg' = 1) + mid_sounds = list('sound/items/weapons/zipline_mid.ogg' = 1) volume = 5 diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index bc32b03125660..c4648a929b300 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -47,7 +47,7 @@ volume = 15 /datum/looping_sound/clock - mid_sounds = list('sound/ambience/ticking_clock.ogg' = 1) + mid_sounds = list('sound/ambience/misc/ticking_clock.ogg' = 1) mid_length = 40 volume = 50 ignore_walls = FALSE @@ -90,7 +90,7 @@ /datum/looping_sound/jackpot mid_length = 11 - mid_sounds = list('sound/machines/roulettejackpot.ogg' = 1) + mid_sounds = list('sound/machines/roulette/roulettejackpot.ogg' = 1) volume = 85 vary = TRUE @@ -141,7 +141,7 @@ falloff_exponent = 20 /datum/looping_sound/firealarm - mid_sounds = list('sound/machines/FireAlarm1.ogg' = 1,'sound/machines/FireAlarm2.ogg' = 1,'sound/machines/FireAlarm3.ogg' = 1,'sound/machines/FireAlarm4.ogg' = 1) + mid_sounds = list('sound/machines/fire_alarm/FireAlarm1.ogg' = 1,'sound/machines/fire_alarm/FireAlarm2.ogg' = 1,'sound/machines/fire_alarm/FireAlarm3.ogg' = 1,'sound/machines/fire_alarm/FireAlarm4.ogg' = 1) mid_length = 2.4 SECONDS volume = 30 @@ -151,34 +151,34 @@ falloff_exponent = 5 /datum/looping_sound/boiling - mid_sounds = list('sound/effects/bubbles2.ogg' = 1) + mid_sounds = list('sound/effects/bubbles/bubbles2.ogg' = 1) mid_length = 7 SECONDS volume = 25 /datum/looping_sound/typing mid_sounds = list( - 'sound/machines/terminal_button01.ogg' = 1, - 'sound/machines/terminal_button02.ogg' = 1, - 'sound/machines/terminal_button03.ogg' = 1, - 'sound/machines/terminal_button04.ogg' = 1, - 'sound/machines/terminal_button05.ogg' = 1, - 'sound/machines/terminal_button06.ogg' = 1, - 'sound/machines/terminal_button07.ogg' = 1, - 'sound/machines/terminal_button08.ogg' = 1, + 'sound/machines/terminal/terminal_button01.ogg' = 1, + 'sound/machines/terminal/terminal_button02.ogg' = 1, + 'sound/machines/terminal/terminal_button03.ogg' = 1, + 'sound/machines/terminal/terminal_button04.ogg' = 1, + 'sound/machines/terminal/terminal_button05.ogg' = 1, + 'sound/machines/terminal/terminal_button06.ogg' = 1, + 'sound/machines/terminal/terminal_button07.ogg' = 1, + 'sound/machines/terminal/terminal_button08.ogg' = 1, ) mid_length = 0.3 SECONDS /datum/looping_sound/soup mid_sounds = list( - 'sound/effects/soup_boil1.ogg' = 1, - 'sound/effects/soup_boil2.ogg' = 1, - 'sound/effects/soup_boil3.ogg' = 1, - 'sound/effects/soup_boil4.ogg' = 1, - 'sound/effects/soup_boil5.ogg' = 1, + 'sound/effects/soup_boil/soup_boil1.ogg' = 1, + 'sound/effects/soup_boil/soup_boil2.ogg' = 1, + 'sound/effects/soup_boil/soup_boil3.ogg' = 1, + 'sound/effects/soup_boil/soup_boil4.ogg' = 1, + 'sound/effects/soup_boil/soup_boil5.ogg' = 1, ) mid_length = 3 SECONDS volume = 80 - end_sound = 'sound/effects/soup_boil_end.ogg' + end_sound = 'sound/effects/soup_boil/soup_boil_end.ogg' end_volume = 60 extra_range = MEDIUM_RANGE_SOUND_EXTRARANGE falloff_exponent = 4 diff --git a/code/datums/looping_sounds/music.dm b/code/datums/looping_sounds/music.dm index ac76e236bc784..cc35ab8a8ee37 100644 --- a/code/datums/looping_sounds/music.dm +++ b/code/datums/looping_sounds/music.dm @@ -1,6 +1,6 @@ /datum/looping_sound/local_forecast mid_sounds = list( - 'sound/ambience/music/elevator/robocop-short.ogg' = 1, + 'sound/music/elevator/robocop-short.ogg' = 1, ) mid_length = 61 SECONDS volume = 20 diff --git a/code/datums/looping_sounds/vents.dm b/code/datums/looping_sounds/vents.dm index 2d0a3443631df..016b21db9cad0 100644 --- a/code/datums/looping_sounds/vents.dm +++ b/code/datums/looping_sounds/vents.dm @@ -1,7 +1,7 @@ /datum/looping_sound/vent_pump_overclock - start_sound = 'sound/machines/fan_start.ogg' + start_sound = 'sound/machines/fan/fan_start.ogg' start_length = 1.5 SECONDS - end_sound = 'sound/machines/fan_stop.ogg' + end_sound = 'sound/machines/fan/fan_stop.ogg' end_sound = 1.5 SECONDS - mid_sounds = 'sound/machines/fan_loop.ogg' + mid_sounds = 'sound/machines/fan/fan_loop.ogg' mid_length = 2 SECONDS diff --git a/code/datums/looping_sounds/weather.dm b/code/datums/looping_sounds/weather.dm index 6576cfb4e8d12..fa782a5f4ee5a 100644 --- a/code/datums/looping_sounds/weather.dm +++ b/code/datums/looping_sounds/weather.dm @@ -1,53 +1,53 @@ /datum/looping_sound/active_outside_ashstorm mid_sounds = list( - 'sound/weather/ashstorm/outside/active_mid1.ogg'=1, - 'sound/weather/ashstorm/outside/active_mid1.ogg'=1, - 'sound/weather/ashstorm/outside/active_mid1.ogg'=1 + 'sound/ambience/weather/ashstorm/outside/active_mid1.ogg'=1, + 'sound/ambience/weather/ashstorm/outside/active_mid1.ogg'=1, + 'sound/ambience/weather/ashstorm/outside/active_mid1.ogg'=1 ) mid_length = 80 - start_sound = 'sound/weather/ashstorm/outside/active_start.ogg' + start_sound = 'sound/ambience/weather/ashstorm/outside/active_start.ogg' start_length = 130 - end_sound = 'sound/weather/ashstorm/outside/active_end.ogg' + end_sound = 'sound/ambience/weather/ashstorm/outside/active_end.ogg' volume = 80 /datum/looping_sound/active_inside_ashstorm mid_sounds = list( - 'sound/weather/ashstorm/inside/active_mid1.ogg'=1, - 'sound/weather/ashstorm/inside/active_mid2.ogg'=1, - 'sound/weather/ashstorm/inside/active_mid3.ogg'=1 + 'sound/ambience/weather/ashstorm/inside/active_mid1.ogg'=1, + 'sound/ambience/weather/ashstorm/inside/active_mid2.ogg'=1, + 'sound/ambience/weather/ashstorm/inside/active_mid3.ogg'=1 ) mid_length = 80 - start_sound = 'sound/weather/ashstorm/inside/active_start.ogg' + start_sound = 'sound/ambience/weather/ashstorm/inside/active_start.ogg' start_length = 130 - end_sound = 'sound/weather/ashstorm/inside/active_end.ogg' + end_sound = 'sound/ambience/weather/ashstorm/inside/active_end.ogg' volume = 60 /datum/looping_sound/weak_outside_ashstorm mid_sounds = list( - 'sound/weather/ashstorm/outside/weak_mid1.ogg'=1, - 'sound/weather/ashstorm/outside/weak_mid2.ogg'=1, - 'sound/weather/ashstorm/outside/weak_mid3.ogg'=1 + 'sound/ambience/weather/ashstorm/outside/weak_mid1.ogg'=1, + 'sound/ambience/weather/ashstorm/outside/weak_mid2.ogg'=1, + 'sound/ambience/weather/ashstorm/outside/weak_mid3.ogg'=1 ) mid_length = 80 - start_sound = 'sound/weather/ashstorm/outside/weak_start.ogg' + start_sound = 'sound/ambience/weather/ashstorm/outside/weak_start.ogg' start_length = 130 - end_sound = 'sound/weather/ashstorm/outside/weak_end.ogg' + end_sound = 'sound/ambience/weather/ashstorm/outside/weak_end.ogg' volume = 50 /datum/looping_sound/weak_inside_ashstorm mid_sounds = list( - 'sound/weather/ashstorm/inside/weak_mid1.ogg'=1, - 'sound/weather/ashstorm/inside/weak_mid2.ogg'=1, - 'sound/weather/ashstorm/inside/weak_mid3.ogg'=1 + 'sound/ambience/weather/ashstorm/inside/weak_mid1.ogg'=1, + 'sound/ambience/weather/ashstorm/inside/weak_mid2.ogg'=1, + 'sound/ambience/weather/ashstorm/inside/weak_mid3.ogg'=1 ) mid_length = 80 - start_sound = 'sound/weather/ashstorm/inside/weak_start.ogg' + start_sound = 'sound/ambience/weather/ashstorm/inside/weak_start.ogg' start_length = 130 - end_sound = 'sound/weather/ashstorm/inside/weak_end.ogg' + end_sound = 'sound/ambience/weather/ashstorm/inside/weak_end.ogg' volume = 30 /datum/looping_sound/void_loop - mid_sounds = list('sound/ambience/VoidsEmbrace.ogg'=1) + mid_sounds = list('sound/music/antag/heretic/VoidsEmbrace.ogg'=1) mid_length = 1669 // exact length of the music in ticks volume = 100 extra_range = 30 diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 28b820278e21b..35f8a254e177e 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -104,7 +104,7 @@ attacker, ) to_chat(attacker, span_danger("You slam [defender] into the ground!")) - playsound(attacker, 'sound/weapons/slam.ogg', 50, TRUE, -1) + playsound(attacker, 'sound/items/weapons/slam.ogg', 50, TRUE, -1) defender.apply_damage(10, BRUTE) defender.Paralyze(12 SECONDS) log_combat(attacker, defender, "slammed (CQC)") @@ -125,7 +125,7 @@ attacker, ) to_chat(attacker, span_danger("You kick [defender]'s head, knocking [defender.p_them()] out!")) - playsound(attacker, 'sound/weapons/genhit1.ogg', 50, TRUE, -1) + playsound(attacker, 'sound/items/weapons/genhit1.ogg', 50, TRUE, -1) var/helmet_protection = defender.run_armor_check(BODY_ZONE_HEAD, MELEE) defender.apply_effect(20 SECONDS, EFFECT_KNOCKDOWN, helmet_protection) @@ -141,7 +141,7 @@ attacker, ) to_chat(attacker, span_danger("You kick [defender] back!")) - playsound(attacker, 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) + playsound(attacker, 'sound/items/weapons/cqchit1.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(defender, attacker.dir) defender.throw_at(throw_target, 1, 14, attacker) defender.apply_damage(10, attacker.get_attack_type()) @@ -163,7 +163,7 @@ ) to_chat(attacker, span_danger("You punch [defender]'s neck!")) defender.adjustStaminaLoss(60) - playsound(attacker, 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) + playsound(attacker, 'sound/items/weapons/cqchit1.ogg', 50, TRUE, -1) return TRUE /datum/martial_art/cqc/proc/Restrain(mob/living/attacker, mob/living/defender) @@ -201,7 +201,7 @@ attacker, ) to_chat(attacker, span_danger("You strike [defender]'s abdomen, neck and back consecutively!")) - playsound(defender, 'sound/weapons/cqchit2.ogg', 50, TRUE, -1) + playsound(defender, 'sound/items/weapons/cqchit2.ogg', 50, TRUE, -1) var/obj/item/held_item = defender.get_active_held_item() if(held_item && defender.temporarilyRemoveItemFromInventory(held_item)) attacker.put_in_hands(held_item) @@ -291,7 +291,7 @@ picked_hit_type = pick("kick", "stomp") defender.apply_damage(bonus_damage, BRUTE) - playsound(defender, (picked_hit_type == "kick" || picked_hit_type == "stomp") ? 'sound/weapons/cqchit2.ogg' : 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) + playsound(defender, (picked_hit_type == "kick" || picked_hit_type == "stomp") ? 'sound/items/weapons/cqchit2.ogg' : 'sound/items/weapons/cqchit1.ogg', 50, TRUE, -1) defender.visible_message( span_danger("[attacker] [picked_hit_type]ed [defender]!"), @@ -344,7 +344,7 @@ attacker, ) to_chat(attacker, span_danger("You strike [defender]'s jaw,[disarmed_item ? " disarming [defender.p_them()] of [disarmed_item] and" : ""] leaving [defender.p_them()] disoriented!")) - playsound(defender, 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) + playsound(defender, 'sound/items/weapons/cqchit1.ogg', 50, TRUE, -1) defender.set_jitter_if_lower(4 SECONDS) defender.apply_damage(5, attacker.get_attack_type()) log_combat(attacker, defender, "disarmed (CQC)", addition = disarmed_item ? "(disarmed of [disarmed_item])" : null) @@ -358,7 +358,7 @@ attacker, ) to_chat(attacker, span_warning("You fail to disarm [defender]!")) - playsound(defender, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) + playsound(defender, 'sound/items/weapons/punchmiss.ogg', 25, TRUE, -1) log_combat(attacker, defender, "failed to disarm (CQC)") return MARTIAL_ATTACK_FAIL diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 57e158cf66982..d670b8eb63806 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -201,7 +201,7 @@ attacker, ) to_chat(attacker, span_danger("You disarm [defender]!")) - playsound(defender, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + playsound(defender, 'sound/items/weapons/thudswoosh.ogg', 50, TRUE, -1) log_combat(attacker, defender, "disarmed (Krav Maga)", addition = "(disarmed of [stuff_in_hand])") return MARTIAL_ATTACK_INVALID // normal shove diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index 47df74a3d4634..89981554f3ea3 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -41,7 +41,7 @@ /datum/martial_art/plasma_fist/proc/Tornado(mob/living/attacker, mob/living/defender) attacker.say("TORNADO SWEEP!", forced="plasma fist") - dance_rotate(attacker, CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), attacker, 'sound/weapons/punch1.ogg', 15, TRUE, -1)) + dance_rotate(attacker, CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), attacker, 'sound/items/weapons/punch1.ogg', 15, TRUE, -1)) tornado_spell.cast(attacker) log_combat(attacker, defender, "tornado sweeped (Plasma Fist)") return TRUE @@ -55,7 +55,7 @@ attacker, ) to_chat(attacker, span_danger("You hit [defender] with Plasma Punch!")) - playsound(defender, 'sound/weapons/punch1.ogg', 50, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(defender, get_dir(defender, get_step_away(defender, attacker))) defender.throw_at(throw_target, 200, 4,attacker) attacker.say("HYAH!", forced="plasma fist") @@ -66,7 +66,7 @@ var/hasclient = !!defender.client attacker.do_attack_animation(defender, ATTACK_EFFECT_PUNCH) - playsound(defender, 'sound/weapons/punch1.ogg', 50, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 50, TRUE, -1) attacker.say("PLASMA FIST!", forced="plasma fist") defender.visible_message( span_danger("[attacker] hits [defender] with THE PLASMA FIST TECHNIQUE!"), @@ -125,7 +125,7 @@ user.apply_damage(rand(50, 70), BRUTE, wound_bonus = CANT_WOUND) addtimer(CALLBACK(src, PROC_REF(Apotheosis_end), user), 6 SECONDS) - playsound(boomspot, 'sound/weapons/punch1.ogg', 50, TRUE, -1) + playsound(boomspot, 'sound/items/weapons/punch1.ogg', 50, TRUE, -1) explosion(user, devastation_range = plasma_power, heavy_impact_range = plasma_power*2, light_impact_range = plasma_power*4, ignorecap = TRUE, explosion_cause = src) plasma_power = 1 //just in case there is any clever way to cause it to happen again return TRUE diff --git a/code/datums/martial/psychotic_brawl.dm b/code/datums/martial/psychotic_brawl.dm index 454d23637f255..99c2b0e222464 100644 --- a/code/datums/martial/psychotic_brawl.dm +++ b/code/datums/martial/psychotic_brawl.dm @@ -67,7 +67,7 @@ attacker, ) to_chat(attacker, span_danger("You [atk_verb] [defender]!")) - playsound(defender, 'sound/weapons/punch1.ogg', 40, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 40, TRUE, -1) defender.apply_damage(defender_damage, attacker.get_attack_type(), BODY_ZONE_HEAD) attacker.apply_damage(rand(5, 10), attacker.get_attack_type(), BODY_ZONE_HEAD) if(iscarbon(defender)) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 02d0452fad265..f52050d8d76d7 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -53,7 +53,7 @@ attacker, ) to_chat(attacker, span_danger("You [atk_verb] [defender]!")) - playsound(defender, 'sound/weapons/punch1.ogg', 25, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 25, TRUE, -1) log_combat(attacker, defender, "strong punched (Sleeping Carp)") defender.apply_damage(20, attacker.get_attack_type(), affecting) return TRUE @@ -106,7 +106,7 @@ var/grab_log_description = "grabbed" attacker.do_attack_animation(defender, ATTACK_EFFECT_PUNCH) - playsound(defender, 'sound/weapons/punch1.ogg', 25, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 25, TRUE, -1) if(defender.stat != DEAD && !defender.IsUnconscious() && defender.getStaminaLoss() >= 80) //We put our target to sleep. defender.visible_message( span_danger("[attacker] carefully pinch a nerve in [defender]'s neck, knocking them out cold!"), @@ -161,7 +161,7 @@ ) to_chat(attacker, span_danger("You [atk_verb] [defender]!")) defender.apply_damage(final_damage, attacker.get_attack_type(), affecting, wound_bonus = CANT_WOUND) - playsound(defender, 'sound/weapons/punch1.ogg', 25, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 25, TRUE, -1) log_combat(attacker, defender, "punched (Sleeping Carp)") return MARTIAL_ATTACK_SUCCESS @@ -176,7 +176,7 @@ return MARTIAL_ATTACK_SUCCESS attacker.do_attack_animation(defender, ATTACK_EFFECT_PUNCH) - playsound(defender, 'sound/weapons/punch1.ogg', 25, TRUE, -1) + playsound(defender, 'sound/items/weapons/punch1.ogg', 25, TRUE, -1) defender.apply_damage(20, STAMINA) log_combat(attacker, defender, "disarmed (Sleeping Carp)") return MARTIAL_ATTACK_INVALID // normal disarm @@ -204,7 +204,7 @@ span_danger("[carp_user] effortlessly swats [hitting_projectile] aside! [carp_user.p_They()] can block bullets with [carp_user.p_their()] bare hands!"), span_userdanger("You deflect [hitting_projectile]!"), ) - playsound(carp_user, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) + playsound(carp_user, pick('sound/items/weapons/bulletflyby.ogg', 'sound/items/weapons/bulletflyby2.ogg', 'sound/items/weapons/bulletflyby3.ogg'), 75, TRUE) hitting_projectile.firer = carp_user hitting_projectile.set_angle(rand(0, 360))//SHING return COMPONENT_BULLET_PIERCED diff --git a/code/datums/memory/general_memories.dm b/code/datums/memory/general_memories.dm index b8c44c6fca862..eca745d3283a6 100644 --- a/code/datums/memory/general_memories.dm +++ b/code/datums/memory/general_memories.dm @@ -162,6 +162,28 @@ "[protagonist_name] [mood_verb] as they lick off some of the pie", ) +/// Witnessed someone get splashed with squid ink. +/datum/memory/witnessed_inking + story_value = STORY_VALUE_OKAY + memory_flags = MEMORY_CHECK_BLINDNESS + // Protagonist - The mob that got pied + +/datum/memory/witnessed_inking/get_names() + return list("The inking of [protagonist_name].") + +/datum/memory/witnessed_inking/get_starts() + return list( + "[protagonist_name]'s face being covered in squid ink", + "[protagonist_name] getting squid-inked", + ) + +/datum/memory/witnessed_inking/get_moods() + return list( + "[protagonist_name] [mood_verb] as ink drips off their face", + "[protagonist_name] [mood_verb] because of their now expanded laundry task.", + "[protagonist_name] [mood_verb] as they wipe the ink off their face.", + ) + /// Got slipped by something. /datum/memory/was_slipped story_value = STORY_VALUE_MEH diff --git a/code/datums/memory/tattoo_kit.dm b/code/datums/memory/tattoo_kit.dm index 98d47eaa285d8..62b4d73be28ba 100644 --- a/code/datums/memory/tattoo_kit.dm +++ b/code/datums/memory/tattoo_kit.dm @@ -46,11 +46,11 @@ if(!tattoo_target) balloon_alert(tattoo_artist, "no limb to tattoo!") return - if(HAS_TRAIT_FROM(tattoo_target, TRAIT_NOT_ENGRAVABLE, INNATE_TRAIT)) - balloon_alert(tattoo_artist, "bodypart cannot be engraved!") + if(HAS_TRAIT_FROM(tattoo_target, TRAIT_NOT_ENGRAVABLE, ENGRAVED_TRAIT)) + balloon_alert(tattoo_artist, "bodypart already tattooed!") return - if(HAS_TRAIT_FROM(tattoo_target, TRAIT_NOT_ENGRAVABLE, TRAIT_GENERIC)) - balloon_alert(tattoo_artist, "bodypart has already been engraved!") + if(HAS_TRAIT(tattoo_target, TRAIT_NOT_ENGRAVABLE)) + balloon_alert(tattoo_artist, "bodypart cannot be tattooed!") return var/datum/memory/memory_to_tattoo = tattoo_artist.mind.select_memory("tattoo") if(!memory_to_tattoo || !tattoo_artist.Adjacent(tattoo_holder) || !tattoo_holder.get_bodypart(selected_zone)) diff --git a/code/datums/mind/_mind.dm b/code/datums/mind/_mind.dm index 36e9d7ba6d024..397a1c5b13afa 100644 --- a/code/datums/mind/_mind.dm +++ b/code/datums/mind/_mind.dm @@ -106,7 +106,7 @@ /datum/mind/New(_key) key = _key init_known_skills() - set_assigned_role(SSjob.GetJobType(/datum/job/unassigned)) // Unassigned by default. + set_assigned_role(SSjob.get_job_type(/datum/job/unassigned)) // Unassigned by default. /datum/mind/Destroy() SSticker.minds -= src @@ -251,7 +251,7 @@ var/new_role = input("Select new role", "Assigned role", assigned_role.title) as null|anything in sort_list(SSjob.name_occupations) if(isnull(new_role)) return - var/datum/job/new_job = SSjob.GetJob(new_role) + var/datum/job/new_job = SSjob.get_job(new_role) if (!new_job) to_chat(usr, span_warning("Job not found.")) return diff --git a/code/datums/mind/antag.dm b/code/datums/mind/antag.dm index 11340ae56a6b4..ca10f3afe2071 100644 --- a/code/datums/mind/antag.dm +++ b/code/datums/mind/antag.dm @@ -286,7 +286,7 @@ /datum/mind/proc/make_wizard() if(has_antag_datum(/datum/antagonist/wizard)) return - set_assigned_role(SSjob.GetJobType(/datum/job/space_wizard)) + set_assigned_role(SSjob.get_job_type(/datum/job/space_wizard)) special_role = ROLE_WIZARD add_antag_datum(/datum/antagonist/wizard) diff --git a/code/datums/mind/initialization.dm b/code/datums/mind/initialization.dm index eb622cc5af549..e3b3e8225dc7a 100644 --- a/code/datums/mind/initialization.dm +++ b/code/datums/mind/initialization.dm @@ -21,17 +21,17 @@ //AI /mob/living/silicon/ai/mind_initialize() . = ..() - mind.set_assigned_role(SSjob.GetJobType(/datum/job/ai)) + mind.set_assigned_role(SSjob.get_job_type(/datum/job/ai)) //BORG /mob/living/silicon/robot/mind_initialize() . = ..() - mind.set_assigned_role(SSjob.GetJobType(/datum/job/cyborg)) + mind.set_assigned_role(SSjob.get_job_type(/datum/job/cyborg)) //PAI /mob/living/silicon/pai/mind_initialize() . = ..() - mind.set_assigned_role(SSjob.GetJobType(/datum/job/personal_ai)) + mind.set_assigned_role(SSjob.get_job_type(/datum/job/personal_ai)) mind.special_role = "" diff --git a/code/datums/mood.dm b/code/datums/mood.dm index 3834ea866b8da..cffd955635817 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -406,7 +406,7 @@ clear_mood_event(MOOD_CATEGORY_AREA_BEAUTY) return - if(HAS_TRAIT(mob_parent, TRAIT_MORBID)) + if(HAS_MIND_TRAIT(mob_parent, TRAIT_MORBID)) if(HAS_TRAIT(mob_parent, TRAIT_SNOB)) switch(area_to_beautify.beauty) if(BEAUTY_LEVEL_DECENT to BEAUTY_LEVEL_GOOD) diff --git a/code/datums/mood_events/food_events.dm b/code/datums/mood_events/food_events.dm index 7d33e7e57ce06..e64d975902ea7 100644 --- a/code/datums/mood_events/food_events.dm +++ b/code/datums/mood_events/food_events.dm @@ -49,3 +49,8 @@ /datum/mood_event/food/top quality = FOOD_QUALITY_TOP + +/datum/mood_event/pacifist_eating_fish_item + description = "I shouldn't be eating living creatures..." + mood_change = -1 //The disgusting food moodlet already has a pretty big negative value, this is just for context. + timeout = 4 MINUTES diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 6ad0580e5557c..695bf43949653 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -33,6 +33,11 @@ mood_change = -2 timeout = 3 MINUTES +/datum/mood_event/inked + description = "I've been splashed with squid ink. Tastes like salt." + mood_change = -3 + timeout = 3 MINUTES + /datum/mood_event/slipped description = "I slipped. I should be more careful next time..." mood_change = -2 @@ -485,3 +490,14 @@ description = "I DIDN'T MEAN TO HURT THEM!" mood_change = -20 timeout = 10 MINUTES + +//Gained when you're hit over the head with wrapping paper or cardboard roll +/datum/mood_event/bapped + description = "Ow.. my head, I feel a bit foolish now!" + mood_change = -1 + timeout = 3 MINUTES + +/datum/mood_event/bapped/add_effects() + // Felinids apparently hate being hit over the head with cardboard + if(isfelinid(owner)) + mood_change = -2 diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 54b276fa71a3d..cdd28c1855ee8 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -333,9 +333,34 @@ /datum/mood_event/fishing description = "Fishing is relaxing." - mood_change = 5 + mood_change = 4 timeout = 3 MINUTES +/datum/mood_event/fish_released + description = "Go, fish, swim and be free!" + mood_change = 1 + timeout = 2 MINUTES + +/datum/mood_event/fish_released/add_effects(morbid, obj/item/fish/fish) + if(!morbid) + description = "Go, [fish.name], swim and be free!" + return + if(fish.status == FISH_DEAD) + description = "Some scavenger will surely find a use for the remains of [fish.name]. How pragmatic." + else + description = "Returned to the burden of the deep. But is this truly a mercy, [fish.name]? There will always be bigger fish..." + +/datum/mood_event/fish_petting + description = "It felt nice to pet the fish." + mood_change = 2 + timeout = 2 MINUTES + +/datum/mood_event/fish_petting/add_effects(obj/item/fish/fish, morbid) + if(!morbid) + description = "It felt nice to pet \the [fish]." + else + description = "I caress \the [fish] as [fish.p_they()] squirms under my touch, blissfully unaware of how cruel this world is." + /datum/mood_event/kobun description = "You are all loved by the Universe. I’m not alone, and you aren’t either." mood_change = 14 diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index c86f7d7003334..e09a8337b72a4 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -474,7 +474,7 @@ if(prob(15)) owner.acid_act(rand(30, 50), 10) owner.visible_message(span_warning("[owner]'s skin bubbles and pops."), span_userdanger("Your bubbling flesh pops! It burns!")) - playsound(owner,'sound/weapons/sear.ogg', 50, TRUE) + playsound(owner,'sound/items/weapons/sear.ogg', 50, TRUE) /datum/mutation/human/spastic name = "Spastic" diff --git a/code/datums/mutations/fire_breath.dm b/code/datums/mutations/fire_breath.dm index 56915ff0130ea..d643bd98508d2 100644 --- a/code/datums/mutations/fire_breath.dm +++ b/code/datums/mutations/fire_breath.dm @@ -29,7 +29,7 @@ name = "Fire Breath" desc = "You breathe a cone of fire directly in front of you." button_icon_state = "fireball0" - sound = 'sound/magic/demon_dies.ogg' //horrifying lizard noises + sound = 'sound/effects/magic/demon_dies.ogg' //horrifying lizard noises school = SCHOOL_EVOCATION cooldown_time = 40 SECONDS diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index 38ecb0fa07356..4eb04cdc03366 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -207,7 +207,7 @@ continue yeeted_person.adjustBruteLoss(step*0.5) - playsound(collateral_mob,'sound/weapons/punch1.ogg',50,TRUE) + playsound(collateral_mob,'sound/items/weapons/punch1.ogg',50,TRUE) log_combat(the_hulk, collateral_mob, "has smacked with tail swing victim") log_combat(the_hulk, yeeted_person, "has smacked this person into someone while tail swinging") // i have no idea how to better word this diff --git a/code/datums/mutations/sight.dm b/code/datums/mutations/sight.dm index 5a8d7458f3d0f..d3627167cb507 100644 --- a/code/datums/mutations/sight.dm +++ b/code/datums/mutations/sight.dm @@ -167,13 +167,13 @@ return to_chat(source, span_warning("You shoot with your laser eyes!")) source.changeNext_move(CLICK_CD_RANGE) - source.newtonian_move(get_dir(target, source)) + source.newtonian_move(get_angle(source, target)) var/obj/projectile/beam/laser/laser_eyes/LE = new(source.loc) LE.firer = source LE.def_zone = ran_zone(source.zone_selected) LE.preparePixelProjectile(target, source, modifiers) INVOKE_ASYNC(LE, TYPE_PROC_REF(/obj/projectile, fire)) - playsound(source, 'sound/weapons/taser2.ogg', 75, TRUE) + playsound(source, 'sound/items/weapons/taser2.ogg', 75, TRUE) ///Projectile type used by laser eyes /obj/projectile/beam/laser/laser_eyes diff --git a/code/datums/mutations/touch.dm b/code/datums/mutations/touch.dm index 2483ef2e0fa1a..634a46ab217ba 100644 --- a/code/datums/mutations/touch.dm +++ b/code/datums/mutations/touch.dm @@ -28,7 +28,7 @@ name = "Shock Touch" desc = "Channel electricity to your hand to shock people with." button_icon_state = "zap" - sound = 'sound/weapons/zapbang.ogg' + sound = 'sound/items/weapons/zapbang.ogg' cooldown_time = 12 SECONDS invocation_type = INVOCATION_NONE spell_requirements = NONE @@ -117,7 +117,7 @@ desc = "You can now lay your hands on other people to transfer a small amount of their physical injuries to yourself." button_icon = 'icons/mob/actions/actions_genetic.dmi' button_icon_state = "mending_touch" - sound = 'sound/magic/staff_healing.ogg' + sound = 'sound/effects/magic/staff_healing.ogg' cooldown_time = 12 SECONDS school = SCHOOL_RESTORATION invocation_type = INVOCATION_NONE diff --git a/code/datums/position_point_vector.dm b/code/datums/position_point_vector.dm index c963d0ad76025..b8b697c053bca 100644 --- a/code/datums/position_point_vector.dm +++ b/code/datums/position_point_vector.dm @@ -91,9 +91,9 @@ /datum/point/proc/initialize_location(tile_x, tile_y, tile_z, p_x = 0, p_y = 0) if(!isnull(tile_x)) - x = ((tile_x - 1) * world.icon_size) + world.icon_size * 0.5 + p_x + 1 + x = ((tile_x - 1) * ICON_SIZE_X) + ICON_SIZE_X * 0.5 + p_x + 1 if(!isnull(tile_y)) - y = ((tile_y - 1) * world.icon_size) + world.icon_size * 0.5 + p_y + 1 + y = ((tile_y - 1) * ICON_SIZE_Y) + ICON_SIZE_Y * 0.5 + p_y + 1 if(!isnull(tile_z)) z = tile_z @@ -107,23 +107,23 @@ AM.pixel_y = return_py() /datum/point/proc/return_turf() - return locate(CEILING(x / world.icon_size, 1), CEILING(y / world.icon_size, 1), z) + return locate(CEILING(x / ICON_SIZE_X, 1), CEILING(y / ICON_SIZE_Y, 1), z) /datum/point/proc/return_coordinates() //[turf_x, turf_y, z] - return list(CEILING(x / world.icon_size, 1), CEILING(y / world.icon_size, 1), z) + return list(CEILING(x / ICON_SIZE_X, 1), CEILING(y / ICON_SIZE_Y, 1), z) /datum/point/proc/return_position() return new /datum/position(src) /datum/point/proc/return_px() - return MODULUS(x, world.icon_size) - 16 - 1 + return MODULUS(x, ICON_SIZE_X) - (ICON_SIZE_X/2) - 1 /datum/point/proc/return_py() - return MODULUS(y, world.icon_size) - 16 - 1 + return MODULUS(y, ICON_SIZE_Y) - (ICON_SIZE_Y/2) - 1 /datum/point/vector /// Pixels per iteration - var/speed = 32 + var/speed = ICON_SIZE_ALL var/iteration = 0 var/angle = 0 /// Calculated x movement amounts to prevent having to do trig every step. @@ -149,9 +149,9 @@ /// Same effect as initiliaze_location, but without setting the starting_x/y/z /datum/point/vector/proc/set_location(tile_x, tile_y, tile_z, p_x = 0, p_y = 0) if(!isnull(tile_x)) - x = ((tile_x - 1) * world.icon_size) + world.icon_size * 0.5 + p_x + 1 + x = ((tile_x - 1) * ICON_SIZE_X) + ICON_SIZE_X * 0.5 + p_x + 1 if(!isnull(tile_y)) - y = ((tile_y - 1) * world.icon_size) + world.icon_size * 0.5 + p_y + 1 + y = ((tile_y - 1) * ICON_SIZE_Y) + ICON_SIZE_Y * 0.5 + p_y + 1 if(!isnull(tile_z)) z = tile_z diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index b560a67aa6c90..676cf455bfc51 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -69,8 +69,8 @@ continue progress_bar.listindex-- - progress_bar.bar.pixel_y = world.icon_size + offset_y + (PROGRESSBAR_HEIGHT * (progress_bar.listindex - 1)) - var/dist_to_travel = world.icon_size + offset_y + (PROGRESSBAR_HEIGHT * (progress_bar.listindex - 1)) - PROGRESSBAR_HEIGHT + progress_bar.bar.pixel_y = 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) LAZYREMOVEASSOC(user.progressbars, bar_loc, src) @@ -123,7 +123,7 @@ bar.pixel_y = 0 bar.alpha = 0 user_client.images += bar - animate(bar, pixel_y = world.icon_size + offset_y + (PROGRESSBAR_HEIGHT * (listindex - 1)), alpha = 255, time = PROGRESSBAR_ANIMATION_TIME, easing = SINE_EASING) + animate(bar, pixel_y = 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/field.dm b/code/datums/proximity_monitor/field.dm index e3f0ade5e7dba..3ba3017bed0a5 100644 --- a/code/datums/proximity_monitor/field.dm +++ b/code/datums/proximity_monitor/field.dm @@ -40,7 +40,7 @@ var/list/old_edge_turfs = edge_turfs field_turfs = new_turfs[FIELD_TURFS_KEY] edge_turfs = new_turfs[EDGE_TURFS_KEY] - if(!full_recalc) + if(full_recalc) field_turfs = list() edge_turfs = list() @@ -62,12 +62,11 @@ for(var/turf/new_turf as anything in field_turfs - old_field_turfs) if(QDELETED(src)) return - field_turfs += new_turf setup_field_turf(new_turf) + for(var/turf/new_turf as anything in edge_turfs - old_edge_turfs) if(QDELETED(src)) return - edge_turfs += new_turf setup_edge_turf(new_turf) /datum/proximity_monitor/advanced/on_initialized(turf/location, atom/created, init_flags) diff --git a/code/datums/proximity_monitor/fields/timestop.dm b/code/datums/proximity_monitor/fields/timestop.dm index 79996dee2dd36..3b8001426a03c 100644 --- a/code/datums/proximity_monitor/fields/timestop.dm +++ b/code/datums/proximity_monitor/fields/timestop.dm @@ -45,13 +45,13 @@ /obj/effect/timestop/Destroy() QDEL_NULL(chronofield) if(!hidden) - playsound(src, 'sound/magic/timeparadox2.ogg', 75, TRUE, frequency = -1) //reverse! + playsound(src, 'sound/effects/magic/timeparadox2.ogg', 75, TRUE, frequency = -1) //reverse! return ..() /obj/effect/timestop/proc/timestop() target = get_turf(src) if(!hidden) - playsound(src, 'sound/magic/timeparadox2.ogg', 75, TRUE, -1) + playsound(src, 'sound/effects/magic/timeparadox2.ogg', 75, TRUE, -1) chronofield = new (src, freezerange, TRUE, immune, antimagic_flags, channelled) if(!channelled) QDEL_IN(src, duration) diff --git a/code/datums/proximity_monitor/fields/void_storm.dm b/code/datums/proximity_monitor/fields/void_storm.dm new file mode 100644 index 0000000000000..c9e3bbbbcff91 --- /dev/null +++ b/code/datums/proximity_monitor/fields/void_storm.dm @@ -0,0 +1,37 @@ +/*! + * Void storm for the void heretic ascension + * + * Follows the heretic around and acts like an aura with damaging effects for non-heretics + */ +/datum/proximity_monitor/advanced/void_storm + edge_is_a_field = TRUE + // lazylist that keeps track of the overlays added + var/list/turf_effects + var/static/image/storm_overlay = image('icons/effects/weather_effects.dmi', "snow_storm") + +/datum/proximity_monitor/advanced/void_storm/New(atom/_host, range, _ignore_if_not_on_turf) + . = ..() + recalculate_field(full_recalc = TRUE) + +/datum/proximity_monitor/advanced/void_storm/recalculate_field(full_recalc) + full_recalc = TRUE // We always perform a full recalc because we need to update ALL the sprites + return ..() + +/datum/proximity_monitor/advanced/void_storm/cleanup_field_turf(turf/target) + . = ..() + var/obj/effect/abstract/effect = LAZYACCESS(turf_effects, target) + LAZYREMOVE(turf_effects, target) + if(effect) + qdel(effect) + +/datum/proximity_monitor/advanced/void_storm/setup_field_turf(turf/target) + . = ..() + var/obj/effect/abstract/effect = new(target) // Makes the field visible to players. + effect.alpha = 255 - get_dist(target, host.loc) * 23 + effect.color = COLOR_BLACK + effect.icon = storm_overlay.icon + effect.icon_state = storm_overlay.icon_state + effect.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + effect.layer = ABOVE_ALL_MOB_LAYER + SET_PLANE(effect, ABOVE_GAME_PLANE, target) + LAZYSET(turf_effects, target, effect) diff --git a/code/datums/quirks/negative_quirks/prosopagnosia.dm b/code/datums/quirks/negative_quirks/prosopagnosia.dm index 8634e13bf638c..9b41713e6cef9 100644 --- a/code/datums/quirks/negative_quirks/prosopagnosia.dm +++ b/code/datums/quirks/negative_quirks/prosopagnosia.dm @@ -7,3 +7,19 @@ 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)) + quirk_holder.mob_flags |= MOB_HAS_SCREENTIPS_NAME_OVERRIDE + +/datum/quirk/prosopagnosia/remove() + UnregisterSignal(quirk_holder, COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER) + +/datum/quirk/prosopagnosia/proc/screentip_name_override(datum/source, list/returned_name, obj/item/held_item, atom/hovered) + SIGNAL_HANDLER + + if(!ishuman(hovered)) + return NONE + + returned_name[1] = "Unknown" + return SCREENTIP_NAME_SET diff --git a/code/datums/quirks/negative_quirks/prosthetic_organ.dm b/code/datums/quirks/negative_quirks/prosthetic_organ.dm index cd7ca2a801481..4a377699b40ac 100644 --- a/code/datums/quirks/negative_quirks/prosthetic_organ.dm +++ b/code/datums/quirks/negative_quirks/prosthetic_organ.dm @@ -60,9 +60,9 @@ medical_record_text = "During physical examination, patient was found to have a low-budget prosthetic [slot_string]. \ Removal of these organs is known to be dangerous to the patient as well as the practitioner." old_organ = human_holder.get_organ_slot(organ_slot) - if(prosthetic.Insert(human_holder, special = TRUE)) - old_organ.moveToNullspace() - STOP_PROCESSING(SSobj, old_organ) + prosthetic.Insert(human_holder, special = TRUE) + old_organ.moveToNullspace() + STOP_PROCESSING(SSobj, old_organ) /datum/quirk/prosthetic_organ/post_add() to_chat(quirk_holder, span_boldannounce("Your [slot_string] has been replaced with a surplus organ. It is weak and highly unstable. \ diff --git a/code/datums/quirks/neutral_quirks/monochromatic.dm b/code/datums/quirks/neutral_quirks/monochromatic.dm index dd66220cb56a9..ef6735df25d93 100644 --- a/code/datums/quirks/neutral_quirks/monochromatic.dm +++ b/code/datums/quirks/neutral_quirks/monochromatic.dm @@ -17,7 +17,7 @@ /datum/quirk/monochromatic/post_add() if(is_detective_job(quirk_holder.mind.assigned_role)) to_chat(quirk_holder, span_boldannounce("Mmm. Nothing's ever clear on this station. It's all shades of gray...")) - quirk_holder.playsound_local(quirk_holder, 'sound/ambience/ambidet1.ogg', 50, FALSE) + 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) diff --git a/code/datums/quirks/neutral_quirks/vegetarian.dm b/code/datums/quirks/neutral_quirks/vegetarian.dm index 0ade72acafe57..0568e2f1e2293 100644 --- a/code/datums/quirks/neutral_quirks/vegetarian.dm +++ b/code/datums/quirks/neutral_quirks/vegetarian.dm @@ -7,17 +7,4 @@ lose_text = span_notice("You feel like eating meat isn't that bad.") medical_record_text = "Patient reports a vegetarian diet." mail_goodies = list(/obj/effect/spawner/random/food_or_drink/salad) - -/datum/quirk/vegetarian/add(client/client_source) - var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) - if(!tongue) - return - tongue.liked_foodtypes &= ~MEAT - tongue.disliked_foodtypes |= MEAT - -/datum/quirk/vegetarian/remove() - var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) - if(!tongue) - return - tongue.liked_foodtypes = initial(tongue.liked_foodtypes) - tongue.disliked_foodtypes = initial(tongue.disliked_foodtypes) + mob_trait = TRAIT_VEGETARIAN diff --git a/code/datums/quirks/positive_quirks/spacer.dm b/code/datums/quirks/positive_quirks/spacer.dm index 051798b4c06a6..344462703e906 100644 --- a/code/datums/quirks/positive_quirks/spacer.dm +++ b/code/datums/quirks/positive_quirks/spacer.dm @@ -43,7 +43,7 @@ check_z(quirk_holder, skip_timers = TRUE) // drift slightly faster through zero G - quirk_holder.inertia_move_delay *= 0.8 + quirk_holder.inertia_move_multiplier *= 0.8 var/mob/living/carbon/human/human_quirker = quirk_holder human_quirker.set_mob_height(modded_height) @@ -73,7 +73,7 @@ if(QDELING(quirk_holder)) return - quirk_holder.inertia_move_delay /= 0.8 + quirk_holder.inertia_move_multiplier /= 0.8 quirk_holder.clear_mood_event("spacer") quirk_holder.remove_movespeed_modifier(/datum/movespeed_modifier/spacer) quirk_holder.remove_status_effect(/datum/status_effect/spacer) diff --git a/code/datums/records/manifest.dm b/code/datums/records/manifest.dm index fc2bb30ce8d32..afc5cef6aa4ec 100644 --- a/code/datums/records/manifest.dm +++ b/code/datums/records/manifest.dm @@ -31,7 +31,7 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new) var/name = target.name var/rank = target.rank // user-visible job var/trim = target.trim // internal jobs by trim type - var/datum/job/job = SSjob.GetJob(trim) + var/datum/job/job = SSjob.get_job(trim) if(!job || !(job.job_flags & JOB_CREW_MANIFEST) || !LAZYLEN(job.departments_list)) // In case an unlawful custom rank is added. var/list/misc_list = manifest_out[DEPARTMENT_UNASSIGNED] misc_list[++misc_list.len] = list( diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index 2445b4da242e6..d6317b12ab15c 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -64,7 +64,7 @@ /datum/map_template/ruin/icemoon/frozen_phonebooth name = "Ice-Ruin Frozen Phonebooth" id = "frozen_phonebooth" - description = "A venture by nanotrasen to help popularize the use of holopads. This one was sent to a icemoon." + description = "A venture by Nanotrasen to help popularize the use of holopads. This one was sent to a icemoon." suffix = "icemoon_surface_phonebooth.dmm" /datum/map_template/ruin/icemoon/smoking_room @@ -172,6 +172,12 @@ description = "Radio signals are being detected and the source is this completely innocent pile of snow." suffix = "icemoon_underground_comms_agent.dmm" +/datum/map_template/ruin/icemoon/underground/syndie_lab + name = "Ice-Ruin Syndicate Lab" + id = "syndie_lab" + description = "A small laboratory and living space for Syndicate agents." + suffix = "icemoon_underground_syndielab.dmm" + //TODO: Bottom-Level ONLY Spawns after Refactoring Related Code /datum/map_template/ruin/icemoon/underground/plasma_facility name = "Ice-Ruin Abandoned Plasma Facility" diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index bb5f58500e2d1..fb2d1d44c0c08 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -278,7 +278,7 @@ /datum/map_template/ruin/lavaland/lava_phonebooth name = "Lava-Ruin Phonebooth" id = "lava_phonebooth" - description = "A venture by nanotrasen to help popularize the use of holopads. This one somehow made its way here." + description = "A venture by Nanotrasen to help popularize the use of holopads. This one somehow made its way here." suffix = "lavaland_surface_phonebooth.dmm" allow_duplicates = FALSE cost = 5 diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index e3ff61fad6c25..790ae33ade4b1 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -49,7 +49,7 @@ id = "asteroid6" suffix = "asteroid6.dmm" name = "Space-Ruin Asteroid 6" - description = "This asteroid has brittle bone disease, so it is fortunate asteroids dont have bones." + description = "This asteroid has brittle bone disease, so it is fortunate asteroids don't have bones." /datum/map_template/ruin/space/deep_storage id = "deep-storage" @@ -70,7 +70,7 @@ suffix = "derelict_construction.dmm" name = "Space-Ruin Derelict Construction" description = "Construction supplies are in high demand due to non-trivial damage routinely sustained by most space stations in this sector. \ - Space pirates who dont attempt to rob corporate research stations with only 3 collaborators live long enough to sell captured construction \ + Space pirates who don't attempt to rob corporate research stations with only 3 collaborators live long enough to sell captured construction \ equipment back to the highest bidder." /datum/map_template/ruin/space/derelict_sulaco @@ -181,7 +181,7 @@ id = "spacehotel" suffix = "spacehotel.dmm" name = "Space-Ruin The Twin-Nexus Hotel" - description = "An interstellar hotel, where the weary spaceman can rest their head and relax, assured that the residental staff will not murder them in their sleep. Probably." + description = "An interstellar hotel, where the weary spaceman can rest their head and relax, assured that the residential staff will not murder them in their sleep. Probably." /datum/map_template/ruin/space/turreted_outpost id = "turreted-outpost" @@ -470,7 +470,7 @@ id = "Space_phonebooth" suffix = "phonebooth.dmm" name = "Space-Ruin Phonebooth" - description = "A venture by nanotrasen to help popularize the use of holopads." + description = "A venture by Nanotrasen to help popularize the use of holopads." /datum/map_template/ruin/space/the_outlet id = "the_outlet" @@ -500,7 +500,7 @@ id = "garbagetruck3" suffix = "garbagetruck3.dmm" name = "Space-Ruin Decommissioned Garbage Truck NX3" - description = "An NX-760 interstellar transport barge. At the end of their life cycle, they are often filled with trash and launched into unexplored space to become someone else's problem. This one is full of industrial garbage, and a russian drug den." + description = "An NX-760 interstellar transport barge. At the end of their life cycle, they are often filled with trash and launched into unexplored space to become someone else's problem. This one is full of industrial garbage, and a Russian drug den." /datum/map_template/ruin/space/garbagetruck4 id = "garbagetruck4" diff --git a/code/datums/shuttles/_shuttle.dm b/code/datums/shuttles/_shuttle.dm index 0100a3d85da3d..94c20d41b7365 100644 --- a/code/datums/shuttles/_shuttle.dm +++ b/code/datums/shuttles/_shuttle.dm @@ -14,7 +14,7 @@ var/description /// The recommended occupancy limit for the shuttle (count chairs, beds, and benches then round to 5) var/occupancy_limit - /// Description of the prerequisition that has to be achieved for the shuttle to be purchased + /// Description of the prerequisite that has to be achieved for the shuttle to be purchased var/prerequisites /// Shuttle warnings and hazards to the admin who spawns the shuttle var/admin_notes @@ -40,7 +40,7 @@ . = ..() /datum/map_template/shuttle/preload_size(path, cache) - . = ..(path, TRUE) // Done this way because we still want to know if someone actualy wanted to cache the map + . = ..(path, TRUE) // Done this way because we still want to know if someone actually wanted to cache the map if(!cached_map) return diff --git a/code/datums/shuttles/emergency.dm b/code/datums/shuttles/emergency.dm index 42e3566ccfef1..3662727fa5c9a 100644 --- a/code/datums/shuttles/emergency.dm +++ b/code/datums/shuttles/emergency.dm @@ -31,13 +31,13 @@ mobile.event_list.Cut() if(use_all_events) for(var/path in events) - mobile.event_list.Add(new path(mobile)) + mobile.add_shuttle_event(path) events -= path else for(var/i in 1 to event_amount) var/path = pick_weight(events) events -= path - mobile.event_list.Add(new path(mobile)) + mobile.add_shuttle_event(path) /datum/map_template/shuttle/emergency/backup suffix = "backup" @@ -90,7 +90,7 @@ suffix = "bar" name = "The Emergency Escape Bar" description = "Features include sentient bar staff (a Bardrone and a Barmaid), bathroom, a quality lounge for the heads, and a large gathering table." - admin_notes = "Bardrone and Barmaid are GODMODE, will be automatically sentienced by the fun balloon at 60 seconds before arrival. \ + admin_notes = "Bardrone and Barmaid have TRAIT_GODMODE (basically invincibility), will be automatically sentienced by the fun balloon at 60 seconds before arrival. \ Has medical facilities." credit_cost = CARGO_CRATE_VALUE * 10 occupancy_limit = "30" @@ -164,7 +164,7 @@ /datum/map_template/shuttle/emergency/arena suffix = "arena" name = "The Arena" - description = "The crew must pass through an otherworldy arena to board this shuttle. Expect massive casualties." + description = "The crew must pass through an otherworldly arena to board this shuttle. Expect massive casualties." prerequisites = "The source of the Bloody Signal must be tracked down and eliminated to unlock this shuttle." admin_notes = "RIP AND TEAR." credit_cost = CARGO_CRATE_VALUE * 20 @@ -241,7 +241,7 @@ suffix = "kilo" name = "Kilo Station Emergency Shuttle" credit_cost = CARGO_CRATE_VALUE * 10 - description = "A fully functional shuttle including a complete infirmary, storage facilties and regular amenities." + description = "A fully functional shuttle including a complete infirmary, storage facilities and regular amenities." occupancy_limit = "55" /datum/map_template/shuttle/emergency/mini @@ -400,15 +400,15 @@ /datum/map_template/shuttle/emergency/monkey suffix = "nature" name = "Dynamic Environmental Interaction Shuttle" - description = "A large shuttle with a center biodome that is flourishing with life. Frolick with the monkeys! (Extra monkeys are stored on the bridge.)" - admin_notes = "Pretty freakin' large, almost as big as Raven or Cere. Excercise caution with it." + description = "A large shuttle with a center biodome that is flourishing with life. Frolic with the monkeys! (Extra monkeys are stored on the bridge.)" + admin_notes = "Pretty freakin' large, almost as big as Raven or Cere. Exercise caution with it." credit_cost = CARGO_CRATE_VALUE * 16 occupancy_limit = "45" /datum/map_template/shuttle/emergency/casino suffix = "casino" name = "Lucky Jackpot Casino Shuttle" - description = "A luxurious casino packed to the brim with everything you need to start new gambling addicitions!" + description = "A luxurious casino packed to the brim with everything you need to start new gambling addictions!" admin_notes = "The ship is a bit chunky, so watch where you park it." credit_cost = 7777 occupancy_limit = "85" @@ -424,7 +424,7 @@ /datum/map_template/shuttle/emergency/fish suffix = "fish" name = "Angler's Choice Emergency Shuttle" - description = "Trades such amenities as 'storage space' and 'sufficient seating' for an artifical environment ideal for fishing, plus ample supplies (also for fishing)." + description = "Trades such amenities as 'storage space' and 'sufficient seating' for an artificial environment ideal for fishing, plus ample supplies (also for fishing)." admin_notes = "There's a chasm in it, it has railings but that won't stop determined players." credit_cost = CARGO_CRATE_VALUE * 10 occupancy_limit = "35" diff --git a/code/datums/station_traits/_station_trait.dm b/code/datums/station_traits/_station_trait.dm index ef91a183d9f27..ddd8bc20a9110 100644 --- a/code/datums/station_traits/_station_trait.dm +++ b/code/datums/station_traits/_station_trait.dm @@ -33,10 +33,10 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) var/list/lobby_buttons = list() /// The ID that we look for in dynamic.json. Not synced with 'name' because I can already see this go wrong var/dynamic_threat_id - /// If ran during dynamic, do we reduce the total threat? Will be overriden by config if set + /// If ran during dynamic, do we reduce the total threat? Will be overridden by config if set var/threat_reduction = 0 - /// Which ruleset flags to allow dynamic to use. null to disregard - var/dynamic_category = null + /// Which ruleset flags to allow dynamic to use. NONE to disregard + var/dynamic_category = NONE /// Trait should not be instantiated in a round if its type matches this type var/abstract_type = /datum/station_trait @@ -51,15 +51,19 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) GLOB.dynamic_ruleset_categories = dynamic_category if(sign_up_button) GLOB.lobby_station_traits += src + if(SSstation.initialized) + SSstation.display_lobby_traits() if(trait_processes) START_PROCESSING(SSstation, src) if(trait_to_give) ADD_TRAIT(SSstation, trait_to_give, STATION_TRAIT) /datum/station_trait/Destroy() - SSstation.station_traits -= src - GLOB.dynamic_station_traits.Remove(src) destroy_lobby_buttons() + SSstation.station_traits -= src + GLOB.lobby_station_traits -= src + GLOB.dynamic_station_traits -= src + REMOVE_TRAIT(SSstation, trait_to_give, STATION_TRAIT) return ..() /// Returns the type of info the centcom report has on this trait, if any. @@ -125,13 +129,15 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) /// Remove all of our active lobby buttons /datum/station_trait/proc/destroy_lobby_buttons() for (var/atom/movable/screen/button as anything in lobby_buttons) - var/mob/hud_owner = button.get_mob() - qdel(button) + var/mob/dead/new_player/hud_owner = button.get_mob() if (QDELETED(hud_owner)) + qdel(button) + continue + var/datum/hud/new_player/using_hud = hud_owner.hud_used + if(!using_hud) + qdel(button) continue - var/datum/hud/using_hud = hud_owner.hud_used - using_hud?.show_hud(using_hud?.hud_version) - lobby_buttons = list() + using_hud.remove_station_trait_button(src) /// Called when overriding a pulsar star command report message. /datum/station_trait/proc/get_pulsar_message() diff --git a/code/datums/station_traits/job_traits.dm b/code/datums/station_traits/job_traits.dm index f2bd456aaee77..3e8171d99c57b 100644 --- a/code/datums/station_traits/job_traits.dm +++ b/code/datums/station_traits/job_traits.dm @@ -41,6 +41,10 @@ else LAZYADD(lobby_candidates, user) +/datum/station_trait/job/on_lobby_button_destroyed(atom/movable/screen/lobby/button/sign_up/lobby_button) + . = ..() + LAZYREMOVE(lobby_candidates, lobby_button.get_mob()) + /datum/station_trait/job/on_lobby_button_update_icon(atom/movable/screen/lobby/button/sign_up/lobby_button, updates) if (LAZYFIND(lobby_candidates, lobby_button.get_mob())) lobby_button.base_icon_state = "signup_on" @@ -61,7 +65,7 @@ if (isnull(signee) || !signee.client || !signee.mind || signee.ready != PLAYER_READY_TO_PLAY) LAZYREMOVE(lobby_candidates, signee) - var/datum/job/our_job = SSjob.GetJobType(job_to_add) + var/datum/job/our_job = SSjob.get_job_type(job_to_add) our_job.total_positions = position_amount our_job.spawn_positions = position_amount while(length(lobby_candidates) && position_amount > 0) @@ -73,14 +77,14 @@ lobby_candidates = null /datum/station_trait/job/can_display_lobby_button(client/player) - var/datum/job/our_job = SSjob.GetJobType(job_to_add) + var/datum/job/our_job = SSjob.get_job_type(job_to_add) return our_job.player_old_enough(player) && ..() /// Adds a gorilla to the cargo department, replacing the sloth and the mech /datum/station_trait/job/cargorilla name = "Cargo Gorilla" button_desc = "Sign up to become the Cargo Gorilla, a peaceful shepherd of boxes." - weight = 1 + weight = 0 show_in_report = FALSE // Selective attention test. Did you spot the gorilla? can_roll_antag = CAN_ROLL_NEVER job_to_add = /datum/job/cargo_gorilla @@ -243,6 +247,27 @@ qdel(thing_on_table) new /obj/machinery/fax/auto_name(picked_turf) +/datum/station_trait/job/pun_pun + name = "Pun Pun is a Crewmember" + button_desc = "Ook ook ah ah, sign up to play as the bartender's monkey." + weight = 0 //Unrollable by default, available all day during monkey day. + report_message = "We've evaluated the bartender's monkey to have the mental capacity of the average crewmember. As such, we made them one." + show_in_report = TRUE + can_roll_antag = CAN_ROLL_ALWAYS + job_to_add = /datum/job/pun_pun + +/datum/station_trait/job/pun_pun/New() + . = ..() + //Make sure we don't have two Pun Puns if loaded before the start of the round. + if(SSticker.HasRoundStarted() || !GLOB.the_one_and_only_punpun) + return + new /obj/effect/landmark/start/pun_pun(GLOB.the_one_and_only_punpun.loc) + qdel(GLOB.the_one_and_only_punpun) + +/datum/station_trait/job/pun_pun/on_lobby_button_update_overlays(atom/movable/screen/lobby/button/sign_up/lobby_button, list/overlays) + . = ..() + overlays += LAZYFIND(lobby_candidates, lobby_button.get_mob()) ? "pun_pun_on" : "pun_pun_off" + #undef CAN_ROLL_ALWAYS #undef CAN_ROLL_PROTECTED #undef CAN_ROLL_NEVER diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm index 83d1bfa14f4c9..8b5aadb3a06d6 100644 --- a/code/datums/station_traits/negative_traits.dm +++ b/code/datums/station_traits/negative_traits.dm @@ -26,7 +26,7 @@ report_message = "Due to an ongoing strike announced by the postal workers union, mail won't be delivered this shift." /datum/station_trait/mail_blocked/on_round_start() - //This is either a holiday or sunday... well then, let's flip the situation. + //This is either a holiday or Sunday... well then, let's flip the situation. if(SSeconomy.mail_blocked) name = "Postal system overtime" report_message = "Despite being a day off, the postal system is working overtime today. Mail will be delivered this shift." @@ -343,7 +343,7 @@ /datum/station_trait/random_event_weight_modifier/dust_storms name = "Dust Stormfront" - report_message = "The space around your station is clouded by heavy pockets of space dust. Expect an increased likelyhood of space dust storms damaging the station hull." + report_message = "The space around your station is clouded by heavy pockets of space dust. Expect an increased likelihood of space dust storms damaging the station hull." trait_type = STATION_TRAIT_NEGATIVE weight = 2 cost = STATION_TRAIT_COST_LOW @@ -614,10 +614,10 @@ //Send a nebula shielding unit to engineering var/datum/supply_pack/supply_pack_shielding = new /datum/supply_pack/engineering/rad_nebula_shielding_kit() if(!send_supply_pod_to_area(supply_pack_shielding.generate(null), /area/station/engineering/main, /obj/structure/closet/supplypod/centcompod)) - //if engineering isnt valid, just send it to the bridge + //if engineering isn't valid, just send it to the bridge send_supply_pod_to_area(supply_pack_shielding.generate(null), /area/station/command/bridge, /obj/structure/closet/supplypod/centcompod) - // Let medical know resistence is futile + // Let medical know resistance is futile if (/area/station/medical/virology in GLOB.areas_by_type) send_fax_to_area( new /obj/item/paper/fluff/radiation_nebula_virologist, @@ -656,7 +656,7 @@ if(!istype(get_area(spawned_mob), radioactive_areas)) //only if you're spawned in the radioactive areas return - if(!isliving(spawned_mob)) // Dynamic shouldnt spawn non-living but uhhhhhhh why not + if(!isliving(spawned_mob)) // Dynamic shouldn't spawn non-living but uhhhhhhh why not return var/mob/living/spawnee = spawned_mob @@ -696,7 +696,7 @@ /datum/station_trait/nebula/hostile/radiation/send_instructions() var/obj/machinery/nebula_shielding/shielder = /obj/machinery/nebula_shielding/radiation var/obj/machinery/gravity_generator/main/innate_shielding = /obj/machinery/gravity_generator/main - //How long do we have untill the first shielding unit needs to be up? + //How long do we have until the first shielding unit needs to be up? var/deadline = "[(initial(innate_shielding.radioactive_nebula_shielding) * intensity_increment_time) / (1 MINUTES)] minute\s" //For how long each shielding unit will protect for var/shielder_time = "[(initial(shielder.shielding_strength) * intensity_increment_time) / (1 MINUTES)] minute\s" @@ -713,7 +713,7 @@ Every shielding unit will provide an additional [shielder_time] of protection, fully protecting the station with [max_shielders] shielding units. "} - priority_announce(announcement, sound = 'sound/misc/notice1.ogg') + priority_announce(announcement, sound = 'sound/announcer/notice/notice1.ogg') //Set the display screens to the radiation alert var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index 945fbe06934bc..052a8177345c7 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -285,6 +285,7 @@ /datum/job/paramedic = /obj/item/organ/internal/cyberimp/eyes/hud/medical, /datum/job/prisoner = /obj/item/organ/internal/eyes/robotic/shield, /datum/job/psychologist = /obj/item/organ/internal/ears/cybernetic/whisper, + /datum/job/pun_pun = /obj/item/organ/internal/cyberimp/arm/strongarm, /datum/job/quartermaster = /obj/item/organ/internal/stomach/cybernetic/tier3, /datum/job/research_director = /obj/item/organ/internal/cyberimp/bci, /datum/job/roboticist = /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic, diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 68462f1ae2ef2..cf3d1c88440b3 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -426,7 +426,7 @@ /datum/status_effect/mayhem/on_apply() . = ..() to_chat(owner, "RIP AND TEAR") - SEND_SOUND(owner, sound('sound/hallucinations/veryfar_noise.ogg')) + SEND_SOUND(owner, sound('sound/effects/hallucinations/veryfar_noise.ogg')) owner.cause_hallucination( \ /datum/hallucination/delusion/preset/demon, \ "[id] status effect", \ @@ -572,7 +572,7 @@ owner.add_stun_absorption(source = id, priority = 4) owner.add_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) ADD_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, id) - owner.playsound_local(get_turf(owner), 'sound/chemistry/ahaha.ogg', vol = 100, vary = TRUE, use_reverb = TRUE) + owner.playsound_local(get_turf(owner), 'sound/effects/chemistry/ahaha.ogg', vol = 100, vary = TRUE, use_reverb = TRUE) return TRUE /datum/status_effect/blessing_of_insanity/on_remove() diff --git a/code/datums/status_effects/debuffs/choke.dm b/code/datums/status_effects/debuffs/choke.dm index c16b946aa02bd..9113c8a1a023e 100644 --- a/code/datums/status_effects/debuffs/choke.dm +++ b/code/datums/status_effects/debuffs/choke.dm @@ -217,7 +217,7 @@ var/obj/item/bodypart/chest = carbon_victim.get_bodypart(BODY_ZONE_CHEST) carbon_victim.cause_wound_of_type_and_severity(WOUND_BLUNT, chest, WOUND_SEVERITY_SEVERE, wound_source = "human force to the chest") - playsound(owner, 'sound/creatures/crack_vomit.ogg', 120, extrarange = 5, falloff_exponent = 4) + playsound(owner, 'sound/mobs/humanoids/human/gag_vomit/crack_vomit.ogg', 120, extrarange = 5, falloff_exponent = 4) vomit_up() /datum/status_effect/choke/proc/mirror_dir(atom/source, old_dir, new_dir) diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 08f5ae101bf77..865e9869ebeea 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -488,7 +488,7 @@ wasting_effect.transform = owner.transform //if the owner has been stunned the overlay should inherit that position wasting_effect.alpha = 255 animate(wasting_effect, alpha = 0, time = 32) - playsound(owner, 'sound/effects/curse5.ogg', 20, TRUE, -1) + playsound(owner, 'sound/effects/curse/curse5.ogg', 20, TRUE, -1) owner.adjustFireLoss(0.75) if(effect_last_activation <= world.time) effect_last_activation = world.time + effect_cooldown @@ -511,7 +511,7 @@ /datum/status_effect/necropolis_curse/proc/grasp(turf/spawn_turf) set waitfor = FALSE new/obj/effect/temp_visual/dir_setting/curse/grasp_portal(spawn_turf, owner.dir) - playsound(spawn_turf, 'sound/effects/curse2.ogg', 80, TRUE, -1) + playsound(spawn_turf, 'sound/effects/curse/curse2.ogg', 80, TRUE, -1) var/obj/projectile/curse_hand/C = new (spawn_turf) C.preparePixelProjectile(owner, spawn_turf) C.fire() diff --git a/code/datums/status_effects/debuffs/fire_stacks.dm b/code/datums/status_effects/debuffs/fire_stacks.dm index 46c31c4578d1d..ae7f73d4e0de0 100644 --- a/code/datums/status_effects/debuffs/fire_stacks.dm +++ b/code/datums/status_effects/debuffs/fire_stacks.dm @@ -136,6 +136,12 @@ /// Type of mob light emitter we use when on fire var/moblight_type = /obj/effect/dummy/lighting_obj/moblight/fire +/datum/status_effect/fire_handler/fire_stacks/get_examine_text() + if(owner.on_fire) + return + + return "[owner.p_They()] [owner.p_are()] covered in something flammable." + /datum/status_effect/fire_handler/fire_stacks/proc/owner_touched_sparks() SIGNAL_HANDLER @@ -221,8 +227,9 @@ amount_to_heat = amount_to_heat ** (BODYTEMP_FIRE_TEMP_SOFTCAP / owner.bodytemperature) victim.adjust_bodytemperature(amount_to_heat) - victim.add_mood_event("on_fire", /datum/mood_event/on_fire) - victim.add_mob_memory(/datum/memory/was_burning) + if (!(HAS_TRAIT(victim, TRAIT_RESISTHEAT))) + victim.add_mood_event("on_fire", /datum/mood_event/on_fire) + victim.add_mob_memory(/datum/memory/was_burning) /** * Handles mob ignition, should be the only way to set on_fire to TRUE @@ -294,6 +301,9 @@ enemy_types = list(/datum/status_effect/fire_handler/fire_stacks) stack_modifier = -1 +/datum/status_effect/fire_handler/wet_stacks/get_examine_text() + return "[owner.p_They()] look[owner.p_s()] a little soaked." + /datum/status_effect/fire_handler/wet_stacks/tick(seconds_between_ticks) adjust_stacks(-0.5 * seconds_between_ticks) if(stacks <= 0) diff --git a/code/datums/status_effects/debuffs/genetic_damage.dm b/code/datums/status_effects/debuffs/genetic_damage.dm index 9a6944090775e..21b6f1db2185c 100644 --- a/code/datums/status_effects/debuffs/genetic_damage.dm +++ b/code/datums/status_effects/debuffs/genetic_damage.dm @@ -34,7 +34,7 @@ /datum/status_effect/genetic_damage/tick(seconds_between_ticks) if(ismonkey(owner) && total_damage >= GORILLA_MUTATION_MINIMUM_DAMAGE && SPT_PROB(GORILLA_MUTATION_CHANCE_PER_SECOND, seconds_between_ticks)) var/mob/living/carbon/carbon_owner = owner - carbon_owner.gorillize() + carbon_owner.gorillize(genetics_gorilla = TRUE) qdel(src) return @@ -46,15 +46,20 @@ qdel(src) return -/datum/status_effect/genetic_damage/proc/on_healthscan(datum/source, list/render_list, advanced) +/datum/status_effect/genetic_damage/proc/on_healthscan(datum/source, list/render_list, advanced, mob/user, mode, tochat) SIGNAL_HANDLER + var/message = "" if(advanced) - render_list += "Genetic damage: [round(total_damage / minimum_before_tox_damage * 100, 0.1)]%\n" + message = "Genetic damage: [round(total_damage / minimum_before_tox_damage * 100, 0.1)]%" else if(total_damage >= minimum_before_tox_damage) - render_list += "Severe genetic damage detected.\n" + message = "Severe genetic damage detected." else - render_list += "Minor genetic damage detected.\n" + message = "Minor genetic damage detected." + + if(message) + render_list += conditional_tooltip("[message]", "Irreparable under normal circumstances - will decay over time.", tochat) + render_list += "
" #undef GORILLA_MUTATION_CHANCE_PER_SECOND #undef GORILLA_MUTATION_MINIMUM_DAMAGE diff --git a/code/datums/status_effects/debuffs/hallucination.dm b/code/datums/status_effects/debuffs/hallucination.dm index 5d67acc789ed3..0d8875c6b23dd 100644 --- a/code/datums/status_effects/debuffs/hallucination.dm +++ b/code/datums/status_effects/debuffs/hallucination.dm @@ -38,13 +38,13 @@ )) /// Signal proc for [COMSIG_LIVING_HEALTHSCAN]. Show we're hallucinating to (advanced) scanners. -/datum/status_effect/hallucination/proc/on_health_scan(datum/source, list/render_list, advanced, mob/user, mode) +/datum/status_effect/hallucination/proc/on_health_scan(datum/source, list/render_list, advanced, mob/user, mode, tochat) SIGNAL_HANDLER if(!advanced) return - - render_list += "Subject is hallucinating.\n" + render_list += conditional_tooltip("Subject is hallucinating.", "Supply antipsychotic medication.", tochat) + render_list += "
" /// Signal proc for [COMSIG_CARBON_CHECKING_BODYPART], /// checking bodyparts while hallucinating can cause them to appear more damaged than they are diff --git a/code/datums/status_effects/debuffs/slime/slime_food.dm b/code/datums/status_effects/debuffs/slime/slime_food.dm index aa711bb878f75..538e62e27c597 100644 --- a/code/datums/status_effects/debuffs/slime/slime_food.dm +++ b/code/datums/status_effects/debuffs/slime/slime_food.dm @@ -54,12 +54,3 @@ /datum/status_effect/slime_food/on_remove() feeder = null - -/datum/status_effect/slime_food/update_particles() - if(particle_effect) - return - - particle_effect = new(owner, /particles/pollen) - - //particle coloured like the "pheromones" of the feeder - particle_effect.particles.color = "[feeder.chat_color]a0" diff --git a/code/datums/status_effects/debuffs/slime/slimed.dm b/code/datums/status_effects/debuffs/slime/slimed.dm index 6c2c0fb5be342..2540c4df5136c 100644 --- a/code/datums/status_effects/debuffs/slime/slimed.dm +++ b/code/datums/status_effects/debuffs/slime/slimed.dm @@ -101,17 +101,6 @@ )) to_chat(owner, span_userdanger("[feedback_text] as the layer of slime eats away at you!")) -/datum/status_effect/slimed/update_particles() - if(particle_effect) - return - - // taste the rainbow - var/particle_type = rainbow ? /particles/slime/rainbow : /particles/slime - particle_effect = new(owner, particle_type) - - if(!rainbow) - particle_effect.particles.color = "[slime_color]a0" - /datum/status_effect/slimed/get_examine_text() return span_warning("[owner.p_They()] [owner.p_are()] covered in bubbling slime!") diff --git a/code/datums/status_effects/debuffs/staggered.dm b/code/datums/status_effects/debuffs/staggered.dm index 1291da1307a61..88dd91c00e0d2 100644 --- a/code/datums/status_effects/debuffs/staggered.dm +++ b/code/datums/status_effects/debuffs/staggered.dm @@ -24,8 +24,6 @@ /datum/status_effect/staggered/on_remove() UnregisterSignal(owner, COMSIG_LIVING_DEATH) owner.remove_movespeed_modifier(/datum/movespeed_modifier/staggered) - // Resetting both X on remove so we're back to normal - animate(owner, pixel_x = owner.base_pixel_x, time = 0.2 SECONDS, flags = ANIMATION_PARALLEL) /// Signal proc that self deletes our staggered effect /datum/status_effect/staggered/proc/clear_staggered(datum/source) @@ -45,11 +43,12 @@ /// Helper proc that causes the mob to do a stagger animation. /// Doesn't change significantly, just meant to represent swaying back and forth /mob/living/proc/do_stagger_animation() - animate(src, pixel_x = 4, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL) - sleep(0.2 SECONDS) - animate(src, pixel_x = -8, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL) - sleep(0.2 SECONDS) - animate(src, pixel_x = 4, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL) + var/normal_pos = base_pixel_x + body_position_pixel_x_offset + var/jitter_right = normal_pos + 4 + var/jitter_left = normal_pos - 4 + animate(src, pixel_x = jitter_left, 0.2 SECONDS, flags = ANIMATION_PARALLEL) + animate(pixel_x = jitter_right, time = 0.4 SECONDS) + animate(pixel_x = normal_pos, time = 0.2 SECONDS) /// Status effect specifically for instances where someone is vulnerable to being stunned when shoved. /datum/status_effect/next_shove_stuns diff --git a/code/datums/status_effects/debuffs/terrified.dm b/code/datums/status_effects/debuffs/terrified.dm index 6ed79372d01aa..61a6ecd4eda3b 100644 --- a/code/datums/status_effects/debuffs/terrified.dm +++ b/code/datums/status_effects/debuffs/terrified.dm @@ -55,7 +55,7 @@ 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/health/slowbeat.ogg', 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) + 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. diff --git a/code/datums/status_effects/debuffs/tower_of_babel.dm b/code/datums/status_effects/debuffs/tower_of_babel.dm index b3c1ae0c477c7..a56ea1ac6d9a9 100644 --- a/code/datums/status_effects/debuffs/tower_of_babel.dm +++ b/code/datums/status_effects/debuffs/tower_of_babel.dm @@ -41,7 +41,7 @@ return owner.emote("mumble") - owner.playsound_local(get_turf(owner), 'sound/magic/magic_block_mind.ogg', 75, vary = TRUE) // sound of creepy whispers + owner.playsound_local(get_turf(owner), 'sound/effects/magic/magic_block_mind.ogg', 75, vary = TRUE) // sound of creepy whispers to_chat(owner, span_reallybig(span_hypnophrase("You feel a magical force affecting your speech patterns!"))) /datum/status_effect/tower_of_babel/magical/on_remove() diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 3d4bd7e93655c..3f4586d4d1ddd 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -119,7 +119,7 @@ /datum/status_effect/bounty/on_apply() to_chat(owner, span_boldnotice("You hear something behind you talking... \"You have been marked for death by [rewarded]. If you die, they will be rewarded.\"")) - playsound(owner, 'sound/weapons/gun/shotgun/rack.ogg', 75, FALSE) + playsound(owner, 'sound/items/weapons/gun/shotgun/rack.ogg', 75, FALSE) return ..() /datum/status_effect/bounty/tick(seconds_between_ticks) @@ -130,7 +130,7 @@ /datum/status_effect/bounty/proc/rewards() if(rewarded && rewarded.mind && rewarded.stat != DEAD) to_chat(owner, span_boldnotice("You hear something behind you talking... \"Bounty claimed.\"")) - playsound(owner, 'sound/weapons/gun/shotgun/shot.ogg', 75, FALSE) + playsound(owner, 'sound/items/weapons/gun/shotgun/shot.ogg', 75, FALSE) to_chat(rewarded, span_greentext("You feel a surge of mana flow into you!")) for(var/datum/action/cooldown/spell/spell in rewarded.actions) spell.reset_spell_cooldown() @@ -609,3 +609,32 @@ /datum/status_effect/gutted/proc/stop_gutting() SIGNAL_HANDLER qdel(src) + +/atom/movable/screen/alert/status_effect/shower_regen + name = "Washing" + desc = "A good wash fills me with energy!" + icon_state = "shower_regen" + +/atom/movable/screen/alert/status_effect/shower_regen/catgirl + name = "Washing" + desc = "Waaater... Fuck this WATER!!" + icon_state = "shower_regen_catgirl" + +/datum/status_effect/shower_regen + id = "shower_regen" + duration = -1 + status_type = STATUS_EFFECT_UNIQUE + alert_type = /atom/movable/screen/alert/status_effect/shower_regen + /// How many heals from washing. + var/stamina_heal_per_tick = 4 + +/datum/status_effect/shower_regen/on_apply() + . = ..() + if(isfelinid(owner)) + alert_type = /atom/movable/screen/alert/status_effect/shower_regen/catgirl + + +/datum/status_effect/shower_regen/tick(seconds_between_ticks) + . = ..() + var/heal_or_deal = isfelinid(owner) ? 1 : -1 + owner.adjustStaminaLoss(stamina_heal_per_tick * heal_or_deal * seconds_between_ticks) diff --git a/code/datums/status_effects/song_effects.dm b/code/datums/status_effects/song_effects.dm index f61253c987d77..d846f47f169db 100644 --- a/code/datums/status_effects/song_effects.dm +++ b/code/datums/status_effects/song_effects.dm @@ -25,7 +25,7 @@ /datum/status_effect/song/antimagic/on_apply() ADD_TRAIT(owner, TRAIT_ANTIMAGIC, MAGIC_TRAIT) - playsound(owner, 'sound/weapons/fwoosh.ogg', 75, FALSE) + playsound(owner, 'sound/items/weapons/fwoosh.ogg', 75, FALSE) return ..() /datum/status_effect/song/antimagic/on_remove() @@ -45,7 +45,7 @@ /datum/status_effect/song/light/on_apply() mob_light_obj = owner.mob_light(3, 1.5, color = LIGHT_COLOR_DIM_YELLOW) - playsound(owner, 'sound/weapons/fwoosh.ogg', 75, FALSE) + playsound(owner, 'sound/items/weapons/fwoosh.ogg', 75, FALSE) return TRUE /datum/status_effect/song/light/on_remove() diff --git a/code/datums/status_effects/stacking_effect.dm b/code/datums/status_effects/stacking_effect.dm index b54734155ad92..b0d00a92ba0c2 100644 --- a/code/datums/status_effects/stacking_effect.dm +++ b/code/datums/status_effects/stacking_effect.dm @@ -123,9 +123,9 @@ var/icon_height = I.Height() status_overlay.pixel_x = -owner.pixel_x status_overlay.pixel_y = FLOOR(icon_height * 0.25, 1) - status_overlay.transform = matrix() * (icon_height/world.icon_size) //scale the status's overlay size based on the target's icon size + 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.transform = matrix() * (icon_height/world.icon_size) * 3 + status_underlay.transform = matrix() * (icon_height/ICON_SIZE_Y) * 3 status_underlay.alpha = 40 owner.add_overlay(status_overlay) owner.underlays += status_underlay diff --git a/code/datums/storage/storage.dm b/code/datums/storage/storage.dm index 8bdfa3f3de2a3..feda199d67071 100644 --- a/code/datums/storage/storage.dm +++ b/code/datums/storage/storage.dm @@ -189,20 +189,19 @@ /// Set the passed atom as the parent /datum/storage/proc/set_parent(atom/new_parent) - PRIVATE_PROC(TRUE) + PROTECTED_PROC(TRUE) ASSERT(isnull(parent)) parent = new_parent + ADD_TRAIT(parent, TRAIT_COMBAT_MODE_SKIP_INTERACTION, REF(src)) // a few of theses should probably be on the real_location rather than the parent - RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_item_interact)) RegisterSignals(parent, list(COMSIG_ATOM_ATTACK_PAW, COMSIG_ATOM_ATTACK_HAND), PROC_REF(on_attack)) RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, PROC_REF(on_mousedrop_onto)) RegisterSignal(parent, COMSIG_MOUSEDROPPED_ONTO, PROC_REF(on_mousedropped_onto)) RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(on_preattack)) RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(mass_empty)) RegisterSignals(parent, list(COMSIG_ATOM_ATTACK_GHOST, COMSIG_ATOM_ATTACK_HAND_SECONDARY), PROC_REF(open_storage_on_signal)) - RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY, PROC_REF(on_item_interact_secondary)) RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(close_distance)) RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(update_actions)) RegisterSignal(parent, COMSIG_TOPIC, PROC_REF(topic_handle)) @@ -827,26 +826,12 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) return if(!iscarbon(user) && !isdrone(user)) return - var/mob/living/user_living = user - if(user_living.incapacitated) - return - attempt_insert(dropping, user) return COMPONENT_CANCEL_MOUSEDROPPED_ONTO -/// Signal handler for whenever we're attacked by an object. -/datum/storage/proc/on_item_interact(datum/source, mob/user, obj/item/thing, params) - SIGNAL_HANDLER - - if(!insert_on_attack) - return NONE - if(!thing.storage_insert_on_interaction(src, parent, user)) - return NONE - if(!parent.storage_insert_on_interacted_with(src, thing, user)) - return NONE - if(SEND_SIGNAL(parent, COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, thing, user) & BLOCK_STORAGE_INSERT) - return NONE - +/// Called directly from the attack chain if [insert_on_attack] is TRUE. +/// Handles inserting an item into the storage when clicked. +/datum/storage/proc/item_interact_insert(mob/living/user, obj/item/thing) if(iscyborg(user)) return ITEM_INTERACT_BLOCKING @@ -897,18 +882,6 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) return toreturn -/// Signal handler for when we get attacked with secondary click by an item. -/datum/storage/proc/on_item_interact_secondary(datum/source, mob/user, atom/weapon) - SIGNAL_HANDLER - - if(istype(weapon, /obj/item/chameleon)) - var/obj/item/chameleon/chameleon_weapon = weapon - chameleon_weapon.make_copy(source, user) - - if(open_storage_on_signal(source, user)) - return ITEM_INTERACT_BLOCKING - return NONE - /// Signal handler to open up the storage when we receive a signal. /datum/storage/proc/open_storage_on_signal(datum/source, mob/to_show) SIGNAL_HANDLER @@ -1001,7 +974,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(user.active_storage == src && user.client) seeing += user else - is_using -= user + hide_contents(user) return seeing /** @@ -1059,8 +1032,6 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) * * mob/to_hide - the mob to hide the storage from */ /datum/storage/proc/hide_contents(mob/to_hide) - if(!to_hide.client) - return TRUE if(to_hide.active_storage == src) to_hide.active_storage = null @@ -1073,8 +1044,9 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) is_using -= to_hide - to_hide.client.screen -= storage_interfaces[to_hide].list_ui_elements() - to_hide.client.screen -= real_location.contents + if(to_hide.client) + to_hide.client.screen -= storage_interfaces[to_hide].list_ui_elements() + to_hide.client.screen -= real_location.contents QDEL_NULL(storage_interfaces[to_hide]) storage_interfaces -= to_hide @@ -1105,7 +1077,9 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) var/columns = clamp(max_slots, 1, screen_max_columns) var/rows = clamp(CEILING(adjusted_contents / columns, 1) + additional_row, 1, screen_max_rows) - for (var/ui_user in storage_interfaces) + for (var/mob/ui_user as anything in storage_interfaces) + if (isnull(storage_interfaces[ui_user])) + continue storage_interfaces[ui_user].update_position(screen_start_x, screen_pixel_x, screen_start_y, screen_pixel_y, columns, rows) var/current_x = screen_start_x diff --git a/code/datums/view.dm b/code/datums/view.dm index 90d07c667967c..702550a4e1874 100644 --- a/code/datums/view.dm +++ b/code/datums/view.dm @@ -134,7 +134,7 @@ _y = -offset if(WEST) _x = -offset - animate(chief, pixel_x = world.icon_size*_x, pixel_y = world.icon_size*_y, 0, FALSE, LINEAR_EASING, ANIMATION_END_NOW) + animate(chief, pixel_x = ICON_SIZE_X*_x, pixel_y = ICON_SIZE_Y*_y, 0, FALSE, LINEAR_EASING, ANIMATION_END_NOW) //Ready for this one? setTo(radius) diff --git a/code/datums/votes/map_vote.dm b/code/datums/votes/map_vote.dm index abe452ce4fedf..b4f938a42e451 100644 --- a/code/datums/votes/map_vote.dm +++ b/code/datums/votes/map_vote.dm @@ -2,29 +2,18 @@ name = "Map" default_message = "Vote for next round's map!" count_method = VOTE_COUNT_METHOD_SINGLE - winner_method = VOTE_WINNER_METHOD_WEIGHTED_RANDOM + winner_method = VOTE_WINNER_METHOD_NONE display_statistics = FALSE /datum/vote/map_vote/New() . = ..() - - default_choices = list() - - // Fill in our default choices with all of the maps in our map config, if they are votable and not blocked. - var/list/maps = shuffle(global.config.maplist) - for(var/map in maps) - var/datum/map_config/possible_config = config.maplist[map] - if(!possible_config.votable || (possible_config.map_name in SSpersistence.blocked_maps)) - continue - - default_choices += possible_config.map_name + default_choices = SSmap_vote.get_valid_map_vote_choices() /datum/vote/map_vote/create_vote() . = ..() if(!.) return FALSE - choices -= get_choices_invalid_for_population() if(length(choices) == 1) // Only one choice, no need to vote. Let's just auto-rotate it to the only remaining map because it would just happen anyways. var/datum/map_config/change_me_out = global.config.maplist[choices[1]] finalize_vote(choices[1])// voted by not voting, very sad. @@ -48,35 +37,16 @@ . = ..() if(. != VOTE_AVAILABLE) return . - if(forced) - return VOTE_AVAILABLE - var/num_choices = length(default_choices - get_choices_invalid_for_population()) + + var/num_choices = length(default_choices) if(num_choices <= 1) return "There [num_choices == 1 ? "is only one map" : "are no maps"] to choose from." - if(SSmapping.map_vote_rocked) - return VOTE_AVAILABLE - if(SSmapping.map_voted) + if(SSmap_vote.next_map_config) return "The next map has already been selected." return VOTE_AVAILABLE -/// Returns a list of all map options that are invalid for the current population. -/datum/vote/map_vote/proc/get_choices_invalid_for_population() - var/filter_threshold = 0 - if(SSticker.HasRoundStarted()) - filter_threshold = get_active_player_count(alive_check = FALSE, afk_check = TRUE, human_check = FALSE) - else - filter_threshold = GLOB.clients.len - - var/list/invalid_choices = list() - for(var/map in default_choices) - var/datum/map_config/possible_config = config.maplist[map] - if(possible_config.config_min_users > 0 && filter_threshold < possible_config.config_min_users) - invalid_choices += map - - else if(possible_config.config_max_users > 0 && filter_threshold > possible_config.config_max_users) - invalid_choices += map - - return invalid_choices +/datum/vote/map_vote/get_result_text(list/all_winners, real_winner, list/non_voters) + return null /datum/vote/map_vote/get_vote_result(list/non_voters) // Even if we have default no vote off, @@ -97,20 +67,4 @@ return ..() /datum/vote/map_vote/finalize_vote(winning_option) - var/datum/map_config/winning_map = global.config.maplist[winning_option] - if(!istype(winning_map)) - CRASH("[type] wasn't passed a valid winning map choice. (Got: [winning_option || "null"] - [winning_map || "null"])") - - SSmapping.changemap(winning_map) - SSmapping.map_voted = TRUE - if(SSmapping.map_vote_rocked) - SSmapping.map_vote_rocked = FALSE - -/proc/revert_map_vote() - var/datum/map_config/override_map = SSmapping.config - if(isnull(override_map)) - return - - SSmapping.changemap(override_map) - log_game("The next map has been reset to [override_map.map_name].") - send_to_playing_players(span_boldannounce("The next map is: [override_map.map_name].")) + SSmap_vote.finalize_map_vote(src) diff --git a/code/datums/votes/restart_vote.dm b/code/datums/votes/restart_vote.dm index 3c74d7e518e28..ba0fdf78083b1 100644 --- a/code/datums/votes/restart_vote.dm +++ b/code/datums/votes/restart_vote.dm @@ -57,10 +57,10 @@ return // If there was a previous map vote, we revert the change. - if(!isnull(SSmapping.next_map_config)) + if(!isnull(SSmap_vote.next_map_config)) log_game("The next map has been reset due to successful restart vote.") send_to_playing_players(span_boldannounce("The next map has been reset due to successful restart vote.")) - revert_map_vote() + SSmap_vote.revert_next_map() SSticker.force_ending = FORCE_END_ROUND log_game("End round forced by successful restart vote.") diff --git a/code/datums/votes/rock_the_vote.dm b/code/datums/votes/rock_the_vote.dm deleted file mode 100644 index 6c7ac4ff2572e..0000000000000 --- a/code/datums/votes/rock_the_vote.dm +++ /dev/null @@ -1,62 +0,0 @@ -#define CHOICE_TO_ROCK "Yes, re-do the map vote." -#define CHOICE_NOT_TO_ROCK "No, keep the currently selected map." - -/// If a map vote is called before the emergency shuttle leaves the station, the players can call another vote to re-run the vote on the shuttle leaving. -/datum/vote/rock_the_vote - name = "Rock the Vote" - override_question = "Rock the Vote?" - contains_vote_in_name = TRUE //lol - default_choices = list( - CHOICE_TO_ROCK, - CHOICE_NOT_TO_ROCK, - ) - default_message = "Override the current map vote." - /// The number of times we have rocked the vote thus far. - var/rocking_votes = 0 - -/datum/vote/rock_the_vote/toggle_votable() - CONFIG_SET(flag/allow_rock_the_vote, !CONFIG_GET(flag/allow_rock_the_vote)) - -/datum/vote/rock_the_vote/is_config_enabled() - return CONFIG_GET(flag/allow_rock_the_vote) - -/datum/vote/rock_the_vote/can_be_initiated(forced) - . = ..() - if(. != VOTE_AVAILABLE) - return . - - if(SSticker.current_state == GAME_STATE_FINISHED) - return "The game is finished, no map votes can be initiated." - - if(rocking_votes >= CONFIG_GET(number/max_rocking_votes)) - return "The maximum number of times to rock the vote has been reached." - - if(SSmapping.map_vote_rocked) - return "The vote has already been rocked! Initiate a map vote!" - - if(!SSmapping.map_voted) - return "Rocking the vote is disabled because no map has been voted on yet!" - - if(SSmapping.map_force_chosen) - return "Rocking the vote is disabled because an admin has forcibly set the map!" - - if(EMERGENCY_ESCAPED_OR_ENDGAMED && SSmapping.map_voted) - return "The emergency shuttle has already left the station and the next map has already been chosen!" - - return VOTE_AVAILABLE - -/datum/vote/rock_the_vote/finalize_vote(winning_option) - rocking_votes++ - if(winning_option == CHOICE_NOT_TO_ROCK) - return - - if(winning_option == CHOICE_TO_ROCK) - to_chat(world, span_boldannounce("The vote has been rocked! Players are now able to re-run the map vote once more.")) - message_admins("The players have successfully rocked the vote.") - SSmapping.map_vote_rocked = TRUE - return - - CRASH("[type] wasn't passed a valid winning choice. (Got: [winning_option || "null"])") - -#undef CHOICE_TO_ROCK -#undef CHOICE_NOT_TO_ROCK diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 16ffb326f8a86..85e5e74b02fba 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -13,7 +13,7 @@ /// description of weather var/desc = "Heavy gusts of wind blanket the area, periodically knocking down anyone caught in the open." /// The message displayed in chat to foreshadow the weather's beginning - var/telegraph_message = "The wind begins to pick up." + var/telegraph_message = span_warning("The wind begins to pick up.") /// In deciseconds, how long from the beginning of the telegraph until the weather begins var/telegraph_duration = 300 /// The sound file played to everyone on an affected z-level @@ -22,7 +22,7 @@ var/telegraph_overlay /// Displayed in chat once the weather begins in earnest - var/weather_message = "The wind begins to blow ferociously!" + var/weather_message = span_userdanger("The wind begins to blow ferociously!") /// In deciseconds, how long the weather lasts once it begins var/weather_duration = 1200 /// See above - this is the lowest possible duration @@ -37,7 +37,7 @@ var/weather_color = null /// Displayed once the weather is over - var/end_message = "The wind relents its assault." + var/end_message = span_danger("The wind relents its assault.") /// In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely var/end_duration = 300 /// Sound that plays while weather is ending @@ -59,7 +59,7 @@ /// Since it's above everything else, this is the layer used by default. var/overlay_layer = AREA_LAYER /// Plane for the overlay - var/overlay_plane = AREA_PLANE + var/overlay_plane = WEATHER_PLANE /// If the weather has no purpose other than looks var/aesthetic = FALSE /// Used by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather. @@ -99,7 +99,7 @@ /datum/weather/proc/telegraph() if(stage == STARTUP_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_TELEGRAPH(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_TELEGRAPH(type), src) stage = STARTUP_STAGE var/list/affectareas = list() for(var/V in get_areas(area_type)) @@ -129,14 +129,14 @@ /datum/weather/proc/start() if(stage >= MAIN_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_START(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_START(type), src) stage = MAIN_STAGE update_areas() send_alert(weather_message, weather_sound) if(!perpetual) addtimer(CALLBACK(src, PROC_REF(wind_down)), weather_duration) for(var/area/impacted_area as anything in impacted_areas) - SEND_SIGNAL(impacted_area, COMSIG_WEATHER_BEGAN_IN_AREA(type)) + SEND_SIGNAL(impacted_area, COMSIG_WEATHER_BEGAN_IN_AREA(type), src) /** * Weather enters the winding down phase, stops effects @@ -148,7 +148,7 @@ /datum/weather/proc/wind_down() if(stage >= WIND_DOWN_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_WINDDOWN(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_WINDDOWN(type), src) stage = WIND_DOWN_STAGE update_areas() send_alert(end_message, end_sound) @@ -164,12 +164,12 @@ /datum/weather/proc/end() if(stage == END_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_END(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_END(type), src) stage = END_STAGE SSweather.processing -= src update_areas() for(var/area/impacted_area as anything in impacted_areas) - SEND_SIGNAL(impacted_area, COMSIG_WEATHER_ENDED_IN_AREA(type)) + SEND_SIGNAL(impacted_area, COMSIG_WEATHER_ENDED_IN_AREA(type), src) // handles sending all alerts /datum/weather/proc/send_alert(alert_msg, alert_sfx) @@ -260,12 +260,12 @@ // I prefer it to creating 2 extra plane masters however, so it's a cost I'm willing to pay // LU if(use_glow) - var/mutable_appearance/glow_overlay = mutable_appearance('icons/effects/glow_weather.dmi', weather_state, overlay_layer, null, ABOVE_LIGHTING_PLANE, 100, offset_const = offset) + var/mutable_appearance/glow_overlay = mutable_appearance('icons/effects/glow_weather.dmi', weather_state, overlay_layer, null, WEATHER_GLOW_PLANE, 100, offset_const = offset) glow_overlay.color = weather_color gen_overlay_cache += glow_overlay - var/mutable_appearance/weather_overlay = mutable_appearance('icons/effects/weather_effects.dmi', weather_state, overlay_layer, plane = overlay_plane, offset_const = offset) - weather_overlay.color = weather_color - gen_overlay_cache += weather_overlay + var/mutable_appearance/new_weather_overlay = mutable_appearance('icons/effects/weather_effects.dmi', weather_state, overlay_layer, plane = overlay_plane, offset_const = offset) + new_weather_overlay.color = weather_color + gen_overlay_cache += new_weather_overlay return gen_overlay_cache diff --git a/code/datums/weather/weather_types/ash_storm.dm b/code/datums/weather/weather_types/ash_storm.dm index bb4e5af63f3ad..7d432c1e488da 100644 --- a/code/datums/weather/weather_types/ash_storm.dm +++ b/code/datums/weather/weather_types/ash_storm.dm @@ -3,16 +3,16 @@ name = "ash storm" desc = "An intense atmospheric storm lifts ash off of the planet's surface and billows it down across the area, dealing intense fire damage to the unprotected." - telegraph_message = "An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter." + telegraph_message = span_boldwarning("An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter.") telegraph_duration = 300 telegraph_overlay = "light_ash" - weather_message = "Smoldering clouds of scorching ash billow down around you! Get inside!" + weather_message = span_userdanger("Smoldering clouds of scorching ash billow down around you! Get inside!") weather_duration_lower = 600 weather_duration_upper = 1200 weather_overlay = "ash_storm" - end_message = "The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now." + end_message = span_boldannounce("The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now.") end_duration = 300 end_overlay = "light_ash" @@ -81,10 +81,10 @@ name = "emberfall" desc = "A passing ash storm blankets the area in harmless embers." - weather_message = "Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by..." + weather_message = span_notice("Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by...") weather_overlay = "light_ash" - end_message = "The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet." + end_message = span_notice("The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet.") end_sound = null aesthetic = TRUE diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm index 03ed0c68c311a..25037d433b5eb 100644 --- a/code/datums/weather/weather_types/floor_is_lava.dm +++ b/code/datums/weather/weather_types/floor_is_lava.dm @@ -3,15 +3,15 @@ name = "the floor is lava" desc = "The ground turns into surprisingly cool lava, lightly damaging anything on the floor." - telegraph_message = "You feel the ground beneath you getting hot. Waves of heat distort the air." + telegraph_message = span_warning("You feel the ground beneath you getting hot. Waves of heat distort the air.") telegraph_duration = 150 - weather_message = "The floor is lava! Get on top of something!" + weather_message = span_userdanger("The floor is lava! Get on top of something!") weather_duration_lower = 300 weather_duration_upper = 600 weather_overlay = "lava" - end_message = "The ground cools and returns to its usual form." + end_message = span_danger("The ground cools and returns to its usual form.") end_duration = 0 area_type = /area diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index 8a1cfff765733..8acf8be4b9e66 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -4,17 +4,17 @@ desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected." telegraph_duration = 400 - telegraph_message = "The air begins to grow warm." + telegraph_message = span_danger("The air begins to grow warm.") - weather_message = "You feel waves of heat wash over you! Find shelter!" + weather_message = span_userdanger("You feel waves of heat wash over you! Find shelter!") weather_overlay = "ash_storm" weather_duration_lower = 600 weather_duration_upper = 1500 weather_color = "green" - weather_sound = 'sound/misc/bloblarm.ogg' + weather_sound = 'sound/announcer/alarm/bloblarm.ogg' end_duration = 100 - end_message = "The air seems to be cooling off again." + end_message = span_notice("The air seems to be cooling off again.") area_type = /area protected_areas = list(/area/station/maintenance, /area/station/ai_monitored/turret_protected/ai_upload, /area/station/ai_monitored/turret_protected/ai_upload_foyer, @@ -34,28 +34,28 @@ status_alarm(TRUE) -/datum/weather/rad_storm/weather_act(mob/living/L) +/datum/weather/rad_storm/weather_act(mob/living/living) if(!prob(mutate_chance)) return - if(!ishuman(L)) + if(!ishuman(living) || HAS_TRAIT(living, TRAIT_GODMODE)) return - var/mob/living/carbon/human/H = L - if(!H.can_mutate() || H.status_flags & GODMODE) + var/mob/living/carbon/human/human = living + if(!human.can_mutate()) return - if(HAS_TRAIT(H, TRAIT_RADIMMUNE)) + if(HAS_TRAIT(human, TRAIT_RADIMMUNE)) return - if (SSradiation.wearing_rad_protected_clothing(H)) + if (SSradiation.wearing_rad_protected_clothing(human)) return - H.random_mutate_unique_identity() - H.random_mutate_unique_features() + human.random_mutate_unique_identity() + human.random_mutate_unique_features() if(prob(50)) - do_mutate(L) + do_mutate(human) /datum/weather/rad_storm/end() if(..()) diff --git a/code/datums/weather/weather_types/snow_storm.dm b/code/datums/weather/weather_types/snow_storm.dm index c98ee9636a7aa..2b749cdbc84d1 100644 --- a/code/datums/weather/weather_types/snow_storm.dm +++ b/code/datums/weather/weather_types/snow_storm.dm @@ -3,18 +3,18 @@ desc = "Harsh snowstorms roam the topside of this arctic planet, burying any area unfortunate enough to be in its path." probability = 90 - telegraph_message = "Drifting particles of snow begin to dust the surrounding area.." + telegraph_message = span_warning("Drifting particles of snow begin to dust the surrounding area..") telegraph_duration = 300 telegraph_overlay = "light_snow" - weather_message = "Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!" + weather_message = span_userdanger("Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!") weather_overlay = "snow_storm" weather_duration_lower = 600 weather_duration_upper = 1500 use_glow = FALSE end_duration = 100 - end_message = "The snowfall dies down, it should be safe to go outside again." + end_message = span_boldannounce("The snowfall dies down, it should be safe to go outside again.") area_type = /area protect_indoors = TRUE diff --git a/code/datums/weather/weather_types/void_storm.dm b/code/datums/weather/weather_types/void_storm.dm index 90cc7d44cfbe1..617e3ff0230fd 100644 --- a/code/datums/weather/weather_types/void_storm.dm +++ b/code/datums/weather/weather_types/void_storm.dm @@ -6,7 +6,7 @@ telegraph_overlay = "light_snow" weather_message = span_hypnophrase("You feel the air around you getting colder... and void's sweet embrace...") - weather_overlay = "snow_storm" + weather_overlay = "light_snow" weather_color = COLOR_BLACK weather_duration_lower = 60 SECONDS weather_duration_upper = 120 SECONDS @@ -19,31 +19,5 @@ protect_indoors = FALSE target_trait = ZTRAIT_VOIDSTORM - immunity_type = TRAIT_VOIDSTORM_IMMUNE - barometer_predictable = FALSE perpetual = TRUE - - /// List of areas that were once impacted areas but are not anymore. Used for updating the weather overlay based whether the ascended heretic is in the area. - var/list/former_impacted_areas = list() - -/datum/weather/void_storm/can_weather_act(mob/living/mob_to_check) - . = ..() - if(IS_HERETIC_OR_MONSTER(mob_to_check)) - return FALSE - -/datum/weather/void_storm/weather_act(mob/living/victim) - var/need_mob_update = FALSE - need_mob_update += victim.adjustFireLoss(1, updating_health = FALSE) - need_mob_update += victim.adjustOxyLoss(rand(1, 3), updating_health = FALSE) - if(need_mob_update) - victim.updatehealth() - victim.adjust_eye_blur(rand(0 SECONDS, 2 SECONDS)) - victim.adjust_bodytemperature(-30 * TEMPERATURE_DAMAGE_COEFFICIENT) - -// Goes through former_impacted_areas and sets the overlay of each back to the telegraph overlay, to indicate the ascended heretic is no longer in that area. -/datum/weather/void_storm/update_areas() - for(var/area/former_area as anything in former_impacted_areas) - former_area.icon_state = telegraph_overlay - former_impacted_areas -= former_area - return ..() diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm index fa939d5b5607c..d7f98f07debd9 100644 --- a/code/datums/wires/syndicatebomb.dm +++ b/code/datums/wires/syndicatebomb.dm @@ -48,7 +48,7 @@ if(WIRE_PROCEED) holder.visible_message(span_danger("[icon2html(B, viewers(holder))] The bomb buzzes ominously!")) - playsound(B, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(B, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) var/seconds = B.seconds_remaining() if(seconds >= 61) // Long fuse bombs can suddenly become more dangerous if you tinker with them. B.detonation_timer = world.time + 600 diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm index f2bf896bb10b3..a9971f6068c98 100644 --- a/code/datums/world_topic.dm +++ b/code/datums/world_topic.dm @@ -212,7 +212,7 @@ .["admins"] = presentmins.len + afkmins.len //equivalent to the info gotten from adminwho .["gamestate"] = SSticker.current_state - .["map_name"] = SSmapping.config?.map_name || "Loading..." + .["map_name"] = SSmapping.current_map.map_name || "Loading..." if(key_valid) .["active_players"] = get_active_player_count() diff --git a/code/datums/wounds/_wound_static_data.dm b/code/datums/wounds/_wound_static_data.dm index f8b03d1856b5d..adc0923ee4f0a 100644 --- a/code/datums/wounds/_wound_static_data.dm +++ b/code/datums/wounds/_wound_static_data.dm @@ -95,7 +95,7 @@ if (random_roll && !can_be_randomly_generated) return FALSE - if (HAS_TRAIT(limb.owner, TRAIT_NEVER_WOUNDED) || (limb.owner.status_flags & GODMODE)) + if (HAS_TRAIT(limb.owner, TRAIT_NEVER_WOUNDED) || HAS_TRAIT(limb.owner, TRAIT_GODMODE)) return FALSE if (!wounding_types_valid(suggested_wounding_types)) diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index eb531dd3dc92b..5e5258c86deb9 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -23,6 +23,8 @@ var/desc = "" /// The basic treatment suggested by health analyzers var/treat_text = "" + /// Even more basic treatment + var/treat_text_short = "" /// What the limb looks like on a cursory examine var/examine_desc = "is badly hurt" @@ -643,22 +645,42 @@ return span_bold("[desc]!") return "[desc]." +/** + * Prints the details about the wound for the wound scanner on simple mode + */ /datum/wound/proc/get_scanner_description(mob/user) - return "Type: [name]\nSeverity: [severity_text(simple = FALSE)]\nDescription: [desc]\nRecommended Treatment: [treat_text]" + return "Type: [name]
\ + Severity: [severity_text()]
\ + Description: [desc]
\ + Recommended Treatment: [treat_text]" +/** + * Prints the details about the wound for the wound scanner on complex mode + */ /datum/wound/proc/get_simple_scanner_description(mob/user) - return "[name] detected!\nRisk: [severity_text(simple = TRUE)]\nDescription: [simple_desc ? simple_desc : desc]\nTreatment Guide: [simple_treat_text]\nHomemade Remedies: [homemade_treat_text]" + var/severity_text_formatted = severity_text() + for(var/i in 1 to severity) + severity_text_formatted += "!" -/datum/wound/proc/severity_text(simple = FALSE) + return "[name] detected!
\ + Risk: [severity_text_formatted]
\ + Description: [simple_desc || desc]
\ + Treatment Guide: [simple_treat_text]
\ + Homemade Remedies: [homemade_treat_text]" + +/** + * Returns what text describes this wound + */ +/datum/wound/proc/severity_text() switch(severity) if(WOUND_SEVERITY_TRIVIAL) return "Trivial" if(WOUND_SEVERITY_MODERATE) - return "Moderate" + (simple ? "!" : "") + return "Moderate" if(WOUND_SEVERITY_SEVERE) - return "Severe" + (simple ? "!!" : "") + return "Severe" if(WOUND_SEVERITY_CRITICAL) - return "Critical" + (simple ? "!!!" : "") + return "Critical" /// Returns TRUE if our limb is the head or chest, FALSE otherwise. /// Essential in the sense of "we cannot live without it". @@ -694,7 +716,7 @@ var/datum/wound_pregen_data/pregen_data = get_pregen_data() - if (WOUND_BLUNT in pregen_data.required_wounding_types && severity >= WOUND_SEVERITY_CRITICAL) + if ((WOUND_BLUNT in pregen_data.required_wounding_types) && severity >= WOUND_SEVERITY_CRITICAL) return WOUND_CRITICAL_BLUNT_DISMEMBER_BONUS // we only require mangled bone (T2 blunt), but if there's a critical blunt, we'll add 15% more /// Returns our pregen data, which is practically guaranteed to exist, so this proc can safely be used raw. diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm index 43385b47180ae..667684c0f9f15 100644 --- a/code/datums/wounds/bones.dm +++ b/code/datums/wounds/bones.dm @@ -147,14 +147,26 @@ if(1 to 6) victim.bleed(blood_bled, TRUE) if(7 to 13) - victim.visible_message("A thin stream of blood drips from [victim]'s mouth from the blow to [victim.p_their()] chest.", span_danger("You cough up a bit of blood from the blow to your chest."), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_smalldanger("A thin stream of blood drips from [victim]'s mouth from the blow to [victim.p_their()] chest."), + span_danger("You cough up a bit of blood from the blow to your chest."), + vision_distance = COMBAT_MESSAGE_RANGE, + ) victim.bleed(blood_bled, TRUE) if(14 to 19) - victim.visible_message("Blood spews out of [victim]'s mouth from the blow to [victim.p_their()] chest!", span_danger("You spit out a string of blood from the blow to your chest!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_smalldanger("Blood spews out of [victim]'s mouth from the blow to [victim.p_their()] chest!"), + span_danger("You spit out a string of blood from the blow to your chest!"), + vision_distance = COMBAT_MESSAGE_RANGE, + ) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.bleed(blood_bled) if(20 to INFINITY) - victim.visible_message(span_danger("Blood spurts out of [victim]'s mouth from the blow to [victim.p_their()] chest!"), span_danger("You choke up on a spray of blood from the blow to your chest!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_danger("Blood spurts out of [victim]'s mouth from the blow to [victim.p_their()] chest!"), + span_bolddanger("You choke up on a spray of blood from the blow to your chest!"), + vision_distance = COMBAT_MESSAGE_RANGE, + ) victim.bleed(blood_bled) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.add_splatter_floor(get_step(victim.loc, victim.dir)) @@ -187,7 +199,9 @@ /datum/wound/blunt/bone/moderate name = "Joint Dislocation" desc = "Patient's limb has been unset from socket, causing pain and reduced motor function." - treat_text = "Recommended application of bonesetter to affected limb, though manual relocation by applying an aggressive grab to the patient and helpfully interacting with afflicted limb may suffice." + 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." + treat_text_short = "Apply Bonesetter, or manually relocate the limb." examine_desc = "is awkwardly janked out of place" occur_text = "janks violently and becomes unseated" severity = WOUND_SEVERITY_MODERATE @@ -322,7 +336,9 @@ /datum/wound/blunt/bone/severe name = "Hairline Fracture" desc = "Patient's bone has suffered a crack in the foundation, causing serious pain and reduced limb functionality." - treat_text = "Recommended light surgical application of bone gel, though a sling of medical gauze will prevent worsening situation." + treat_text = "Repair surgically. In the event of an emergency, an application of bone gel over the affected area will fix over time. \ + A splint or sling of medical gauze can also be used to prevent the fracture from worsening." + treat_text_short = "Repair surgically, or apply bone gel. A splint or gauze sling can also be used." examine_desc = "appears grotesquely swollen, jagged bumps hinting at chips in the bone" occur_text = "sprays chips of bone and develops a nasty looking bruise" @@ -355,8 +371,11 @@ /// Compound Fracture (Critical Blunt) /datum/wound/blunt/bone/critical name = "Compound Fracture" - desc = "Patient's bones have suffered multiple gruesome fractures, causing significant pain and near uselessness of limb." - treat_text = "Immediate binding of affected limb, followed by surgical intervention ASAP." + 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. \ + In the event of an emergency, bone gel and surgical tape can be applied to the affected area to fix over a long period of time." + treat_text_short = "Repair surgically, or apply bone gel and surgical tape. A splint or gauze sling should also be used." examine_desc = "is thoroughly pulped and cracked, exposing shards of bone to open air" occur_text = "cracks apart, exposing broken bones to open air" diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index 394486fef9a24..a4ef3bd7b7df7 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -41,7 +41,7 @@ return . = ..() - if(strikes_to_lose_limb == 0) // we've already hit sepsis, nothing more to do + if(strikes_to_lose_limb <= 0) // we've already hit sepsis, nothing more to do victim.adjustToxLoss(0.25 * seconds_per_tick) if(SPT_PROB(0.5, seconds_per_tick)) victim.visible_message(span_danger("The infection on the remnants of [victim]'s [limb.plaintext_zone] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [limb.plaintext_zone] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE) @@ -135,6 +135,13 @@ threshold_penalty = 120 // piss easy to destroy set_disabling(TRUE) +/datum/wound/burn/flesh/set_disabling(new_value) + . = ..() + if(new_value && strikes_to_lose_limb <= 0) + treat_text_short = "Amputate or augment limb immediately, or place the patient into cryogenics." + else + treat_text_short = initial(treat_text_short) + /datum/wound/burn/flesh/get_wound_description(mob/user) if(strikes_to_lose_limb <= 0) return span_deadsay("[victim.p_Their()] [limb.plaintext_zone] has locked up completely and is non-functional.") @@ -168,9 +175,25 @@ return "[condition.Join()]" +/datum/wound/burn/flesh/severity_text(simple = FALSE) + . = ..() + . += " Burn / " + switch(infestation) + if(-INFINITY to WOUND_INFECTION_MODERATE) + . += "No" + if(WOUND_INFECTION_MODERATE to WOUND_INFECTION_SEVERE) + . += "Moderate" + if(WOUND_INFECTION_SEVERE to WOUND_INFECTION_CRITICAL) + . += "Severe" + if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC) + . += "Critical" + if(WOUND_INFECTION_SEPTIC to INFINITY) + . += "Total" + . += " Infection" + /datum/wound/burn/flesh/get_scanner_description(mob/user) if(strikes_to_lose_limb <= 0) // Unclear if it can go below 0, best to not take the chance - var/oopsie = "Type: [name]\nSeverity: [severity_text()]" + var/oopsie = "Type: [name]
Severity: [severity_text()]" oopsie += "
Infection Level: [span_deadsay("The body part has suffered complete sepsis and must be removed. Amputate or augment limb immediately, or place the patient in a cryotube.")]
" return oopsie @@ -249,7 +272,7 @@ // people complained about burns not healing on stasis beds, so in addition to checking if it's cured, they also get the special ability to very slowly heal on stasis beds if they have the healing effects stored /datum/wound/burn/flesh/on_stasis(seconds_per_tick, times_fired) . = ..() - if(strikes_to_lose_limb == 0) // we've already hit sepsis, nothing more to do + if(strikes_to_lose_limb <= 0) // we've already hit sepsis, nothing more to do if(SPT_PROB(0.5, seconds_per_tick)) victim.visible_message(span_danger("The infection on the remnants of [victim]'s [limb.plaintext_zone] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [limb.plaintext_zone] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE) return @@ -280,7 +303,8 @@ /datum/wound/burn/flesh/moderate name = "Second Degree Burns" desc = "Patient is suffering considerable burns with mild skin penetration, weakening limb integrity and increased burning sensations." - treat_text = "Recommended application of topical ointment or regenerative mesh to affected region." + treat_text = "Apply topical ointment or regenerative mesh to the wound." + treat_text_short = "Apply healing aid such as regenerative mesh." examine_desc = "is badly burned and breaking out in blisters" occur_text = "breaks out with violent red burns" severity = WOUND_SEVERITY_MODERATE @@ -304,7 +328,11 @@ /datum/wound/burn/flesh/severe name = "Third Degree Burns" desc = "Patient is suffering extreme burns with full skin penetration, creating serious risk of infection and greatly reduced limb integrity." - treat_text = "Recommended immediate disinfection and excision of any infected skin, followed by bandaging and ointment. If the limb has locked up, it must be amputated, augmented or treated with cryogenics." + treat_text = "Swiftly apply healing aids such as Synthflesh or regenerative mesh to the wound. \ + Disinfect the wound and surgically debride any infected skin, and wrap in clean gauze / use ointment to prevent further infection. \ + If the limb has locked up, it must be amputated, augmented or treated with cryogenics." + treat_text_short = "Apply healing aid such as regenerative mesh, Synthflesh, or cryogenics and disinfect / debride. \ + Clean gauze or ointment will slow infection rate." examine_desc = "appears seriously charred, with aggressive red splotches" occur_text = "chars rapidly, exposing ruined tissue and spreading angry red burns" severity = WOUND_SEVERITY_SEVERE @@ -330,7 +358,11 @@ /datum/wound/burn/flesh/critical name = "Catastrophic Burns" desc = "Patient is suffering near complete loss of tissue and significantly charred muscle and bone, creating life-threatening risk of infection and negligible limb integrity." - treat_text = "Immediate surgical debriding of any infected skin, followed by potent tissue regeneration formula and bandaging. If the limb has locked up, it must be amputated, augmented or treated with cryogenics." + treat_text = "Immediately apply healing aids such as Synthflesh or regenerative mesh to the wound. \ + Disinfect the wound and surgically debride any infected skin, and wrap in clean gauze / use ointment to prevent further infection. \ + If the limb has locked up, it must be amputated, augmented or treated with cryogenics." + treat_text_short = "Apply healing aid such as regenerative mesh, Synthflesh, or cryogenics and disinfect / debride. \ + Clean gauze or ointment will slow infection rate." examine_desc = "is a ruined mess of blanched bone, melted fat, and charred tissue" occur_text = "vaporizes as flesh, bone, and fat melt together in a horrifying mess" severity = WOUND_SEVERITY_CRITICAL diff --git a/code/datums/wounds/cranial_fissure.dm b/code/datums/wounds/cranial_fissure.dm index df973d3bdec90..8feebe8d2b624 100644 --- a/code/datums/wounds/cranial_fissure.dm +++ b/code/datums/wounds/cranial_fissure.dm @@ -29,7 +29,8 @@ /datum/wound/cranial_fissure name = "Cranial Fissure" desc = "Patient's crown is agape, revealing severe damage to the skull." - treat_text = "Immediate surgical reconstruction of the skull." + treat_text = "Surgical reconstruction of the skull is necessary." + treat_text_short = "Surgical reconstruction required." examine_desc = "is split open" occur_text = "is split into two separated chunks" @@ -95,7 +96,7 @@ victim.balloon_alert(user, "no eyes to take!") return TRUE - playsound(victim, 'sound/surgery/organ2.ogg', 50, TRUE) + playsound(victim, 'sound/items/handling/surgery/organ2.ogg', 50, TRUE) victim.balloon_alert(user, "pulling out eyes...") user.visible_message( span_boldwarning("[user] reaches inside [victim]'s skull..."), @@ -115,7 +116,7 @@ log_combat(user, victim, "pulled out the eyes of") - playsound(victim, 'sound/surgery/organ1.ogg', 75, TRUE) + playsound(victim, 'sound/items/handling/surgery/organ1.ogg', 75, TRUE) user.visible_message( span_boldwarning("[user] rips out [victim]'s eyes!"), span_boldwarning("You rip out [victim]'s eyes!"), diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index 4454b0024e441..2cdc2bab382ac 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -6,7 +6,7 @@ /datum/wound/pierce/bleed name = "Piercing Wound" - sound_effect = 'sound/weapons/slice.ogg' + sound_effect = 'sound/items/weapons/slice.ogg' processes = TRUE treatable_by = list(/obj/item/stack/medical/suture) treatable_tools = list(TOOL_CAUTERY) @@ -42,14 +42,26 @@ if(1 to 6) victim.bleed(blood_bled, TRUE) if(7 to 13) - victim.visible_message("Blood droplets fly from the hole in [victim]'s [limb.plaintext_zone].", span_danger("You cough up a bit of blood from the blow to your [limb.plaintext_zone]."), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_smalldanger("Blood droplets fly from the hole in [victim]'s [limb.plaintext_zone]."), + span_danger("You cough up a bit of blood from the blow to your [limb.plaintext_zone]."), + vision_distance = COMBAT_MESSAGE_RANGE, + ) victim.bleed(blood_bled, TRUE) if(14 to 19) - victim.visible_message("A small stream of blood spurts from the hole in [victim]'s [limb.plaintext_zone]!", span_danger("You spit out a string of blood from the blow to your [limb.plaintext_zone]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_smalldanger("A small stream of blood spurts from the hole in [victim]'s [limb.plaintext_zone]!"), + span_danger("You spit out a string of blood from the blow to your [limb.plaintext_zone]!"), + vision_distance = COMBAT_MESSAGE_RANGE, + ) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.bleed(blood_bled) if(20 to INFINITY) - victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [limb.plaintext_zone]!"), span_danger("You choke up on a spray of blood from the blow to your [limb.plaintext_zone]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_danger("A spray of blood streams from the gash in [victim]'s [limb.plaintext_zone]!"), + span_bolddanger("You choke up on a spray of blood from the blow to your [limb.plaintext_zone]!"), + vision_distance = COMBAT_MESSAGE_RANGE, + ) victim.bleed(blood_bled) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.add_splatter_floor(get_step(victim.loc, victim.dir)) @@ -180,7 +192,10 @@ /datum/wound/pierce/bleed/moderate name = "Minor Skin Breakage" desc = "Patient's skin has been broken open, causing severe bruising and minor internal bleeding in affected area." - treat_text = "Treat affected site with bandaging or exposure to extreme cold. In dire cases, brief exposure to vacuum may suffice." // space is cold in ss13, so it's like an ice pack! + treat_text = "Apply bandaging or suturing to the wound, make use of blood clotting agents, \ + cauterization, or in extreme circumstances, exposure to extreme cold or vaccuum. \ + Follow with food and a rest period." + treat_text_short = "Apply bandaging or suturing." examine_desc = "has a small, circular hole, gently bleeding" occur_text = "spurts out a thin stream of blood" sound_effect = 'sound/effects/wounds/pierce1.ogg' @@ -211,7 +226,10 @@ /datum/wound/pierce/bleed/severe name = "Open Puncture" desc = "Patient's internal tissue is penetrated, causing sizeable internal bleeding and reduced limb stability." - treat_text = "Repair punctures in skin by suture or cautery, extreme cold may also work." + treat_text = "Swiftly apply bandaging or suturing to the wound, make use of blood clotting agents or saline-glucose, \ + cauterization, or in extreme circumstances, exposure to extreme cold or vaccuum. \ + Follow with iron supplements and a rest period." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "is pierced clear through, with bits of tissue obscuring the open hole" occur_text = "looses a violent spray of blood, revealing a pierced wound" sound_effect = 'sound/effects/wounds/pierce2.ogg' @@ -241,7 +259,10 @@ /datum/wound/pierce/bleed/critical name = "Ruptured Cavity" desc = "Patient's internal tissue and circulatory system is shredded, causing significant internal bleeding and damage to internal organs." - treat_text = "Surgical repair of puncture wound, followed by supervised resanguination." + treat_text = "Immediately apply bandaging or suturing to the wound, make use of blood clotting agents or saline-glucose, \ + cauterization, or in extreme circumstances, exposure to extreme cold or vaccuum. \ + Follow with supervised resanguination." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "is ripped clear through, barely held together by exposed bone" occur_text = "blasts apart, sending chunks of viscera flying in all directions" sound_effect = 'sound/effects/wounds/pierce3.ogg' diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index dd41d48620e99..fd3cb4bd7b2b1 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -5,7 +5,7 @@ /datum/wound/slash name = "Slashing (Cut) Wound" - sound_effect = 'sound/weapons/slice.ogg' + sound_effect = 'sound/items/weapons/slice.ogg' /datum/wound_pregen_data/flesh_slash abstract = TRUE @@ -321,7 +321,9 @@ /datum/wound/slash/flesh/moderate name = "Rough Abrasion" desc = "Patient's skin has been badly scraped, generating moderate blood loss." - treat_text = "Application of clean bandages or first-aid grade sutures, followed by food and rest." + treat_text = "Apply bandaging or suturing to the wound. \ + Follow up with food and a rest period." + treat_text_short = "Apply bandaging or suturing." examine_desc = "has an open cut" occur_text = "is cut open, slowly leaking blood" sound_effect = 'sound/effects/wounds/blood1.ogg' @@ -350,7 +352,10 @@ /datum/wound/slash/flesh/severe name = "Open Laceration" desc = "Patient's skin is ripped clean open, allowing significant blood loss." - treat_text = "Speedy application of first-aid grade sutures and clean bandages, followed by vitals monitoring to ensure recovery." + treat_text = "Swiftly apply bandaging or suturing to the wound, \ + or make use of blood clotting agents or cauterization. \ + Follow up with iron supplements or saline-glucose and a rest period." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "has a severe cut" occur_text = "is ripped open, veins spurting blood" sound_effect = 'sound/effects/wounds/blood2.ogg' @@ -380,7 +385,10 @@ /datum/wound/slash/flesh/critical name = "Weeping Avulsion" desc = "Patient's skin is completely torn open, along with significant loss of tissue. Extreme blood loss will lead to quick death without intervention." - treat_text = "Immediate bandaging and either suturing or cauterization, followed by supervised resanguination." + treat_text = "Immediately apply bandaging or suturing to the wound, \ + or make use of blood clotting agents or cauterization. \ + Follow up supervised resanguination." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "is carved down to the bone, spraying blood wildly" occur_text = "is torn open, spraying blood wildly" sound_effect = 'sound/effects/wounds/blood3.ogg' diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 04d26a5e50a5a..b988fa0b6daa8 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -91,7 +91,7 @@ ///Does this area immediately play an ambience track upon enter? var/forced_ambience = FALSE ///The background droning loop that plays 24/7 - var/ambient_buzz = 'sound/ambience/shipambience.ogg' + var/ambient_buzz = 'sound/ambience/general/shipambience.ogg' ///The volume of the ambient buzz var/ambient_buzz_vol = 35 ///Used to decide what the minimum time between ambience is diff --git a/code/game/area/areas/ai_monitored.dm b/code/game/area/areas/ai_monitored.dm index a6964d70f6ae0..4e63479987e85 100644 --- a/code/game/area/areas/ai_monitored.dm +++ b/code/game/area/areas/ai_monitored.dm @@ -23,9 +23,9 @@ // Turret protected /area/station/ai_monitored/turret_protected - ambientsounds = list('sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') + ambientsounds = list('sound/ambience/engineering/ambitech.ogg', 'sound/ambience/engineering/ambitech2.ogg', 'sound/ambience/engineering/ambiatmos.ogg', 'sound/ambience/engineering/ambiatmos2.ogg') ///Some sounds (like the space jam) are terrible when on loop. We use this variable to add it to other AI areas, but override it to keep it from the AI's core. - var/ai_will_not_hear_this = list('sound/ambience/ambimalf.ogg') + var/ai_will_not_hear_this = list('sound/ambience/misc/ambimalf.ogg') airlock_wires = /datum/wires/airlock/ai /area/station/ai_monitored/turret_protected/Initialize(mapload) diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm index 5e2219ef857e0..5ff0143c0a1a9 100644 --- a/code/game/area/areas/away_content.dm +++ b/code/game/area/areas/away_content.dm @@ -23,7 +23,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" base_lighting_alpha = 200 base_lighting_color = "#FFF4AA" sound_environment = SOUND_ENVIRONMENT_PLAIN - ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg') + ambientsounds = list('sound/ambience/beach/shore.ogg', 'sound/ambience/misc/ambiodd.ogg','sound/ambience/medical/ambinice.ogg') /area/awaymission/museum/cafeteria name = "Nanotrasen Museum Cafeteria" diff --git a/code/game/area/areas/centcom.dm b/code/game/area/areas/centcom.dm index 012e7a170f726..28b3496c4e18a 100644 --- a/code/game/area/areas/centcom.dm +++ b/code/game/area/areas/centcom.dm @@ -124,6 +124,7 @@ /area/centcom/tdome/arena name = "Thunderdome Arena" icon_state = "thunder" + area_flags = parent_type::area_flags | UNLIMITED_FISHING //for possible testing purposes /area/centcom/tdome/tdome1 name = "Thunderdome (Team 1)" diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm index 031a6dd5039d7..be6db4e077fec 100644 --- a/code/game/area/areas/mining.dm +++ b/code/game/area/areas/mining.dm @@ -4,7 +4,7 @@ icon_state = "mining" has_gravity = STANDARD_GRAVITY area_flags = VALID_TERRITORY | UNIQUE_AREA | FLORA_ALLOWED | CULT_PERMITTED - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' /area/mine/lobby name = "Mining Station" @@ -134,7 +134,7 @@ flags_1 = NONE area_flags = VALID_TERRITORY | UNIQUE_AREA | FLORA_ALLOWED sound_environment = SOUND_AREA_LAVALAND - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' /area/lavaland/surface name = "Lavaland" @@ -195,7 +195,7 @@ area_flags = UNIQUE_AREA | FLORA_ALLOWED ambience_index = AMBIENCE_ICEMOON sound_environment = SOUND_AREA_ICEMOON - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' /area/icemoon/surface name = "Icemoon" diff --git a/code/game/area/areas/ruins/icemoon.dm b/code/game/area/areas/ruins/icemoon.dm index d0049e7007c49..061bd8f06d209 100644 --- a/code/game/area/areas/ruins/icemoon.dm +++ b/code/game/area/areas/ruins/icemoon.dm @@ -75,3 +75,7 @@ /area/ruin/powered/hermit name = "\improper Hermit's Cabin" +/area/ruin/syndielab + name = "\improper Syndicate Lab" + ambience_index = AMBIENCE_DANGER + sound_environment = SOUND_ENVIRONMENT_CAVE diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index f9c57510132f6..4e806bf1c1030 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -8,7 +8,7 @@ /area/ruin/powered/clownplanet name = "\improper Clown Biodome" - ambientsounds = list('sound/ambience/clown.ogg') + ambientsounds = list('sound/music/lobby_music/clown.ogg') /area/ruin/unpowered/gaia name = "\improper Patch of Eden" @@ -38,7 +38,7 @@ /area/ruin/syndicate_lava_base name = "\improper Secret Base" ambience_index = AMBIENCE_DANGER - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' /area/ruin/unpowered/cultaltar name = "\improper Cult Altar" @@ -49,7 +49,7 @@ name = "\improper The Lizard's Gas" icon_state = "lizardgas" sound_environment = SOUND_ENVIRONMENT_ROOM - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' //Syndicate lavaland base @@ -94,11 +94,11 @@ power_environ = FALSE power_equip = FALSE power_light = FALSE - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' //ash walker nest /area/ruin/unpowered/ash_walkers - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' /area/ruin/unpowered/ratvar outdoors = TRUE - ambient_buzz = 'sound/ambience/magma.ogg' + ambient_buzz = 'sound/ambience/lavaland/magma.ogg' diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index 5eac7addb4ec2..ac687d6024a88 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -55,7 +55,7 @@ /area/ruin/space/has_grav/powered/aesthetic name = "Aesthetic" - ambientsounds = list('sound/ambience/ambivapor1.ogg') + ambientsounds = list('sound/ambience/misc/ambivapor1.ogg') //Ruin of Hotel @@ -335,7 +335,7 @@ /area/ruin/space/ancientstation/delta/ai name = "\improper Delta Station AI Core" icon_state = "os_delta_ai" - ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') + ambientsounds = list('sound/ambience/misc/ambimalf.ogg', 'sound/ambience/engineering/ambitech.ogg', 'sound/ambience/engineering/ambitech2.ogg', 'sound/ambience/engineering/ambiatmos.ogg', 'sound/ambience/engineering/ambiatmos2.ogg') /area/ruin/space/ancientstation/delta/storage name = "\improper Delta Station Storage" @@ -546,14 +546,14 @@ /area/ruin/space/abandoned_tele name = "\improper Abandoned Teleporter" - ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/signal.ogg') + ambientsounds = list('sound/ambience/misc/ambimalf.ogg', 'sound/ambience/misc/signal.ogg') //OLD AI SAT /area/ruin/space/tcommsat_oldaisat // Since tcommsat was moved to /area/station/, this turf doesn't inhereit its properties anymore name = "\improper Abandoned Satellite" - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen9.ogg', 'sound/ambience/ambitech.ogg',\ - 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg') + ambientsounds = list('sound/ambience/engineering/ambisin2.ogg', 'sound/ambience/misc/signal.ogg', 'sound/ambience/misc/signal.ogg', 'sound/ambience/general/ambigen9.ogg', 'sound/ambience/engineering/ambitech.ogg',\ + 'sound/ambience/engineering/ambitech2.ogg', 'sound/ambience/engineering/ambitech3.ogg', 'sound/ambience/misc/ambimystery.ogg') airlock_wires = /datum/wires/airlock/engineering // CRASHED PRISON SHUTTLE @@ -592,7 +592,7 @@ // The planet of the clowns /area/ruin/space/has_grav/powered/clownplanet name = "\improper Clown Planet" - ambientsounds = list('sound/ambience/clown.ogg') + ambientsounds = list('sound/music/lobby_music/clown.ogg') //DERELICT SULACO /area/ruin/space/has_grav/derelictsulaco @@ -671,7 +671,7 @@ icon = 'icons/area/areas_ruins.dmi' icon_state = "ruins" requires_power = FALSE - ambientsounds = list('sound/ambience/ambigen12.ogg','sound/ambience/ambigen13.ogg','sound/ambience/ambinice.ogg') + ambientsounds = list('sound/ambience/general/ambigen12.ogg','sound/ambience/general/ambigen13.ogg','sound/ambience/medical/ambinice.ogg') // the outlet /area/ruin/space/has_grav/the_outlet/storefront diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index 504efe0742ad1..f128805924fe8 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -123,7 +123,7 @@ if(SSshuttle.arrivals?.mode == SHUTTLE_CALL) var/atom/movable/screen/splash/Spl = new(null, boarder.client, TRUE) Spl.Fade(TRUE) - boarder.playsound_local(get_turf(boarder), 'sound/voice/ApproachingTG.ogg', 25) + boarder.playsound_local(get_turf(boarder), 'sound/announcer/ApproachingTG.ogg', 25) boarder.update_parallax_teleport() diff --git a/code/game/area/areas/station/command.dm b/code/game/area/areas/station/command.dm index 23f2c7c61c0fc..ee4325d94aef8 100644 --- a/code/game/area/areas/station/command.dm +++ b/code/game/area/areas/station/command.dm @@ -2,7 +2,7 @@ name = "Command" icon_state = "command" ambientsounds = list( - 'sound/ambience/signal.ogg', + 'sound/ambience/misc/signal.ogg', ) airlock_wires = /datum/wires/airlock/command sound_environment = SOUND_AREA_STANDARD_STATION diff --git a/code/game/area/areas/station/maintenance.dm b/code/game/area/areas/station/maintenance.dm index 53e6da606d085..5e636719e7a09 100644 --- a/code/game/area/areas/station/maintenance.dm +++ b/code/game/area/areas/station/maintenance.dm @@ -5,7 +5,7 @@ airlock_wires = /datum/wires/airlock/maint sound_environment = SOUND_AREA_TUNNEL_ENCLOSED forced_ambience = TRUE - ambient_buzz = 'sound/ambience/source_corridor2.ogg' + ambient_buzz = 'sound/ambience/maintenance/source_corridor2.ogg' ambient_buzz_vol = 20 /* diff --git a/code/game/area/areas/station/medical.dm b/code/game/area/areas/station/medical.dm index fc6c6ff3a7564..b45a1492b290f 100644 --- a/code/game/area/areas/station/medical.dm +++ b/code/game/area/areas/station/medical.dm @@ -11,7 +11,7 @@ name = "\improper Abandoned Medbay" icon_state = "abandoned_medbay" ambientsounds = list( - 'sound/ambience/signal.ogg', + 'sound/ambience/misc/signal.ogg', ) sound_environment = SOUND_AREA_SMALL_ENCLOSED @@ -124,5 +124,5 @@ mood_bonus = 3 mood_message = "I feel at ease here." ambientsounds = list( - 'sound/ambience/aurora_caelus_short.ogg', + 'sound/ambience/aurora_caelus/aurora_caelus_short.ogg', ) diff --git a/code/game/area/areas/station/security.dm b/code/game/area/areas/station/security.dm index 93629f35628c2..ca158e69df87b 100644 --- a/code/game/area/areas/station/security.dm +++ b/code/game/area/areas/station/security.dm @@ -79,8 +79,8 @@ name = "\improper Detective's Office" icon_state = "detective" ambientsounds = list( - 'sound/ambience/ambidet1.ogg', - 'sound/ambience/ambidet2.ogg', + 'sound/ambience/security/ambidet1.ogg', + 'sound/ambience/security/ambidet2.ogg', ) /area/station/security/detectives_office/private_investigators_office diff --git a/code/game/area/areas/station/telecomm.dm b/code/game/area/areas/station/telecomm.dm index 78ec16a59bf29..02101c28c1a90 100644 --- a/code/game/area/areas/station/telecomm.dm +++ b/code/game/area/areas/station/telecomm.dm @@ -5,14 +5,14 @@ /area/station/tcommsat icon_state = "tcomsatcham" ambientsounds = list( - 'sound/ambience/ambisin2.ogg', - 'sound/ambience/signal.ogg', - 'sound/ambience/signal.ogg', - 'sound/ambience/ambigen9.ogg', - 'sound/ambience/ambitech.ogg', - 'sound/ambience/ambitech2.ogg', - 'sound/ambience/ambitech3.ogg', - 'sound/ambience/ambimystery.ogg', + 'sound/ambience/engineering/ambisin2.ogg', + 'sound/ambience/misc/signal.ogg', + 'sound/ambience/misc/signal.ogg', + 'sound/ambience/general/ambigen9.ogg', + 'sound/ambience/engineering/ambitech.ogg', + 'sound/ambience/engineering/ambitech2.ogg', + 'sound/ambience/engineering/ambitech3.ogg', + 'sound/ambience/misc/ambimystery.ogg', ) airlock_wires = /datum/wires/airlock/engineering diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index c025428a17b6e..7f43cc2c6ee8c 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -690,10 +690,10 @@ created_atoms.Add(created_atom) to_chat(user, span_notice("You manage to create [amount_to_create] [initial(atom_to_create.gender) == PLURAL ? "[initial(atom_to_create.name)]" : "[initial(atom_to_create.name)][plural_s(initial(atom_to_create.name))]"] from [src].")) SEND_SIGNAL(src, COMSIG_ATOM_PROCESSED, user, process_item, created_atoms) - UsedforProcessing(user, process_item, chosen_option) + UsedforProcessing(user, process_item, chosen_option, created_atoms) return -/atom/proc/UsedforProcessing(mob/living/user, obj/item/used_item, list/chosen_option) +/atom/proc/UsedforProcessing(mob/living/user, obj/item/used_item, list/chosen_option, list/created_atoms) qdel(src) return @@ -876,10 +876,18 @@ var/shift_lmb_ctrl_shift_lmb_line = "" var/extra_lines = 0 var/extra_context = "" + var/used_name = name if(isliving(user) || isovermind(user) || isaicamera(user) || (ghost_screentips && isobserver(user))) var/obj/item/held_item = user.get_active_held_item() + if (user.mob_flags & MOB_HAS_SCREENTIPS_NAME_OVERRIDE) + var/list/returned_name = list(used_name) + + var/name_override_returns = SEND_SIGNAL(user, COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER, returned_name, held_item, src) + if (name_override_returns & SCREENTIP_NAME_SET) + used_name = returned_name[1] + if (flags_1 & HAS_CONTEXTUAL_SCREENTIPS_1 || held_item?.item_flags & ITEM_HAS_CONTEXTUAL_SCREENTIPS) var/list/context = list() @@ -945,9 +953,9 @@ new_maptext = "" else //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this - new_maptext = "[name][extra_context]" + new_maptext = "[used_name][extra_context]" - if (length(name) * 10 > active_hud.screentip_text.maptext_width) + if (length(used_name) * 10 > active_hud.screentip_text.maptext_width) INVOKE_ASYNC(src, PROC_REF(set_hover_maptext), client, active_hud, new_maptext) return diff --git a/code/game/atom/alternate_appearance.dm b/code/game/atom/alternate_appearance.dm index 108b72b95d286..8c50760ea45ea 100644 --- a/code/game/atom/alternate_appearance.dm +++ b/code/game/atom/alternate_appearance.dm @@ -212,3 +212,10 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) return ..() /datum/atom_hud/alternate_appearance/basic/food_demands + +/datum/atom_hud/alternate_appearance/basic/heretic + +/datum/atom_hud/alternate_appearance/basic/heretic/mobShouldSee(mob/M) + if(IS_HERETIC(M)) + return TRUE + return FALSE diff --git a/code/game/atom/atom_act.dm b/code/game/atom/atom_act.dm index c9951b9209422..7b69f02340c87 100644 --- a/code/game/atom/atom_act.dm +++ b/code/game/atom/atom_act.dm @@ -115,11 +115,15 @@ * Im not sure why this the case, maybe to prevent lots of hitby's if the thrown object is * deleted shortly after hitting something (during explosions or other massive events that * throw lots of items around - singularity being a notable example) + * + * Worth of note: If hitby returns TRUE, it means the object has been blocked or catched by src. + * So far, this is only possible for living mobs and carbons, who can hold shields and catch thrown items. */ /atom/proc/hitby(atom/movable/hitting_atom, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) SEND_SIGNAL(src, COMSIG_ATOM_HITBY, hitting_atom, skipcatch, hitpush, blocked, throwingdatum) if(density && !has_gravity(hitting_atom)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). addtimer(CALLBACK(src, PROC_REF(hitby_react), hitting_atom), 0.2 SECONDS) + return FALSE /** * We have have actually hit the passed in atom diff --git a/code/game/atom/atom_defense.dm b/code/game/atom/atom_defense.dm index 4a762e4de8b49..ce31eb81246f1 100644 --- a/code/game/atom/atom_defense.dm +++ b/code/game/atom/atom_defense.dm @@ -108,11 +108,11 @@ switch(damage_type) if(BRUTE) if(damage_amount) - playsound(src, 'sound/weapons/smash.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/smash.ogg', 50, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) ///Called to get the damage that hulks will deal to the atom. /atom/proc/hulk_damage() diff --git a/code/game/atom/atom_examine.dm b/code/game/atom/atom_examine.dm index ab94c73856365..fee219f7b4b50 100644 --- a/code/game/atom/atom_examine.dm +++ b/code/game/atom/atom_examine.dm @@ -1,6 +1,14 @@ /atom - ///If non-null, overrides a/an/some in all cases + /// If non-null, overrides a/an/some in all cases var/article + /// Text that appears preceding the name in examine() + var/examine_thats = "That's" + +/mob/living/carbon/human + examine_thats = "This is" + +/mob/living/silicon/robot + examine_thats = "This is" /** * Called when a mob examines (shift click or verb) this atom @@ -11,22 +19,20 @@ * Produces a signal [COMSIG_ATOM_EXAMINE] */ /atom/proc/examine(mob/user) - var/examine_string = get_examine_string(user, thats = TRUE) - if(examine_string) - . = list("[examine_string].") - else - . = list() - + . = list() . += get_name_chaser(user) if(desc) - . += desc + . += "[desc]" - if(custom_materials) - var/list/materials_list = list() - for(var/custom_material in custom_materials) - var/datum/material/current_material = GET_MATERIAL_REF(custom_material) - materials_list += "[current_material.name]" - . += "It is made out of [english_list(materials_list)]." + var/list/tags_list = examine_tags(user) + if (length(tags_list)) + var/tag_string = list() + for (var/atom_tag in tags_list) + tag_string += (isnull(tags_list[atom_tag]) ? atom_tag : span_tooltip(tags_list[atom_tag], atom_tag)) + // Weird bit but ensures that if the final element has its own "and" we don't add another one + tag_string = english_list(tag_string, and_text = (findtext(tag_string[length(tag_string)], " and ")) ? ", " : " and ") + var/post_descriptor = examine_post_descriptor(user) + . += "[p_They()] [p_are()] a [tag_string] [examine_descriptor(user)][length(post_descriptor) ? " [jointext(post_descriptor, " ")]" : ""]." if(reagents) var/user_sees_reagents = user.can_see_reagents() @@ -52,6 +58,34 @@ SEND_SIGNAL(src, COMSIG_ATOM_EXAMINE, user, .) +/* + * A list of "tags" displayed after atom's description in examine. + * This should return an assoc list of tags -> tooltips for them. If item if null, then no tooltip is assigned. + * For example: + * list("small" = "This is a small size class item.", "fireproof" = "This item is impervious to fire.") + * will result in + * This is a small, fireproof item. + * where "item" is pulled from examine_descriptor() proc + */ +/atom/proc/examine_tags(mob/user) + . = list() + SEND_SIGNAL(src, COMSIG_ATOM_EXAMINE_TAGS, user, .) + +/// What this atom should be called in examine tags +/atom/proc/examine_descriptor(mob/user) + return "object" + +/// Returns a list of strings to be displayed after the descriptor +/atom/proc/examine_post_descriptor(mob/user) + . = list() + if(!custom_materials) + return + var/mats_list = list() + for(var/custom_material in custom_materials) + var/datum/material/current_material = GET_MATERIAL_REF(custom_material) + mats_list += span_tooltip("It is made out of [current_material.name].", current_material.name) + . += "made of [english_list(mats_list)]" + /** * Called when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_WINDOW (default 1 second) * @@ -75,7 +109,7 @@ * [COMSIG_ATOM_GET_EXAMINE_NAME] signal */ /atom/proc/get_examine_name(mob/user) - var/list/override = list(article, null, "[name]") + var/list/override = list(article, null, "[get_visible_name()]") SEND_SIGNAL(src, COMSIG_ATOM_GET_EXAMINE_NAME, user, override) if(!isnull(override[EXAMINE_POSITION_ARTICLE])) @@ -84,11 +118,24 @@ if(!isnull(override[EXAMINE_POSITION_BEFORE])) override -= null // There is no article, don't try to join it return "\a [jointext(override, " ")]" - return "\a [src]" + return "\a [src]" + +/mob/living/get_examine_name(mob/user) + return get_visible_name() + +/// Icon displayed in examine +/atom/proc/get_examine_icon(mob/user) + return icon2html(src, user) -///Generate the full examine string of this atom (including icon for goonchat) -/atom/proc/get_examine_string(mob/user, thats = FALSE) - return "[icon2html(src, user)] [thats? "That's ":""][get_examine_name(user)]" +/** + * Formats the atom's name into a string for use in examine (as the "title" of the atom) + * + * * user - the mob examining the atom + * * thats - whether to include "That's", or similar (mobs use "This is") before the name + */ +/atom/proc/examine_title(mob/user, thats = FALSE) + var/examine_icon = get_examine_icon(user) + return "[examine_icon ? "[examine_icon] " : ""][thats ? "[examine_thats] ":""][get_examine_name(user)]" /** * Returns an extended list of examine strings for any contained ID cards. @@ -98,7 +145,6 @@ */ /atom/proc/get_id_examine_strings(mob/user) . = list() - return ///Used to insert text after the name but before the description in examine() /atom/proc/get_name_chaser(mob/user, list/name_chaser = list()) diff --git a/code/game/atom/atom_tool_acts.dm b/code/game/atom/atom_tool_acts.dm index 10bed5a407760..efb43fc16e571 100644 --- a/code/game/atom/atom_tool_acts.dm +++ b/code/game/atom/atom_tool_acts.dm @@ -1,7 +1,7 @@ /** * ## Item interaction * - * Handles non-combat iteractions of a tool on this atom, + * Handles non-combat interactions of a tool on this atom, * such as using a tool on a wall to deconstruct it, * or scanning someone with a health analyzer */ @@ -14,7 +14,7 @@ if(tool_return) return tool_return - var/is_right_clicking = LAZYACCESS(modifiers, RIGHT_CLICK) + var/is_right_clicking = text2num(LAZYACCESS(modifiers, RIGHT_CLICK)) var/is_left_clicking = !is_right_clicking var/early_sig_return = NONE if(is_left_clicking) @@ -22,10 +22,8 @@ * This is intentionally using `||` instead of `|` to short-circuit the signal calls * This is because we want to return early if ANY of these signals return a value * - * This puts priority on the atom's signals, then the tool's signals, then the user's signals - * So stuff like storage can be handled before stuff the item wants to do like cleaner component - * - * Future idea: Being on combat mode could change/reverse the priority of these signals + * This puts priority on the atom's signals, then the tool's signals, then the user's signals, + * so we can avoid doing two interactions at once */ early_sig_return = SEND_SIGNAL(src, COMSIG_ATOM_ITEM_INTERACTION, user, tool, modifiers) \ || SEND_SIGNAL(tool, COMSIG_ITEM_INTERACTING_WITH_ATOM, user, src, modifiers) \ @@ -50,6 +48,16 @@ if(interact_return) return interact_return + // We have to manually handle storage in item_interaction because storage is blocking in 99% of interactions, which stifles a lot + // Yeah it sucks not being able to signalize this, but the other option is to have a second signal here just for storage which is also not great + if(atom_storage) + if(is_left_clicking) + if(atom_storage.insert_on_attack) + return atom_storage.item_interact_insert(user, tool) + else + if(atom_storage.open_storage(user) && atom_storage.display_contents) + return ITEM_INTERACT_SUCCESS + return NONE /** @@ -61,7 +69,7 @@ * * Handles the tool_acts in particular, such as wrenches and screwdrivers. * - * This can be overriden to handle unique "tool interactions" + * This can be overridden to handle unique "tool interactions" * IE using an item like a tool (when it's not actually one) * This is particularly useful for things that shouldn't be inserted into storage * (because tool acting runs before storage checks) @@ -315,23 +323,3 @@ /// Called on an object when a tool with analyzer capabilities is used to right click an object /atom/proc/analyzer_act_secondary(mob/living/user, obj/item/tool) return - -/** - * Called before this item is placed into a storage container - * via the item clicking on the target atom - * - * Returning FALSE will prevent the item from being stored. - */ -/obj/item/proc/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/user) - return TRUE - -/** - * Called before an item is put into this atom's storage datum via the item clicking on this atom - * - * This can be used to add item-atom interactions that you want handled before inserting something into storage - * (But it's also fairly snowflakey) - * - * Returning FALSE will block that item from being put into our storage. - */ -/atom/proc/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - return TRUE diff --git a/code/game/atom/atoms_initializing_EXPENSIVE.dm b/code/game/atom/atoms_initializing_EXPENSIVE.dm index c603ae5514810..205617fdbc8f9 100644 --- a/code/game/atom/atoms_initializing_EXPENSIVE.dm +++ b/code/game/atom/atoms_initializing_EXPENSIVE.dm @@ -57,14 +57,14 @@ * Called when an atom is created in byond (built in engine proc) * * Not a lot happens here in SS13 code, as we offload most of the work to the - * [Intialization][/atom/proc/Initialize] proc, mostly we run the preloader + * [Initialization][/atom/proc/Initialize] proc, mostly we run the preloader * if the preloader is being used and then call [InitAtom][/datum/controller/subsystem/atoms/proc/InitAtom] of which the ultimate - * result is that the Intialize proc is called. + * result is that the Initialize proc is called. * */ /atom/New(loc, ...) //atom creation method that preloads variables at creation - if(GLOB.use_preloader && src.type == GLOB._preloader_path)//in case the instanciated atom is creating other atoms in New() + if(GLOB.use_preloader && src.type == GLOB._preloader_path)//in case the instantiated atom is creating other atoms in New() world.preloader_load(src) var/do_initialize = SSatoms.initialized @@ -80,17 +80,17 @@ * we don't use New as we have better control over when this is called and we can choose * to delay calls or hook other logic in and so forth * - * During roundstart map parsing, atoms are queued for intialization in the base atom/New(), - * After the map has loaded, then Initalize is called on all atoms one by one. NB: this - * is also true for loading map templates as well, so they don't Initalize until all objects + * During roundstart map parsing, atoms are queued for initialization in the base atom/New(), + * After the map has loaded, then Initialize is called on all atoms one by one. NB: this + * is also true for loading map templates as well, so they don't Initialize until all objects * in the map file are parsed and present in the world * * If you're creating an object at any point after SSInit has run then this proc will be * immediately be called from New. * - * mapload: This parameter is true if the atom being loaded is either being intialized during - * the Atom subsystem intialization, or if the atom is being loaded from the map template. - * If the item is being created at runtime any time after the Atom subsystem is intialized then + * mapload: This parameter is true if the atom being loaded is either being initialized during + * the Atom subsystem initialization, or if the atom is being loaded from the map template. + * If the item is being created at runtime any time after the Atom subsystem is initialized then * it's false. * * The mapload argument occupies the same position as loc when Initialize() is called by New(). @@ -98,7 +98,7 @@ * with mapload at the end of atom/New() before this proc (atom/Initialize()) is called. * * You must always call the parent of this proc, otherwise failures will occur as the item - * will not be seen as initalized (this can lead to all sorts of strange behaviour, like + * will not be seen as initialized (this can lead to all sorts of strange behaviour, like * the item being completely unclickable) * * You must not sleep in this proc, or any subprocs @@ -136,7 +136,7 @@ if(uses_integrity) atom_integrity = max_integrity - TEST_ONLY_ASSERT((!armor || istype(armor)), "[type] has an armor that contains an invalid value at intialize") + TEST_ONLY_ASSERT((!armor || istype(armor)), "[type] has an armor that contains an invalid value at initialize") // apply materials properly from the default custom_materials value // This MUST come after atom_integrity is set above, as if old materials get removed, @@ -150,14 +150,14 @@ return INITIALIZE_HINT_NORMAL /** - * Late Intialization, for code that should run after all atoms have run Intialization + * Late Initialization, for code that should run after all atoms have run Initialization * - * To have your LateIntialize proc be called, your atoms [Initalization][/atom/proc/Initialize] + * To have your LateIntialize proc be called, your atoms [Initialization][/atom/proc/Initialize] * proc must return the hint * [INITIALIZE_HINT_LATELOAD] otherwise it will never be called. * * useful for doing things like finding other machines on GLOB.machines because you can guarantee - * that all atoms will actually exist in the "WORLD" at this time and that all their Intialization + * that all atoms will actually exist in the "WORLD" at this time and that all their Initialization * code has been run */ /atom/proc/LateInitialize() diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index e4aadc639e486..67b2346c2eeaa 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -17,7 +17,7 @@ var/tk_throw_range = 10 var/mob/pulledby = null /// What language holder type to init as - var/initial_language_holder = /datum/language_holder + var/initial_language_holder = /datum/language_holder/atom_basic /// Holds all languages this mob can speak and understand VAR_PRIVATE/datum/language_holder/language_holder /// The list of factions this atom belongs to @@ -33,8 +33,10 @@ var/speech_span ///Are we moving with inertia? Mostly used as an optimization var/inertia_moving = FALSE - ///Delay in deciseconds between inertia based movement - var/inertia_move_delay = 5 + ///Multiplier for inertia based movement in space + var/inertia_move_multiplier = 1 + ///Object "weight", higher weight reduces acceleration applied to the object + var/inertia_force_weight = 1 ///The last time we pushed off something ///This is a hack to get around dumb him him me scenarios var/last_pushoff @@ -107,6 +109,9 @@ /// The pitch adjustment that this movable uses when speaking. var/pitch = 0 + /// Datum that keeps all data related to zero-g drifting and handles related code/comsigs + var/datum/drift_handler/drift_handler + /// The filter to apply to the voice when processing the TTS audio message. var/voice_filter = "" @@ -198,6 +203,7 @@ /atom/movable/Destroy(force) QDEL_NULL(language_holder) QDEL_NULL(em_block) + QDEL_NULL(drift_handler) unbuckle_all_mobs(force = TRUE) @@ -459,7 +465,7 @@ var/static/list/not_falsey_edits = list(NAMEOF_STATIC(src, bound_width) = TRUE, NAMEOF_STATIC(src, bound_height) = TRUE) if(banned_edits[var_name]) return FALSE //PLEASE no. - if(careful_edits[var_name] && (var_value % world.icon_size) != 0) + if(careful_edits[var_name] && (var_value % ICON_SIZE_ALL) != 0) return FALSE if(not_falsey_edits[var_name] && !var_value) return FALSE @@ -768,7 +774,7 @@ if(!. && set_dir_on_move && update_dir) setDir(first_step_dir) else if(!inertia_moving) - newtonian_move(direct) + newtonian_move(dir2angle(direct)) if(client_mobs_in_contents) update_parallax_contents() moving_diagonally = 0 @@ -842,8 +848,8 @@ /atom/movable/proc/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) SHOULD_CALL_PARENT(TRUE) - if (!inertia_moving && momentum_change) - newtonian_move(movement_dir) + if (!moving_diagonally && !inertia_moving && momentum_change && movement_dir) + newtonian_move(dir2angle(movement_dir)) // If we ain't moving diagonally right now, update our parallax // We don't do this all the time because diag movements should trigger one call to this, not two // Waste of cpu time, and it fucks the animate @@ -1121,7 +1127,7 @@ RESOLVE_ACTIVE_MOVEMENT var/atom/oldloc = loc - var/is_multi_tile = bound_width > world.icon_size || bound_height > world.icon_size + var/is_multi_tile = bound_width > ICON_SIZE_X || bound_height > ICON_SIZE_Y SET_ACTIVE_MOVEMENT(oldloc, NONE, TRUE, null) @@ -1144,8 +1150,8 @@ var/list/new_locs = block( destination, locate( - min(world.maxx, destination.x + ROUND_UP(bound_width / 32)), - min(world.maxy, destination.y + ROUND_UP(bound_height / 32)), + min(world.maxx, destination.x + ROUND_UP(bound_width / ICON_SIZE_X)), + min(world.maxy, destination.y + ROUND_UP(bound_height / ICON_SIZE_Y)), destination.z ) ) @@ -1262,15 +1268,19 @@ /// Only moves the object if it's under no gravity /// Accepts the direction to move, if the push should be instant, and an optional parameter to fine tune the start delay -/atom/movable/proc/newtonian_move(direction, instant = FALSE, start_delay = 0) - if(!isturf(loc) || Process_Spacemove(direction, continuous_move = TRUE)) +/// Drift force determines how much acceleration should be applied. Controlled cap, if set, will ensure that if the object was moving slower than the cap before, it cannot accelerate past the cap from this move. +/atom/movable/proc/newtonian_move(inertia_angle, instant = FALSE, start_delay = 0, drift_force = 1 NEWTONS, controlled_cap = null) + if(!isturf(loc) || Process_Spacemove(angle2dir(inertia_angle), continuous_move = TRUE)) return FALSE - if(SEND_SIGNAL(src, COMSIG_MOVABLE_NEWTONIAN_MOVE, direction, start_delay) & COMPONENT_MOVABLE_NEWTONIAN_BLOCK) - return TRUE - - AddComponent(/datum/component/drift, direction, instant, start_delay) + if (!isnull(drift_handler)) + if (drift_handler.newtonian_impulse(inertia_angle, start_delay, drift_force, controlled_cap)) + return TRUE + new /datum/drift_handler(src, inertia_angle, instant, start_delay, drift_force) + // Something went wrong and it failed to create itself, most likely we have a higher priority loop already + if (QDELETED(drift_handler)) + return FALSE return TRUE /atom/movable/set_explosion_block(explosion_block) @@ -1283,16 +1293,22 @@ /atom/movable/proc/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) set waitfor = FALSE var/hitpush = TRUE - var/impact_signal = SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_IMPACT, hit_atom, throwingdatum) - if(impact_signal & COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH) - hitpush = FALSE // hacky, tie this to something else or a proper workaround later - - if(impact_signal && (impact_signal & COMPONENT_MOVABLE_IMPACT_NEVERMIND)) + var/impact_flags = pre_impact(hit_atom, throwingdatum) + if(impact_flags & COMPONENT_MOVABLE_IMPACT_NEVERMIND) return // in case a signal interceptor broke or deleted the thing before we could process our hit - if(SEND_SIGNAL(hit_atom, COMSIG_ATOM_PREHITBY, src, throwingdatum) & COMSIG_HIT_PREVENTED) - return - SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum) - return hit_atom.hitby(src, throwingdatum=throwingdatum, hitpush=hitpush) + if(impact_flags & COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH) + hitpush = FALSE + var/caught = hit_atom.hitby(src, throwingdatum=throwingdatum, hitpush=hitpush) + SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum, caught) + return caught + +///Called before we attempt to call hitby and send the COMSIG_MOVABLE_IMPACT signal +/atom/movable/proc/pre_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + var/impact_flags = SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_IMPACT, hit_atom, throwingdatum) + var/target_flags = SEND_SIGNAL(hit_atom, COMSIG_ATOM_PREHITBY, src, throwingdatum) + if(target_flags & COMSIG_HIT_PREVENTED) + impact_flags |= COMPONENT_MOVABLE_IMPACT_NEVERMIND + return impact_flags /atom/movable/hitby(atom/movable/hitting_atom, skipcatch, hitpush = TRUE, blocked, datum/thrownthing/throwingdatum) if(HAS_TRAIT(src, TRAIT_NO_THROW_HITPUSH)) @@ -1445,6 +1461,7 @@ return /atom/movable/proc/get_spacemove_backup() + var/atom/secondary_backup for(var/checked_range in orange(1, get_turf(src))) if(isarea(checked_range)) continue @@ -1452,12 +1469,18 @@ var/turf/turf = checked_range if(!turf.density) continue - return turf + if (get_dir(src, turf) in GLOB.cardinals) + return turf + secondary_backup = turf + continue var/atom/movable/checked_atom = checked_range if(checked_atom.density || !checked_atom.CanPass(src, get_dir(src, checked_atom))) if(checked_atom.last_pushoff == world.time) continue - return checked_atom + if (get_dir(src, checked_atom) in GLOB.cardinals) + return checked_atom + secondary_backup = checked_atom + return secondary_backup ///called when a mob resists while inside a container that is itself inside something. /atom/movable/proc/relay_container_resist_act(mob/living/user, obj/container) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index e39ce9bd92d37..f1adb1b03f0ec 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -28,6 +28,8 @@ var/obj/item/clothing/under/U = H.w_uniform if(!istype(U)) return FALSE + if(U.has_sensor < HAS_SENSORS) + return FALSE if(U.sensor_mode <= SENSOR_VITALS) return FALSE return TRUE @@ -173,7 +175,7 @@ Medical HUD! Basic mode needs suit sensors on. holder.icon_state = "hud[RoundHealth(src)]" var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y //for carbon suit sensors /mob/living/carbon/med_hud_set_health() @@ -186,7 +188,7 @@ Medical HUD! Basic mode needs suit sensors on. return var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(stat == DEAD || (HAS_TRAIT(src, TRAIT_FAKEDEATH))) holder.icon_state = "huddead" else @@ -199,7 +201,7 @@ Medical HUD! Basic mode needs suit sensors on. var/icon/I = icon(icon, icon_state, dir) var/virus_threat = check_virus() - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(HAS_TRAIT(src, TRAIT_XENO_HOST)) holder.icon_state = "hudxeno" else if(stat == DEAD || (HAS_TRAIT(src, TRAIT_FAKEDEATH))) @@ -227,7 +229,11 @@ Medical HUD! Basic mode needs suit sensors on. holder.icon_state = "hudbuff" if(null) holder.icon_state = "hudhealthy" - + if(ishuman(src)) + var/mob/living/carbon/human/crew = src + var/obj/item/clothing/under/uniform = crew.w_uniform + if(uniform && uniform.has_sensor == BROKEN_SENSORS) + holder.icon_state = "hudnosensor" /*********************************************** FAN HUDs! For identifying other fans on-sight. @@ -238,7 +244,7 @@ FAN HUDs! For identifying other fans on-sight. /mob/living/carbon/human/proc/fan_hud_set_fandom() var/image/holder = hud_list[FAN_HUD] var/icon/hud_icon = icon(icon, icon_state, dir) - holder.pixel_y = hud_icon.Height() - world.icon_size + holder.pixel_y = hud_icon.Height() - ICON_SIZE_Y holder.icon_state = "hudfan_no" var/obj/item/clothing/under/undershirt = w_uniform @@ -269,7 +275,7 @@ Security HUDs! Basic mode shows only the job. /mob/living/carbon/human/proc/sec_hud_set_ID() var/image/holder = hud_list[ID_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y var/sechud_icon_state = wear_id?.get_sechud_job_icon_state() if(!sechud_icon_state || HAS_TRAIT(src, TRAIT_UNKNOWN)) sechud_icon_state = "hudno_id" @@ -290,7 +296,7 @@ Security HUDs! Basic mode shows only the job. if(1) holder = hud_list[IMPSEC_FIRST_HUD] var/icon/IC = icon(icon, icon_state, dir) - holder.pixel_y = IC.Height() - world.icon_size + holder.pixel_y = IC.Height() - ICON_SIZE_Y holder.icon_state = current_implant.hud_icon_state set_hud_image_active(IMPSEC_FIRST_HUD) security_slot++ @@ -298,22 +304,22 @@ Security HUDs! Basic mode shows only the job. if(2) //Theoretically if we somehow get multiple sec implants, whatever the most recently implanted implant is will take over the 2nd position holder = hud_list[IMPSEC_SECOND_HUD] var/icon/IC = icon(icon, icon_state, dir) - holder.pixel_y = IC.Height() - world.icon_size - holder.pixel_x = initial(holder.pixel_x) + 7 //Adds an offset that mirrors the hud blip to the other side of the mob. + holder.pixel_y = IC.Height() - ICON_SIZE_Y + holder.pixel_x = initial(holder.pixel_x) + (ICON_SIZE_X / 4 - 1) //Adds an offset that mirrors the hud blip to the other side of the mob. holder.icon_state = current_implant.hud_icon_state set_hud_image_active(IMPSEC_SECOND_HUD) if(HAS_TRAIT(src, TRAIT_MINDSHIELD)) holder = hud_list[IMPLOYAL_HUD] var/icon/IC = icon(icon, icon_state, dir) - holder.pixel_y = IC.Height() - world.icon_size + holder.pixel_y = IC.Height() - ICON_SIZE_Y holder.icon_state = "hud_imp_loyal" set_hud_image_active(IMPLOYAL_HUD) /mob/living/carbon/human/proc/sec_hud_set_security_status() var/image/holder = hud_list[WANTED_HUD] var/icon/sec_icon = icon(icon, icon_state, dir) - holder.pixel_y = sec_icon.Height() - world.icon_size + holder.pixel_y = sec_icon.Height() - ICON_SIZE_Y if (HAS_TRAIT(src, TRAIT_ALWAYS_WANTED)) holder.icon_state = "hudwanted" @@ -390,7 +396,7 @@ Diagnostic HUDs! /mob/living/silicon/proc/diag_hud_set_health() var/image/holder = hud_list[DIAG_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(stat == DEAD) holder.icon_state = "huddiagdead" else @@ -399,7 +405,7 @@ Diagnostic HUDs! /mob/living/silicon/proc/diag_hud_set_status() var/image/holder = hud_list[DIAG_STAT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y switch(stat) if(CONSCIOUS) holder.icon_state = "hudstat" @@ -412,7 +418,7 @@ Diagnostic HUDs! /mob/living/silicon/robot/proc/diag_hud_set_borgcell() var/image/holder = hud_list[DIAG_BATT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(cell) var/chargelvl = (cell.charge/cell.maxcharge) holder.icon_state = "hudbatt[RoundDiagBar(chargelvl)]" @@ -423,7 +429,7 @@ Diagnostic HUDs! /mob/living/silicon/robot/proc/diag_hud_set_aishell() //Shows tracking beacons on the mech var/image/holder = hud_list[DIAG_TRACK_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(!shell) //Not an AI shell holder.icon_state = null set_hud_image_inactive(DIAG_TRACK_HUD) @@ -438,7 +444,7 @@ Diagnostic HUDs! /mob/living/silicon/ai/proc/diag_hud_set_deployed() //Shows tracking beacons on the mech var/image/holder = hud_list[DIAG_TRACK_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(!deployed_shell) holder.icon_state = null set_hud_image_inactive(DIAG_TRACK_HUD) @@ -452,14 +458,14 @@ Diagnostic HUDs! /obj/vehicle/sealed/mecha/proc/diag_hud_set_mechhealth() var/image/holder = hud_list[DIAG_MECH_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y holder.icon_state = "huddiag[RoundDiagBar(atom_integrity/max_integrity)]" /obj/vehicle/sealed/mecha/proc/diag_hud_set_mechcell() var/image/holder = hud_list[DIAG_BATT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(cell) var/chargelvl = cell.charge/cell.maxcharge holder.icon_state = "hudbatt[RoundDiagBar(chargelvl)]" @@ -469,7 +475,7 @@ Diagnostic HUDs! /obj/vehicle/sealed/mecha/proc/diag_hud_set_mechstat() var/image/holder = hud_list[DIAG_STAT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(internal_damage) holder.icon_state = "hudwarn" set_hud_image_active(DIAG_STAT_HUD) @@ -481,7 +487,7 @@ Diagnostic HUDs! /obj/vehicle/sealed/mecha/proc/diag_hud_set_mechtracking() var/image/holder = hud_list[DIAG_TRACK_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y var/new_icon_state //This var exists so that the holder's icon state is set only once in the event of multiple mech beacons. for(var/obj/item/mecha_parts/mecha_tracking/T in trackers) if(T.ai_beacon) //Beacon with AI uplink @@ -495,7 +501,7 @@ Diagnostic HUDs! /obj/vehicle/sealed/mecha/proc/diag_hud_set_camera() var/image/holder = hud_list[DIAG_CAMERA_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(chassis_camera?.is_emp_scrambled) holder.icon_state = "hudcamera_empd" return @@ -507,13 +513,13 @@ Diagnostic HUDs! /mob/living/simple_animal/bot/proc/diag_hud_set_bothealth() var/image/holder = hud_list[DIAG_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y holder.icon_state = "huddiag[RoundDiagBar(health/maxHealth)]" /mob/living/simple_animal/bot/proc/diag_hud_set_botstat() //On (With wireless on or off), Off, EMP'ed var/image/holder = hud_list[DIAG_STAT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(bot_mode_flags & BOT_MODE_ON) holder.icon_state = "hudstat" else if(stat) //Generally EMP causes this @@ -524,7 +530,7 @@ Diagnostic HUDs! /mob/living/simple_animal/bot/proc/diag_hud_set_botmode() //Shows a bot's current operation var/image/holder = hud_list[DIAG_BOT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(client) //If the bot is player controlled, it will not be following mode logic! holder.icon_state = "hudsentient" return @@ -546,7 +552,7 @@ Diagnostic HUDs! /mob/living/simple_animal/bot/mulebot/proc/diag_hud_set_mulebotcell() var/image/holder = hud_list[DIAG_BATT_HUD] var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(cell) var/chargelvl = (cell.charge/cell.maxcharge) holder.icon_state = "hudbatt[RoundDiagBar(chargelvl)]" diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index bce9ed3bb9375..b2df8d7416dde 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -353,7 +353,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list return FALSE if(human_check) brain_target = target.current?.get_organ_slot(ORGAN_SLOT_BRAIN) - //Protect will always suceed when someone suicides + //Protect will always succeed when someone suicides return !target || (target.current && HAS_TRAIT(target.current, TRAIT_SUICIDED)) || considered_alive(target, enforce_human = human_check) || (brain_target && HAS_TRAIT(brain_target, TRAIT_SUICIDED)) /datum/objective/protect/update_explanation_text() diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 8a7e9846561be..34b8612c2d4be 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -1147,6 +1147,9 @@ if(0 to 25) . += span_warning("It's falling apart!") +/obj/machinery/examine_descriptor(mob/user) + return "machine" + /obj/machinery/examine_more(mob/user) . = ..() if(HAS_TRAIT(user, TRAIT_RESEARCH_SCANNER) && component_parts) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 1700abb0af1ab..029f4a17ea99b 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -16,16 +16,26 @@ GLOBAL_LIST_EMPTY(announcement_systems) circuit = /obj/item/circuitboard/machine/announcement_system + ///The headset that we use for broadcasting var/obj/item/radio/headset/radio + ///The message that we send when someone is joining. var/arrival = "%PERSON has signed up as %RANK" - var/arrivalToggle = 1 + ///Whether the arrival message is sent + var/arrival_toggle = TRUE + ///The message that we send when a department head arrives. var/newhead = "%PERSON, %RANK, is the department head." - var/newheadToggle = 1 + ///Whether the newhead message is sent. + var/newhead_toggle = TRUE var/greenlight = "Light_Green" var/pinklight = "Light_Pink" var/errorlight = "Error_Red" + ///If true, researched nodes will be announced to the appropriate channels + var/announce_research_node = TRUE + /// The text that we send when announcing researched nodes. + var/node_message = "The '%NODE' techweb node has been researched" + /obj/machinery/announcement_system/Initialize(mapload) . = ..() GLOB.announcement_systems += src @@ -41,10 +51,10 @@ GLOBAL_LIST_EMPTY(announcement_systems) /obj/machinery/announcement_system/update_overlays() . = ..() - if(arrivalToggle) + if(arrival_toggle) . += greenlight - if(newheadToggle) + if(newhead_toggle) . += pinklight if(machine_stat & BROKEN) @@ -78,18 +88,25 @@ GLOBAL_LIST_EMPTY(announcement_systems) str = replacetext(str, "%RANK", "[rank]") return str -/obj/machinery/announcement_system/proc/announce(message_type, user, rank, list/channels) +/obj/machinery/announcement_system/proc/announce(message_type, target, rank, list/channels) if(!is_operational) return var/message - if(message_type == "ARRIVAL" && arrivalToggle) - message = CompileText(arrival, user, rank) - else if(message_type == "NEWHEAD" && newheadToggle) - message = CompileText(newhead, user, rank) - else if(message_type == "ARRIVALS_BROKEN") - message = "The arrivals shuttle has been damaged. Docking for repairs..." + switch(message_type) + if(AUTO_ANNOUNCE_ARRIVAL) + if(!arrival_toggle) + return + message = CompileText(arrival, target, rank) + if(AUTO_ANNOUNCE_NEWHEAD) + if(!newhead_toggle) + return + message = CompileText(newhead, target, rank) + if(AUTO_ANNOUNCE_ARRIVALS_BROKEN) + message = "The arrivals shuttle has been damaged. Docking for repairs..." + if(AUTO_ANNOUNCE_NODE) + message = replacetext(node_message, "%NODE", target) broadcast(message, channels) @@ -118,9 +135,11 @@ GLOBAL_LIST_EMPTY(announcement_systems) /obj/machinery/announcement_system/ui_data() var/list/data = list() data["arrival"] = arrival - data["arrivalToggle"] = arrivalToggle + data["arrivalToggle"] = arrival_toggle data["newhead"] = newhead - data["newheadToggle"] = newheadToggle + data["newheadToggle"] = newhead_toggle + data["node_message"] = node_message + data["node_toggle"] = announce_research_node return data /obj/machinery/announcement_system/ui_act(action, param) @@ -131,29 +150,32 @@ GLOBAL_LIST_EMPTY(announcement_systems) return if(machine_stat & BROKEN) visible_message(span_warning("[src] buzzes."), span_hear("You hear a faint buzz.")) - playsound(src.loc, 'sound/machines/buzz-two.ogg', 50, TRUE) + playsound(src.loc, 'sound/machines/buzz/buzz-two.ogg', 50, TRUE) return switch(action) if("ArrivalText") - var/NewMessage = trim(html_encode(param["newText"]), MAX_MESSAGE_LEN) - if(!usr.can_perform_action(src, ALLOW_SILICON_REACH)) - return - if(NewMessage) - arrival = NewMessage - usr.log_message("updated the arrivals announcement to: [NewMessage]", LOG_GAME) + var/new_message = trim(html_encode(param["newText"]), MAX_MESSAGE_LEN) + if(new_message) + arrival = new_message + usr.log_message("updated the arrivals announcement to: [new_message]", LOG_GAME) if("NewheadText") - var/NewMessage = trim(html_encode(param["newText"]), MAX_MESSAGE_LEN) - if(!usr.can_perform_action(src, ALLOW_SILICON_REACH)) - return - if(NewMessage) - newhead = NewMessage - usr.log_message("updated the head announcement to: [NewMessage]", LOG_GAME) - if("NewheadToggle") - newheadToggle = !newheadToggle + var/new_message = trim(html_encode(param["newText"]), MAX_MESSAGE_LEN) + if(new_message) + newhead = new_message + usr.log_message("updated the head announcement to: [new_message]", LOG_GAME) + if("node_message") + var/new_message = trim(html_encode(param["new_text"]), MAX_MESSAGE_LEN) + if(new_message) + node_message = new_message + usr.log_message("updated the researched node announcement to: [node_message]", LOG_GAME) + if("newhead_toggle") + newhead_toggle = !newhead_toggle update_appearance() - if("ArrivalToggle") - arrivalToggle = !arrivalToggle + if("arrivalToggle") + arrival_toggle = !arrival_toggle update_appearance() + if("node_toggle") + announce_research_node = !announce_research_node add_fingerprint(usr) /obj/machinery/announcement_system/attack_robot(mob/living/silicon/user) @@ -173,6 +195,11 @@ GLOBAL_LIST_EMPTY(announcement_systems) arrival = pick("#!@%ERR-34%2 CANNOT LOCAT@# JO# F*LE!", "CRITICAL ERROR 99.", "ERR)#: DA#AB@#E NOT F(*ND!") newhead = pick("OV#RL()D: \[UNKNOWN??\] DET*#CT)D!", "ER)#R - B*@ TEXT F*O(ND!", "AAS.exe is not responding. NanoOS is searching for a solution to the problem.") + node_message = pick(list( + replacetext(/obj/machinery/announcement_system::node_message, "%NODE", /datum/techweb_node/mech_clown::display_name), + "R/NT1M3 A= ANNOUN-*#nt_SY!?EM.dm, LI%£ 86: N=0DE NULL!", + "BEPIS BEPIS BEPIS", + )) /obj/machinery/announcement_system/emp_act(severity) . = ..() diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm index 40670a22f44c4..72de51d034fe8 100644 --- a/code/game/machinery/bank_machine.dm +++ b/code/game/machinery/bank_machine.dm @@ -73,7 +73,7 @@ end_siphon() return - playsound(src, 'sound/items/poster_being_created.ogg', 100, TRUE) + playsound(src, 'sound/items/poster/poster_being_created.ogg', 100, TRUE) syphoning_credits += siphon_am synced_bank_account.adjust_money(-siphon_am) if(next_warning < world.time && prob(15)) diff --git a/code/game/machinery/barsigns.dm b/code/game/machinery/barsigns.dm index 11dc005269b7b..0f33028aa9a76 100644 --- a/code/game/machinery/barsigns.dm +++ b/code/game/machinery/barsigns.dm @@ -102,9 +102,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32) /obj/machinery/barsign/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE) + playsound(src.loc, 'sound/effects/glass/glasshit.ogg', 75, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/machinery/barsign/attack_ai(mob/user) return attack_hand(user) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6f21e9303fc5a..f3760fda0319a 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -133,8 +133,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) find_and_hang_on_wall(directional = TRUE, \ custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), FALSE)) - RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) - /obj/machinery/camera/Destroy(force) if(can_use()) toggle_cam(null, 0) //kick anyone viewing out and remove from the camera chunks @@ -235,11 +233,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) M.reset_perspective(null) to_chat(M, span_warning("The screen bursts into static!")) -/obj/machinery/camera/proc/on_saboteur(datum/source, disrupt_duration) - SIGNAL_HANDLER +/obj/machinery/camera/on_saboteur(datum/source, disrupt_duration) + . = ..() //lasts twice as much so we don't have to constantly shoot cameras just to be S T E A L T H Y emp_act(EMP_LIGHT, reset_time = disrupt_duration * 2) - return COMSIG_SABOTEUR_SUCCESS + return TRUE /obj/machinery/camera/proc/post_emp_reset(thisemp, previous_network) if(QDELETED(src)) @@ -368,7 +366,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) else visible_message(span_danger("\The [src] [change_msg]!")) - playsound(src, 'sound/items/wirecutter.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/wirecutter.ogg', 100, TRUE) update_appearance() //update Initialize() if you remove this. // now disconnect anyone using the camera diff --git a/code/game/machinery/camera/camera_construction.dm b/code/game/machinery/camera/camera_construction.dm index 15f22d02cbe96..d6988617e1f25 100644 --- a/code/game/machinery/camera/camera_construction.dm +++ b/code/game/machinery/camera/camera_construction.dm @@ -30,7 +30,7 @@ switch(camera_construction_state) if(CAMERA_STATE_WIRED) tool.play_tool_sound(src) - var/input = tgui_input_text(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret", "Set Network", "SS13") + var/input = tgui_input_text(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret", "Set Network", "SS13", max_length = MAX_NAME_LEN) if(isnull(input)) return ITEM_INTERACT_BLOCKING var/list/tempnetwork = splittext(input, ",") diff --git a/code/game/machinery/civilian_bounties.dm b/code/game/machinery/civilian_bounties.dm index 7760a646d9fae..d8c8a98caef77 100644 --- a/code/game/machinery/civilian_bounties.dm +++ b/code/game/machinery/civilian_bounties.dm @@ -76,11 +76,11 @@ return FALSE if(!inserted_scan_id) status_report = "Please insert your ID first." - playsound(loc, 'sound/machines/synth_no.ogg', 30 , TRUE) + playsound(loc, 'sound/machines/synth/synth_no.ogg', 30 , TRUE) return FALSE if(!inserted_scan_id.registered_account.civilian_bounty) status_report = "Please accept a new civilian bounty first." - playsound(loc, 'sound/machines/synth_no.ogg', 30 , TRUE) + playsound(loc, 'sound/machines/synth/synth_no.ogg', 30 , TRUE) return FALSE status_report = "Civilian Bounty: " var/obj/machinery/piratepad/civilian/pad = pad_ref?.resolve() @@ -89,10 +89,10 @@ continue if(inserted_scan_id.registered_account.civilian_bounty.applies_to(AM)) status_report += "Target Applicable." - playsound(loc, 'sound/machines/synth_yes.ogg', 30 , TRUE) + playsound(loc, 'sound/machines/synth/synth_yes.ogg', 30 , TRUE) return status_report += "Not Applicable." - playsound(loc, 'sound/machines/synth_no.ogg', 30 , TRUE) + playsound(loc, 'sound/machines/synth/synth_no.ogg', 30 , TRUE) /** * This fully rewrites base behavior in order to only check for bounty objects, and no other types of objects like pirate-pads do. @@ -135,7 +135,7 @@ pad.visible_message(span_notice("[pad] activates!")) flick(pad.sending_state,pad) pad.icon_state = pad.idle_state - playsound(loc, 'sound/machines/synth_yes.ogg', 30 , TRUE) + playsound(loc, 'sound/machines/synth/synth_yes.ogg', 30 , TRUE) sending = FALSE ///Here is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty. @@ -164,7 +164,7 @@ */ /obj/machinery/computer/piratepad_control/civilian/proc/pick_bounty(datum/bounty/choice) if(!inserted_scan_id || !inserted_scan_id.registered_account || !inserted_scan_id.registered_account.bounties || !inserted_scan_id.registered_account.bounties[choice]) - playsound(loc, 'sound/machines/synth_no.ogg', 40 , TRUE) + playsound(loc, 'sound/machines/synth/synth_no.ogg', 40 , TRUE) return inserted_scan_id.registered_account.civilian_bounty = inserted_scan_id.registered_account.bounties[choice] inserted_scan_id.registered_account.bounties = null @@ -242,13 +242,13 @@ if(target) if(holder_item && inserting_item.InsertID(target)) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) else id_eject(user, target) user.visible_message(span_notice("[user] inserts \the [card_to_insert] into \the [src]."), span_notice("You insert \the [card_to_insert] into \the [src].")) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) ui_interact(user) return TRUE @@ -263,7 +263,7 @@ user.put_in_hands(target) user.visible_message(span_notice("[user] gets \the [target] from \the [src]."), \ span_notice("You get \the [target] from \the [src].")) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) inserted_scan_id = null return TRUE diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 6e1009def324f..8fdd5556e3b8b 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -75,16 +75,16 @@ if(machine_stat & BROKEN) playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE) else - playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE) + playsound(src.loc, 'sound/effects/glass/glasshit.ogg', 75, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/machinery/computer/atom_break(damage_flag) if(!circuit) //no circuit, no breaking return . = ..() if(.) - playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE) + playsound(loc, 'sound/effects/glass/glassbr3.ogg', 100, TRUE) set_light(0) /obj/machinery/computer/proc/imprint_gps(gps_tag) // Currently used by the upload computers and communications console diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index e0a7f36460041..0b28775a5b869 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -58,7 +58,7 @@ if("PRG_beginReconstruction") if(occupier?.health < 100) to_chat(usr, span_notice("Reconstruction in progress. This will take several minutes.")) - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 25, FALSE) restoring = TRUE occupier.notify_revival("Your core files are being restored!", source = src) . = TRUE diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 97bf368d3e25e..efb3f4480330e 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -57,7 +57,7 @@ return if(active_apc) disconnect_apc() - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) apc.connect_remote_access(user) user.log_message("remotely accessed [apc] from [src].", LOG_GAME) log_activity("[auth_id] remotely accessed APC in [get_area_name(apc.area, TRUE)]") @@ -134,18 +134,18 @@ authenticated = TRUE auth_id = "[ID.registered_name] ([ID.assignment]):" log_activity("[auth_id] logged in to the terminal") - playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_on.ogg', 50, FALSE) else auth_id = "[ID.registered_name] ([ID.assignment]):" log_activity("[auth_id] attempted to log into the terminal") - playsound(src, 'sound/machines/terminal_error.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 50, FALSE) say("ID rejected, access denied!") return auth_id = "Unknown (Unknown):" log_activity("[auth_id] attempted to log into the terminal") if("log-out") log_activity("[auth_id] logged out of the terminal") - playsound(src, 'sound/machines/terminal_off.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 50, FALSE) authenticated = FALSE auth_id = "\[NULL\]" if("toggle-logs") diff --git a/code/game/machinery/computer/arcade/_arcade.dm b/code/game/machinery/computer/arcade/_arcade.dm index 69994634fc3b1..053ec907f3e63 100644 --- a/code/game/machinery/computer/arcade/_arcade.dm +++ b/code/game/machinery/computer/arcade/_arcade.dm @@ -78,7 +78,7 @@ /obj/machinery/computer/arcade/proc/prizevend(mob/living/user, prizes = 1) SEND_SIGNAL(src, COMSIG_ARCADE_PRIZEVEND, user, prizes) if(user.mind?.get_skill_level(/datum/skill/gaming) >= SKILL_LEVEL_LEGENDARY && HAS_TRAIT(user, TRAIT_GAMERGOD)) - visible_message("[user] inputs an intense cheat code!",\ + visible_message(span_notice("[user] inputs an intense cheat code!"),\ span_notice("You hear a flurry of buttons being pressed.")) say("CODE ACTIVATED: EXTRA PRIZES.") prizes *= 2 diff --git a/code/game/machinery/computer/arcade/amputation.dm b/code/game/machinery/computer/arcade/amputation.dm index 84a02af387ad2..d20a5de2b2812 100644 --- a/code/game/machinery/computer/arcade/amputation.dm +++ b/code/game/machinery/computer/arcade/amputation.dm @@ -17,19 +17,19 @@ user.played_game() var/obj/item/bodypart/chopchop = user.get_active_hand() if(do_after(user, 5 SECONDS, target = src, extra_checks = CALLBACK(src, PROC_REF(do_they_still_have_that_hand), user, chopchop))) - playsound(src, 'sound/weapons/slice.ogg', 25, TRUE, -1) + playsound(src, 'sound/items/weapons/slice.ogg', 25, TRUE, -1) to_chat(user, span_userdanger("The guillotine drops on your arm, and the machine sucks it in!")) chopchop.dismember() qdel(chopchop) user.mind?.adjust_experience(/datum/skill/gaming, 100) user.won_game() - playsound(src, 'sound/arcade/win.ogg', 50, TRUE) + playsound(src, 'sound/machines/arcade/win.ogg', 50, TRUE) new /obj/item/stack/arcadeticket((get_turf(src)), rand(6,10)) to_chat(user, span_notice("[src] dispenses a handful of tickets!")) return if(!do_they_still_have_that_hand(user, chopchop)) to_chat(user, span_warning("The guillotine drops, but your hand seems to be gone already!")) - playsound(src, 'sound/weapons/slice.ogg', 25, TRUE, -1) + playsound(src, 'sound/items/weapons/slice.ogg', 25, TRUE, -1) else to_chat(user, span_notice("You (wisely) decide against putting your hand in the machine.")) user.lost_game() diff --git a/code/game/machinery/computer/arcade/battle.dm b/code/game/machinery/computer/arcade/battle.dm index 9733759b5caf4..169104d6c2fe3 100644 --- a/code/game/machinery/computer/arcade/battle.dm +++ b/code/game/machinery/computer/arcade/battle.dm @@ -226,7 +226,7 @@ user.mind?.adjust_experience(/datum/skill/gaming, exp_gained) user.won_game() SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("win", (obj_flags & EMAGGED ? "emagged":"normal"))) - playsound(loc, 'sound/arcade/win.ogg', 40) + playsound(loc, 'sound/machines/arcade/win.ogg', 40) if(ui_panel != UI_PANEL_WORLD_MAP) //we havent been booted to world map, we're still going. ui_panel = UI_PANEL_BETWEEN_FIGHTS @@ -250,11 +250,11 @@ ui_panel = UI_PANEL_GAMEOVER feedback_message = "GAME OVER." say("You have been crushed! GAME OVER.") - playsound(loc, 'sound/arcade/lose.ogg', 40, TRUE) + playsound(loc, 'sound/machines/arcade/lose.ogg', 40, TRUE) lose_game(user) else feedback_message = "User took [damage_taken] damage!" - playsound(loc, 'sound/arcade/hit.ogg', 40, TRUE, extrarange = -3) + playsound(loc, 'sound/machines/arcade/hit.ogg', 40, TRUE, extrarange = -3) SStgui.update_uis(src) ///Called when you attack the enemy. @@ -270,17 +270,17 @@ if(BATTLE_ARCADE_PLAYER_COUNTERATTACK) feedback_message = "User prepares to counterattack!" process_enemy_turn(user, defending_flags = BATTLE_ATTACK_FLAG_COUNTERATTACK) - playsound(loc, 'sound/arcade/mana.ogg', 40, TRUE, extrarange = -3) + playsound(loc, 'sound/machines/arcade/mana.ogg', 40, TRUE, extrarange = -3) if(BATTLE_ARCADE_PLAYER_DEFEND) feedback_message = "User pulls up their shield!" process_enemy_turn(user, defending_flags = BATTLE_ATTACK_FLAG_DEFEND) - playsound(loc, 'sound/arcade/mana.ogg', 40, TRUE, extrarange = -3) + playsound(loc, 'sound/machines/arcade/mana.ogg', 40, TRUE, extrarange = -3) if(!damage_dealt) return enemy_hp -= round(max(0, damage_dealt), 1) feedback_message = "[enemy_name] took [damage_dealt] damage!" - playsound(loc, 'sound/arcade/hit.ogg', 40, TRUE, extrarange = -3) + playsound(loc, 'sound/machines/arcade/hit.ogg', 40, TRUE, extrarange = -3) process_enemy_turn(user) ///Called when you successfully counterattack the enemy. @@ -289,7 +289,7 @@ var/damage_dealt = (rand(20, 30) * (!isnull(weapon) ? weapon.bonus_modifier : 1)) enemy_hp -= round(max(0, damage_dealt), 1) feedback_message = "User counterattacked for [damage_dealt] damage!" - playsound(loc, 'sound/arcade/boom.ogg', 40, TRUE, extrarange = -3) + playsound(loc, 'sound/machines/arcade/boom.ogg', 40, TRUE, extrarange = -3) if(enemy_hp <= 0) on_battle_win(user) SStgui.update_uis(src) @@ -334,7 +334,7 @@ enemy_hp = round(min(enemy_max_hp, enemy_hp + healed_amount), 1) enemy_mp -= round(max(0, 10), 1) feedback_message = "[enemy_name] healed for [healed_amount] health points!" - playsound(loc, 'sound/arcade/heal.ogg', 40, TRUE, extrarange = -3) + playsound(loc, 'sound/machines/arcade/heal.ogg', 40, TRUE, extrarange = -3) SStgui.update_uis(src) return if(player_current_mp >= 5) //minimum to steal @@ -342,7 +342,7 @@ player_current_mp -= round(max(0, healed_amount), 1) enemy_mp += healed_amount feedback_message = "[enemy_name] stole [healed_amount] MP from you!" - playsound(loc, 'sound/arcade/steal.ogg', 40, TRUE) + playsound(loc, 'sound/machines/arcade/steal.ogg', 40, TRUE) SStgui.update_uis(src) return //we couldn't heal ourselves or steal MP, we'll just attack instead. @@ -437,7 +437,7 @@ say("You don't have enough gold to rest!") return TRUE player_gold -= DEFAULT_ITEM_PRICE / 2 - playsound(loc, 'sound/mecha/skyfall_power_up.ogg', 40) + playsound(loc, 'sound/vehicles/mecha/skyfall_power_up.ogg', 40) player_current_hp = PLAYER_MAX_HP player_current_mp = PLAYER_MAX_MP return TRUE @@ -476,11 +476,11 @@ return TRUE if("continue_with_rest") if(prob(60)) - playsound(loc, 'sound/mecha/skyfall_power_up.ogg', 40) + playsound(loc, 'sound/vehicles/mecha/skyfall_power_up.ogg', 40) player_current_hp = PLAYER_MAX_HP player_current_mp = PLAYER_MAX_MP else - playsound(loc, 'sound/machines/defib_zap.ogg', 40) + playsound(loc, 'sound/machines/defib/defib_zap.ogg', 40) if(prob(40)) //You got robbed, and now have to go to your next fight. player_gold /= 2 diff --git a/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm index 3300370d18e49..a6685e4782ccd 100644 --- a/code/game/machinery/computer/arcade/orion.dm +++ b/code/game/machinery/computer/arcade/orion.dm @@ -421,7 +421,7 @@ var/sheriff = remove_crewmember(target) //I shot the sheriff if(target) killed_crew += 1 //if there was no suspected lings, this is just plain murder - playsound(loc,'sound/weapons/gun/pistol/shot.ogg', 100, TRUE) + playsound(loc,'sound/items/weapons/gun/pistol/shot.ogg', 100, TRUE) if(!settlers.len || !alive) say("The last crewmember [sheriff], shot themselves, GAME OVER!") if(obj_flags & EMAGGED) @@ -535,7 +535,7 @@ time_for_next_level = 3 SECONDS if(2) say("Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-") - playsound(loc, 'sound/machines/buzz-sigh.ogg', 25, TRUE) + playsound(loc, 'sound/machines/buzz/buzz-sigh.ogg', 25, TRUE) time_for_next_level = 0.36 SECONDS if(3 to INFINITY) visible_message(span_userdanger("[src] explodes!")) diff --git a/code/game/machinery/computer/arcade/orion_event.dm b/code/game/machinery/computer/arcade/orion_event.dm index 7ab2f3b98b3b0..d39766200dc52 100644 --- a/code/game/machinery/computer/arcade/orion_event.dm +++ b/code/game/machinery/computer/arcade/orion_event.dm @@ -67,8 +67,8 @@ text = "Oh no! The engine has broken down! \ You can repair it with an engine part, or you \ can make repairs for 3 days." - emag_message = "You hear some large object lurch to a halt right behind you! When you go to look, nothing's there..." - emag_sound = 'sound/effects/creak1.ogg' + emag_message = span_warning("You hear some large object lurch to a halt right behind you! When you go to look, nothing's there...") + emag_sound = 'sound/effects/creak/creak1.ogg' weight = 2 event_responses = list() @@ -170,7 +170,7 @@ /datum/orion_event/hull_part/proc/fix_floor(obj/machinery/computer/arcade/orion_trail/game) game.say("A new floor suddenly appears around [game]. What the hell?") - playsound(game, 'sound/weapons/genhit.ogg', 100, TRUE) + playsound(game, 'sound/items/weapons/genhit.ogg', 100, TRUE) for(var/turf/open/space/fixed in orange(1, game)) fixed.place_on_top(/turf/open/floor/plating) @@ -264,7 +264,7 @@ else to_chat(usr, span_userdanger("Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")) gamer.take_bodypart_damage(30) - playsound(game, 'sound/weapons/genhit2.ogg', 100, TRUE) + playsound(game, 'sound/items/weapons/genhit2.ogg', 100, TRUE) /datum/orion_event/illness name = "Space Illness" @@ -321,7 +321,7 @@ gamer.Paralyze(60) game.say("A sudden gust of powerful wind slams [gamer] into the floor!") gamer.take_bodypart_damage(25) - playsound(game, 'sound/weapons/genhit.ogg', 100, TRUE) + playsound(game, 'sound/items/weapons/genhit.ogg', 100, TRUE) /datum/orion_event/changeling_infiltration name = "Changeling Infiltration" diff --git a/code/game/machinery/computer/atmos_computers/_air_sensor.dm b/code/game/machinery/computer/atmos_computers/_air_sensor.dm index 91a616cc5f678..1f4a8bf834098 100644 --- a/code/game/machinery/computer/atmos_computers/_air_sensor.dm +++ b/code/game/machinery/computer/atmos_computers/_air_sensor.dm @@ -15,6 +15,8 @@ var/inlet_id /// The outlet[vent pump] controlled by this sensor var/outlet_id + /// The air alarm connected to this sensor + var/obj/machinery/airalarm/connected_airalarm /obj/machinery/air_sensor/Initialize(mapload) id_tag = assign_random_name() @@ -57,7 +59,7 @@ /obj/machinery/air_sensor/examine(mob/user) . = ..() - . += span_notice("Use multitool to link it to an injector/vent or reset its ports") + . += span_notice("Use a multitool to link it to an injector, vent, or air alarm, or reset its ports.") . += span_notice("Click with hand to turn it off.") /obj/machinery/air_sensor/attack_hand(mob/living/user, list/modifiers) @@ -78,6 +80,11 @@ /obj/machinery/air_sensor/proc/reset() inlet_id = null outlet_id = null + if(connected_airalarm) + connected_airalarm.disconnect_sensor() + // if air alarm and sensor were linked at roundstart we allow them to link to new devices + connected_airalarm.allow_link_change = TRUE + connected_airalarm = null ///right click with multi tool to disconnect everything /obj/machinery/air_sensor/multitool_act_secondary(mob/living/user, obj/item/tool) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 6c4d32658573a..bf475e0136762 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -67,7 +67,7 @@ concurrent_users += user_ref // Turn on the console if(length(concurrent_users) == 1 && is_living) - playsound(src, 'sound/machines/terminal_on.ogg', 25, FALSE) + playsound(src, 'sound/machines/terminal/terminal_on.ogg', 25, FALSE) use_energy(active_power_usage) // Register map objects cam_screen.display_to(user) @@ -110,7 +110,7 @@ z = C.z, status = C.camera_enabled, )) - if("[C.z]" in z_levels || !C.nanomap_png) + if(("[C.z]" in z_levels) || !C.nanomap_png) continue z_levels += list("[C.z]" = C.nanomap_png) // BANDASTATION EDIT END - Nanomap @@ -179,7 +179,7 @@ if(length(concurrent_users) == 0 && is_living) active_camera = null last_camera_turf = null - playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 25, FALSE) /obj/machinery/computer/security/proc/show_camera_static() cam_screen.vis_contents.Cut() diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 0e47a752b01d2..6640f5582fa20 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -118,7 +118,7 @@ eyeobj.eye_user = null user.remote_control = null current_user = null - playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 25, FALSE) /obj/machinery/computer/camera_advanced/on_set_is_operational(old_value) if(!is_operational) @@ -296,7 +296,7 @@ continue T["[netcam.c_tag][netcam.can_use() ? null : " (Deactivated)"]"] = netcam - playsound(origin, 'sound/machines/terminal_prompt.ogg', 25, FALSE) + playsound(origin, 'sound/machines/terminal/terminal_prompt.ogg', 25, FALSE) var/camera = tgui_input_list(usr, "Camera to view", "Cameras", T) if(isnull(camera)) return @@ -305,12 +305,12 @@ var/obj/machinery/camera/final = T[camera] playsound(src, SFX_TERMINAL_TYPE, 25, FALSE) if(final) - playsound(origin, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE) + playsound(origin, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 25, FALSE) remote_eye.setLoc(get_turf(final)) owner.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash/static) owner.clear_fullscreen("flash", 3) //Shorter flash than normal since it's an ~~advanced~~ console! else - playsound(origin, 'sound/machines/terminal_prompt_deny.ogg', 25, FALSE) + playsound(origin, 'sound/machines/terminal/terminal_prompt_deny.ogg', 25, FALSE) /datum/action/innate/camera_multiz_up name = "Move up a floor" diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index d48b62977893c..abbfb055e1647 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -130,7 +130,7 @@ battlecruiser_called = TRUE caller_card.use_charge(user) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(summon_battlecruiser), caller_card.team), rand(20 SECONDS, 1 MINUTES)) - playsound(src, 'sound/machines/terminal_alert.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_alert.ogg', 50, FALSE) return TRUE if(obj_flags & EMAGGED) @@ -139,7 +139,7 @@ if (authenticated) authorize_access = SSid_access.get_region_access_list(list(REGION_ALL_STATION)) balloon_alert(user, "routing circuits scrambled") - playsound(src, 'sound/machines/terminal_alert.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_alert.ogg', 50, FALSE) return TRUE /obj/machinery/computer/communications/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) @@ -193,11 +193,11 @@ var/obj/item/card/id/id_card = held_item?.GetID() if (!istype(id_card)) to_chat(user, span_warning("You need to swipe your ID!")) - playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_deny.ogg', 50, FALSE) return if (!(ACCESS_CAPTAIN in id_card.access)) to_chat(user, span_warning("You are not authorized to do this!")) - playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_deny.ogg', 50, FALSE) return var/new_sec_level = SSsecurity_level.text_level_to_number(params["newSecurityLevel"]) @@ -209,7 +209,7 @@ SSsecurity_level.set_level(new_sec_level) to_chat(user, span_notice("Authorization confirmed. Modifying security level.")) - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) // Only notify people if an actual change happened user.log_message("changed the security level to [params["newSecurityLevel"]] with [src].", LOG_GAME) @@ -234,7 +234,7 @@ if (!COOLDOWN_FINISHED(src, important_action_cooldown)) return - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) var/message = trim(html_encode(params["message"]), MAX_MESSAGE_LEN) var/emagged = obj_flags & EMAGGED @@ -300,7 +300,7 @@ to_chat(user, span_notice("Request sent.")) user.log_message("has requested the nuclear codes from CentCom with reason \"[reason]\"", LOG_SAY) priority_announce("The codes for the on-station nuclear self-destruct have been requested by [user]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self-Destruct Codes Requested", SSstation.announcer.get_rand_report_sound()) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt.ogg', 50, FALSE) COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN) if ("restoreBackupRoutingData") if (!authenticated_as_non_silicon_captain(user)) @@ -308,7 +308,7 @@ if (!(obj_flags & EMAGGED)) return to_chat(user, span_notice("Backup routing data restored.")) - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) obj_flags &= ~EMAGGED if ("sendToOtherSector") if (!authenticated_as_non_silicon_captain(user)) @@ -336,7 +336,7 @@ log_admin_private("[key_name(user)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". They may be using a disallowed term for a cross-station message. Increasing delay time to reject.\n\n Message: \"[message]\"") GLOB.communications_controller.soft_filtering = TRUE - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) var/destination = params["destination"] @@ -389,7 +389,7 @@ authenticated = FALSE authorize_access = null authorize_name = null - playsound(src, 'sound/machines/terminal_off.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 50, FALSE) return if (obj_flags & EMAGGED) @@ -397,7 +397,7 @@ authorize_access = SSid_access.get_region_access_list(list(REGION_ALL_STATION)) authorize_name = "Unknown" to_chat(user, span_warning("[src] lets out a quiet alarm as its login is overridden.")) - playsound(src, 'sound/machines/terminal_alert.ogg', 25, FALSE) + playsound(src, 'sound/machines/terminal/terminal_alert.ogg', 25, FALSE) else if(isliving(user)) var/mob/living/L = user var/obj/item/card/id/id_card = L.get_idcard(hand_first = TRUE) @@ -407,7 +407,7 @@ authorize_name = "[id_card.registered_name] - [id_card.assignment]" state = STATE_MAIN - playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_on.ogg', 50, FALSE) imprint_gps(gps_tag = "Encrypted Communications Channel") if ("toggleEmergencyAccess") @@ -672,7 +672,7 @@ /// Returns TRUE if the user can buy shuttles. /// If they cannot, returns FALSE or a string detailing why. /obj/machinery/computer/communications/proc/can_buy_shuttles(mob/user) - if (!SSmapping.config.allow_custom_shuttles) + if (!SSmapping.current_map.allow_custom_shuttles) return FALSE if (HAS_SILICON_ACCESS(user)) return FALSE @@ -721,7 +721,7 @@ if(!GLOB.communications_controller.can_announce(user, is_ai)) to_chat(user, span_alert("Intercomms recharging. Please stand by.")) return - var/input = tgui_input_text(user, "Message to announce to the station crew", "Announcement") + var/input = tgui_input_text(user, "Message to announce to the station crew", "Announcement", max_length = MAX_MESSAGE_LEN) if(!input || !user.can_perform_action(src, ALLOW_SILICON_REACH)) return if(user.try_speak(input)) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index b5e5a915ce2bf..adac393d7bedb 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -223,7 +223,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) continue // Check if their uniform is in a compatible mode. - if((uniform.has_sensor <= NO_SENSORS) || !uniform.sensor_mode) + if((uniform.has_sensor == NO_SENSORS) || !uniform.sensor_mode) stack_trace("Human without active suit sensors is in suit_sensors_list: [tracked_human] ([tracked_human.type]) ([uniform.type])") continue @@ -245,6 +245,19 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) if (jobs[trim_assignment] != null) entry["ijob"] = jobs[trim_assignment] + // Broken sensors show garbage data + if (uniform.has_sensor == BROKEN_SENSORS) + entry["life_status"] = rand(0,1) + entry["area"] = pick_list (ION_FILE, "ionarea") + entry["oxydam"] = rand(0,175) + entry["toxdam"] = rand(0,175) + entry["burndam"] = rand(0,175) + entry["brutedam"] = rand(0,175) + entry["health"] = -50 + entry["can_track"] = tracked_living_mob.can_track() + results[++results.len] = entry + continue + // Current status if (sensor_mode >= SENSOR_LIVING) entry["life_status"] = tracked_living_mob.stat diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index e1612ae7ef2e5..58de43525357c 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -683,7 +683,7 @@ var/datum/mutation/human/target_mutation = get_mut_by_ref(bref, search_flags) // Prompt for modifier string - var/new_sequence_input = tgui_input_text(usr, "Enter a replacement sequence", "Inherent Gene Replacement", 32, encode = FALSE) + var/new_sequence_input = tgui_input_text(usr, "Enter a replacement sequence", "Inherent Gene Replacement", max_length = 32, encode = FALSE) // Drop out if the string is the wrong length if(length(new_sequence_input) != 32) return @@ -1347,7 +1347,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["name"] || !buffer_slot["UF"] || !buffer_slot["blood_type"]) - to_chat(usr,"Genetic data corrupted, unable to create injector.") + to_chat(usr,span_warning("Genetic data corrupted, unable to create injector.")) return I = new /obj/item/dnainjector/timed(loc) @@ -1731,7 +1731,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["UF"]) - to_chat(usr,"Genetic data corrupted, unable to apply genetic data.") + to_chat(usr,span_warning("Genetic data corrupted, unable to apply genetic data.")) return FALSE COOLDOWN_START(src, enzyme_copy_timer, ENZYME_COPY_BASE_COOLDOWN) scanner_occupant.dna.unique_features = buffer_slot["UF"] diff --git a/code/game/machinery/computer/mechlaunchpad.dm b/code/game/machinery/computer/mechlaunchpad.dm index 050f3447a8ce4..7590e690d07a6 100644 --- a/code/game/machinery/computer/mechlaunchpad.dm +++ b/code/game/machinery/computer/mechlaunchpad.dm @@ -66,7 +66,7 @@ /// A proc that makes random beeping sounds for a set amount of time, the sounds are separated by a random amount of time. /obj/machinery/computer/mechpad/proc/random_beeps(mob/user, time = 0, mintime = 0, maxtime = 1) - var/static/list/beep_sounds = list('sound/machines/terminal_prompt_confirm.ogg', 'sound/machines/terminal_prompt_deny.ogg', 'sound/machines/terminal_error.ogg', 'sound/machines/terminal_select.ogg', 'sound/machines/terminal_success.ogg') + var/static/list/beep_sounds = list('sound/machines/terminal/terminal_prompt_confirm.ogg', 'sound/machines/terminal/terminal_prompt_deny.ogg', 'sound/machines/terminal/terminal_error.ogg', 'sound/machines/terminal/terminal_select.ogg', 'sound/machines/terminal/terminal_success.ogg') var/time_to_spend = 0 var/orig_time = time while(time > 0) @@ -132,7 +132,7 @@ if(!can_launch(user, where)) return flick("mechpad-launch", connected_mechpad) - playsound(connected_mechpad, 'sound/machines/triple_beep.ogg', 50, TRUE) + playsound(connected_mechpad, 'sound/machines/beep/triple_beep.ogg', 50, TRUE) addtimer(CALLBACK(src, PROC_REF(start_launch), user, where), 1 SECONDS) /obj/machinery/computer/mechpad/proc/start_launch(mob/user, obj/machinery/mechpad/where) diff --git a/code/game/machinery/computer/prisoner/_prisoner.dm b/code/game/machinery/computer/prisoner/_prisoner.dm index 9777c1b209cdf..828d981bec644 100644 --- a/code/game/machinery/computer/prisoner/_prisoner.dm +++ b/code/game/machinery/computer/prisoner/_prisoner.dm @@ -35,7 +35,7 @@ return contained_id = new_id balloon_alert_to_viewers("id inserted") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) /obj/machinery/computer/prisoner/proc/id_eject(mob/user) if(isnull(contained_id)) @@ -48,7 +48,7 @@ contained_id.forceMove(drop_location()) balloon_alert_to_viewers("id ejected") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) /obj/machinery/computer/prisoner/attackby(obj/item/weapon, mob/user, params) if(istype(weapon, /obj/item/card/id/advanced/prisoner)) diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index f03c08a8d821b..66440bb97c3fd 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -72,7 +72,7 @@ if(.) return if(isliving(usr)) - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) if(!allowed(usr)) to_chat(usr, span_warning("Access denied.")) return @@ -144,7 +144,7 @@ user.log_message("teleported [key_name(prisoner)] to the Labor Camp [COORD(beacon)] for [id_goal_not_set ? "default goal of ":""][contained_id.goal] points.", LOG_GAME) prisoner.log_message("teleported to Labor Camp [COORD(beacon)] by [key_name(user)] for [id_goal_not_set ? "default goal of ":""][contained_id.goal] points.", LOG_GAME, log_globally = FALSE) teleporter.handle_prisoner(contained_id, temporary_record) - playsound(src, 'sound/weapons/emitter.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(src, 'sound/items/weapons/emitter.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) prisoner.forceMove(get_turf(beacon)) prisoner.Paralyze(40) // small travel dizziness to_chat(prisoner, span_warning("The teleportation makes you a little dizzy.")) diff --git a/code/game/machinery/computer/prisoner/management.dm b/code/game/machinery/computer/prisoner/management.dm index 32c2ddba984df..a971dce2d9d02 100644 --- a/code/game/machinery/computer/prisoner/management.dm +++ b/code/game/machinery/computer/prisoner/management.dm @@ -52,20 +52,20 @@ GLOBAL_LIST_EMPTY_TYPED(tracked_implants, /obj/item/implant) CRASH("[usr] potentially spoofed ui action [action] on prisoner console without the console being logged in.") if(isliving(usr)) - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE) switch(action) if("login") if(allowed(usr)) authenticated = TRUE - playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_on.ogg', 50, FALSE) else - playsound(src, 'sound/machines/terminal_error.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 50, FALSE) return TRUE if("logout") authenticated = FALSE - playsound(src, 'sound/machines/terminal_off.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 50, FALSE) return TRUE if("insert_id") diff --git a/code/game/machinery/computer/records/records.dm b/code/game/machinery/computer/records/records.dm index d53895300438d..7d01d973549b3 100644 --- a/code/game/machinery/computer/records/records.dm +++ b/code/game/machinery/computer/records/records.dm @@ -57,7 +57,7 @@ expunge_record_info(target) balloon_alert(user, "record expunged") - playsound(src, 'sound/machines/terminal_eject.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_eject.ogg', 70, TRUE) investigate_log("[key_name(user)] expunged the record of [target.name].", INVESTIGATE_RECORDS) return TRUE @@ -69,7 +69,7 @@ if("logout") balloon_alert(user, "logged out") - playsound(src, 'sound/machines/terminal_off.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 70, TRUE) authenticated = FALSE return TRUE @@ -82,14 +82,14 @@ ui.close() balloon_alert(user, "purging records...") - playsound(src, 'sound/machines/terminal_alert.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_alert.ogg', 70, TRUE) if(do_after(user, 5 SECONDS)) for(var/datum/record/crew/entry in GLOB.manifest.general) expunge_record_info(entry) balloon_alert(user, "records purged") - playsound(src, 'sound/machines/terminal_off.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_off.ogg', 70, TRUE) investigate_log("[key_name(user)] purged all records.", INVESTIGATE_RECORDS) else balloon_alert(user, "interrupted!") @@ -139,23 +139,23 @@ if(!authenticated && !allowed(user)) balloon_alert(user, "access denied") - playsound(src, 'sound/machines/terminal_error.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 70, TRUE) return FALSE - if(mugshot.picture.psize_x > world.icon_size || mugshot.picture.psize_y > world.icon_size) + if(mugshot.picture.psize_x > ICON_SIZE_X || mugshot.picture.psize_y > ICON_SIZE_Y) balloon_alert(user, "photo too large!") - playsound(src, 'sound/machines/terminal_error.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 70, TRUE) return FALSE var/trimmed = copytext(mugshot.name, 9, MAX_NAME_LEN) // Remove "photo - " - var/name = tgui_input_text(user, "Enter the name of the new record.", "New Record", trimmed, MAX_NAME_LEN) + var/name = tgui_input_text(user, "Enter the name of the new record.", "New Record", trimmed, max_length = MAX_NAME_LEN) if(!name || !is_operational || !user.can_perform_action(src, ALLOW_SILICON_REACH) || !mugshot || QDELETED(mugshot) || QDELETED(src)) return FALSE new /datum/record/crew(name = name, character_appearance = mugshot.picture.picture_image) balloon_alert(user, "record created") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 70, TRUE) qdel(mugshot) @@ -168,10 +168,10 @@ if(!allowed(user)) balloon_alert(user, "access denied") - playsound(src, 'sound/machines/terminal_error.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 70, TRUE) return FALSE balloon_alert(user, "logged in") - playsound(src, 'sound/machines/terminal_on.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_on.ogg', 70, TRUE) return TRUE diff --git a/code/game/machinery/computer/records/security.dm b/code/game/machinery/computer/records/security.dm index bdfa996dad68f..8b32bf9af0a15 100644 --- a/code/game/machinery/computer/records/security.dm +++ b/code/game/machinery/computer/records/security.dm @@ -204,13 +204,13 @@ var/input_name = strip_html_full(params["name"], MAX_CRIME_NAME_LEN) if(!input_name) to_chat(usr, span_warning("You must enter a name for the crime.")) - playsound(src, 'sound/machines/terminal_error.ogg', 75, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 75, TRUE) return FALSE var/max = CONFIG_GET(number/maxfine) if(params["fine"] > max) to_chat(usr, span_warning("The maximum fine is [max] credits.")) - playsound(src, 'sound/machines/terminal_error.ogg', 75, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 75, TRUE) return FALSE var/input_details @@ -321,7 +321,7 @@ /// Finishes printing, resets the printer. /obj/machinery/computer/records/security/proc/print_finish(obj/item/printable) printing = FALSE - playsound(src, 'sound/machines/terminal_eject.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_eject.ogg', 100, TRUE) printable.forceMove(loc) return TRUE @@ -330,7 +330,7 @@ /obj/machinery/computer/records/security/proc/print_record(mob/user, datum/record/crew/target, list/params) if(printing) balloon_alert(user, "printer busy") - playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 100, TRUE) return FALSE printing = TRUE diff --git a/code/game/machinery/computer/telescreen.dm b/code/game/machinery/computer/telescreen.dm index 6058d3bf131ab..6021c954cabfc 100644 --- a/code/game/machinery/computer/telescreen.dm +++ b/code/game/machinery/computer/telescreen.dm @@ -55,7 +55,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/entertainment/Initialize(mapload) . = ..() - RegisterSignal(src, COMSIG_CLICK, PROC_REF(BigClick)) find_and_hang_on_wall() speakers = new(src) @@ -63,16 +62,66 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai . = ..() QDEL_NULL(speakers) -/// Bypass clickchain to allow humans to use the telescreen from a distance -/obj/machinery/computer/security/telescreen/entertainment/proc/BigClick() - SIGNAL_HANDLER +/obj/machinery/computer/security/telescreen/entertainment/examine(mob/user) + . = ..() + . += length(network) ? span_notice("The TV is broadcasting something!") : span_notice("There's nothing on TV.") + +/obj/machinery/computer/security/telescreen/entertainment/ui_state(mob/user) + return GLOB.always_state + +// Snowflake ui status to allow mobs to watch TV from across the room, +// but only allow adjacent mobs / tk users / silicon to change the channel +/obj/machinery/computer/security/telescreen/entertainment/ui_status(mob/living/user, datum/ui_state/state) + if(!can_watch_tv(user)) + return UI_CLOSE + if(!isliving(user)) + return isAdminGhostAI(user) ? UI_INTERACTIVE : UI_UPDATE + if(user.stat >= SOFT_CRIT) + return UI_UPDATE + + var/can_range = FALSE + if(iscarbon(user)) + var/mob/living/carbon/carbon_user = user + if(carbon_user.dna?.check_mutation(/datum/mutation/human/telekinesis) && tkMaxRangeCheck(user, src)) + can_range = TRUE + if(HAS_SILICON_ACCESS(user) || (user.interaction_range && user.interaction_range >= get_dist(user, src))) + can_range = TRUE + + if((can_range || user.CanReach(src)) && ISADVANCEDTOOLUSER(user)) + if(user.incapacitated) + return UI_UPDATE + if(!can_range && user.can_hold_items() && (user.usable_hands <= 0 || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))) + return UI_UPDATE + return UI_INTERACTIVE + return UI_UPDATE + +/obj/machinery/computer/security/telescreen/entertainment/Click(location, control, params) + if(world.time <= usr.next_click + 1) + return // just so someone can't turn an auto clicker on and spam tvs - if(!network.len) - balloon_alert(usr, "nothing on TV!") + . = ..() + if(!can_watch_tv(usr)) return - + if((!length(network) && !Adjacent(usr)) || LAZYACCESS(params2list(params), SHIFT_CLICK)) // let people examine + return + // Lets us see the tv regardless of click results INVOKE_ASYNC(src, TYPE_PROC_REF(/atom, interact), usr) +/obj/machinery/computer/security/telescreen/entertainment/proc/can_watch_tv(mob/living/watcher) + if(!is_operational) + return FALSE + if((watcher.sight & SEE_OBJS) || HAS_SILICON_ACCESS(watcher)) + if(get_dist(watcher, src) > 7) + return FALSE + else + if(!can_see(watcher, src, 7)) + return FALSE + if(watcher.is_blind()) + return FALSE + if(!isobserver(watcher) && watcher.stat >= UNCONSCIOUS) + return FALSE + return TRUE + /// Sets the monitor's icon to the selected state, and says an announcement /obj/machinery/computer/security/telescreen/entertainment/proc/notify(on, announcement) if(on && icon_state == icon_state_off) diff --git a/code/game/machinery/computer/warrant.dm b/code/game/machinery/computer/warrant.dm index 3b73a8b75bfea..71455fc5a2e40 100644 --- a/code/game/machinery/computer/warrant.dm +++ b/code/game/machinery/computer/warrant.dm @@ -88,26 +88,26 @@ if(!isliving(user) || issilicon(user)) to_chat(user, span_warning("ACCESS DENIED")) - playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 100, TRUE) return FALSE var/mob/living/player = user var/obj/item/card/id/auth = player.get_idcard(TRUE) if(!auth) to_chat(user, span_warning("ACCESS DENIED: No ID card detected.")) - playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 100, TRUE) return FALSE var/datum/bank_account/account = auth.registered_account if(!account?.account_holder || account.account_holder == "Unassigned") to_chat(user, span_warning("ACCESS DENIED: No account linked to ID.")) - playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 100, TRUE) return FALSE var/amount = params["amount"] if(!amount || !isnum(amount) || amount > warrant.fine || !account.adjust_money(-amount, "Paid fine for [target.name]")) to_chat(user, span_warning("ACCESS DENIED: Invalid amount.")) - playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 100, TRUE) return FALSE account.bank_card_talk("You have paid [amount]cr towards [target.name]'s fine of [warrant.fine]cr.") @@ -139,7 +139,7 @@ /// Finishes printing, resets the printer. /obj/machinery/computer/warrant/proc/print_finish(obj/item/paper/bounty) printing = FALSE - playsound(src, 'sound/machines/terminal_eject.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_eject.ogg', 100, TRUE) bounty.forceMove(loc) return TRUE @@ -148,7 +148,7 @@ /obj/machinery/computer/warrant/proc/print_bounty(mob/user, list/params) if(printing) balloon_alert(user, "printer busy") - playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) + playsound(src, 'sound/machines/terminal/terminal_error.ogg', 100, TRUE) return FALSE var/datum/record/crew/target = locate(params["crew_ref"]) in GLOB.manifest.general diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index d2e3c895ebd1d..43946538ac51b 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -50,11 +50,11 @@ return UI_CLOSE if(!allowed(user)) to_chat(user,span_warning("Error: Access Denied.")) - user.playsound_local(src, 'sound/misc/compiler-failure.ogg', 25, TRUE) + user.playsound_local(src, 'sound/machines/compiler/compiler-failure.ogg', 25, TRUE) return UI_CLOSE if(!length(music_player.songs)) to_chat(user,span_warning("Error: No music tracks have been authorized for your station. Petition Central Command to resolve this issue.")) - user.playsound_local(src, 'sound/misc/compiler-failure.ogg', 25, TRUE) + user.playsound_local(src, 'sound/machines/compiler/compiler-failure.ogg', 25, TRUE) return UI_CLOSE return ..() @@ -79,7 +79,7 @@ to_chat(usr, span_warning("Error: The device is still resetting from the last activation, \ it will be ready again in [DisplayTimeText(COOLDOWN_TIMELEFT(src, jukebox_song_cd))].")) if(COOLDOWN_FINISHED(src, jukebox_error_cd)) - playsound(src, 'sound/misc/compiler-failure.ogg', 33, TRUE) + playsound(src, 'sound/machines/compiler/compiler-failure.ogg', 33, TRUE) COOLDOWN_START(src, jukebox_error_cd, 15 SECONDS) return TRUE @@ -134,7 +134,7 @@ if(!QDELING(src)) COOLDOWN_START(src, jukebox_song_cd, 10 SECONDS) - playsound(src,'sound/machines/terminal_off.ogg',50,TRUE) + playsound(src,'sound/machines/terminal/terminal_off.ogg',50,TRUE) update_use_power(IDLE_POWER_USE) update_appearance(UPDATE_ICON_STATE) return TRUE diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 74ca492657b6e..544e58bcabeea 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -75,7 +75,7 @@ LAZYREMOVE(dish_drive_contents, dish) user.put_in_hands(dish) balloon_alert(user, "[dish] taken") - playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 50, TRUE) flick("synthesizer_beam", src) /obj/machinery/dish_drive/wrench_act(mob/living/user, obj/item/tool) @@ -89,7 +89,7 @@ return LAZYADD(dish_drive_contents, dish) balloon_alert(user, "[dish] placed in drive") - playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 50, TRUE) flick("synthesizer_beam", src) return else if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), dish)) @@ -129,7 +129,7 @@ LAZYADD(dish_drive_contents, dish) visible_message(span_notice("[src] beams up [dish]!")) dish.forceMove(src) - playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 50, TRUE) flick("synthesizer_beam", src) else step_towards(dish, src) @@ -153,7 +153,7 @@ if(!bin) if(manual) visible_message(span_warning("[src] buzzes. There are no disposal bins in range!")) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return var/disposed = 0 for(var/obj/item/dish in dish_drive_contents) @@ -166,8 +166,8 @@ disposed++ if (disposed) visible_message(span_notice("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].")) - playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) - playsound(bin, 'sound/items/pshoom.ogg', 50, TRUE) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 50, TRUE) + playsound(bin, 'sound/items/pshoom/pshoom.ogg', 50, TRUE) Beam(bin, icon_state = "rped_upgrade", time = 5) bin.update_appearance() flick("synthesizer_beam", src) diff --git a/code/game/machinery/dna_infuser/dna_infuser.dm b/code/game/machinery/dna_infuser/dna_infuser.dm index cc2641d32971e..961092c635b33 100644 --- a/code/game/machinery/dna_infuser/dna_infuser.dm +++ b/code/game/machinery/dna_infuser/dna_infuser.dm @@ -67,7 +67,7 @@ return if(occupant && infusing_from) if(!occupant.can_infuse(user)) - playsound(src, 'sound/machines/scanbuzz.ogg', 35, vary = TRUE) + playsound(src, 'sound/machines/scanner/scanbuzz.ogg', 35, vary = TRUE) return balloon_alert(user, "starting DNA infusion...") start_infuse() diff --git a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm index 235986cbd0ddb..670abc2d87bbf 100644 --- a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm +++ b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm @@ -75,7 +75,7 @@ desc = "EVERYONE CALM DOWN! I'm not implying anything with this entry. Are we really so surprised that felinids are humans with mixed feline DNA?" threshold_desc = DNA_INFUSION_NO_THRESHOLD qualities = list( - "oh, let me guess, you're a big fan of those japanese tourist bots", + "oh, let me guess, you're a big fan of those Japanese tourist bots", ) input_obj_or_mob = list( /mob/living/basic/pet/cat, diff --git a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm index 45d5f3ddfd997..4f8d38aa99971 100644 --- a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm @@ -130,7 +130,7 @@ . = ..() if(prob(5)) owner.emote("squeaks") - playsound(owner, 'sound/creatures/mousesqueek.ogg', 100) + playsound(owner, 'sound/mobs/non-humanoids/mouse/mousesqueek.ogg', 100) #undef RAT_ORGAN_COLOR #undef RAT_SCLERA_COLOR diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index a33895e5569b7..8033c697bfa3d 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -125,12 +125,12 @@ var/normalspeed = TRUE var/cutAiWire = FALSE var/autoname = FALSE - var/doorOpen = 'sound/machines/airlock.ogg' - var/doorClose = 'sound/machines/airlockclose.ogg' - var/doorDeni = 'sound/machines/deniedbeep.ogg' // i'm thinkin' Deni's - var/boltUp = 'sound/machines/boltsup.ogg' - var/boltDown = 'sound/machines/boltsdown.ogg' - var/noPower = 'sound/machines/doorclick.ogg' + var/doorOpen = 'sound/machines/airlock/airlock.ogg' + var/doorClose = 'sound/machines/airlock/airlockclose.ogg' + var/doorDeni = 'sound/machines/beep/deniedbeep.ogg' // i'm thinkin' Deni's + var/boltUp = 'sound/machines/airlock/boltsup.ogg' + var/boltDown = 'sound/machines/airlock/boltsdown.ogg' + var/noPower = 'sound/machines/airlock/doorclick.ogg' /// What airlock assembly mineral plating was applied to var/previous_airlock = /obj/structure/door_assembly /// Material of inner filling; if its an airlock with glass, this should be set to "glass" @@ -1051,7 +1051,7 @@ to_chat(user, span_warning("[src] has already been sealed!")) return user.visible_message(span_notice("[user] begins sealing [src]."), span_notice("You begin sealing [src].")) - playsound(src, 'sound/items/jaws_pry.ogg', 30, TRUE) + playsound(src, 'sound/items/tools/jaws_pry.ogg', 30, TRUE) if(!do_after(user, airlockseal.seal_time, target = src)) return if(!density) @@ -1063,7 +1063,7 @@ if(!user.transferItemToLoc(airlockseal, src)) to_chat(user, span_warning("For some reason, you can't attach [airlockseal]!")) return - playsound(src, 'sound/machines/airlockforced.ogg', 30, TRUE) + playsound(src, 'sound/machines/airlock/airlockforced.ogg', 30, TRUE) user.visible_message(span_notice("[user] finishes sealing [src]."), span_notice("You finish sealing [src].")) seal = airlockseal modify_max_integrity(max_integrity * AIRLOCK_SEAL_MULTIPLIER) @@ -1137,12 +1137,12 @@ to_chat(user, span_warning("You don't have the dexterity to remove the seal!")) return TRUE user.visible_message(span_notice("[user] begins removing the seal from [src]."), span_notice("You begin removing [src]'s pneumatic seal.")) - playsound(src, 'sound/machines/airlockforced.ogg', 30, TRUE) + playsound(src, 'sound/machines/airlock/airlockforced.ogg', 30, TRUE) if(!do_after(user, airlockseal.unseal_time, target = src)) return TRUE if(!seal) return TRUE - playsound(src, 'sound/items/jaws_pry.ogg', 30, TRUE) + playsound(src, 'sound/items/tools/jaws_pry.ogg', 30, TRUE) airlockseal.forceMove(get_turf(user)) user.visible_message(span_notice("[user] finishes removing the seal from [src]."), span_notice("You finish removing [src]'s pneumatic seal.")) seal = null @@ -1176,10 +1176,10 @@ return TRUE /obj/machinery/door/airlock/try_to_crowbar(obj/item/I, mob/living/user, forced = FALSE) - if(I?.tool_behaviour == TOOL_CROWBAR && should_try_removing_electronics() && !operating) + if(I.tool_behaviour == TOOL_CROWBAR && should_try_removing_electronics() && !operating) user.visible_message(span_notice("[user] removes the electronics from the airlock assembly."), \ span_notice("You start to remove electronics from the airlock assembly...")) - if(I.use_tool(src, user, 40, volume=100)) + if(I.use_tool(src, user, 40, volume = 100)) deconstruct(TRUE, user) return if(seal) @@ -1202,10 +1202,10 @@ if(!prying_so_hard) var/time_to_open = 50 - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) //is it aliens or just the CE being a dick? + playsound(src, 'sound/machines/airlock/airlock_alien_prying.ogg', 100, TRUE) //is it aliens or just the CE being a dick? prying_so_hard = TRUE - if(do_after(user, time_to_open, src)) - if(check_electrified && shock(user,100)) + if(I.use_tool(src, user, time_to_open, volume = 100)) + if(check_electrified && shock(user, 100)) prying_so_hard = FALSE return open(BYPASS_DOOR_CHECKS) @@ -1303,7 +1303,7 @@ return TRUE if(BYPASS_DOOR_CHECKS) // No power usage, special sound, get it open. - playsound(src, 'sound/machines/airlockforced.ogg', 30, TRUE) + playsound(src, 'sound/machines/airlock/airlockforced.ogg', 30, TRUE) return TRUE else @@ -1381,7 +1381,7 @@ return TRUE if(BYPASS_DOOR_CHECKS) - playsound(src, 'sound/machines/airlockforced.ogg', 30, TRUE) + playsound(src, 'sound/machines/airlock/airlockforced.ogg', 30, TRUE) return TRUE else @@ -1474,7 +1474,7 @@ var/time_to_open = 5 //half a second if(hasPower()) time_to_open = 5 SECONDS //Powered airlocks take longer to open, and are loud. - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) + playsound(src, 'sound/machines/airlock/airlock_alien_prying.ogg', 100, TRUE) if(do_after(user, time_to_open, src)) @@ -2228,7 +2228,7 @@ if(!hasPower()) to_chat(user, span_notice("You begin unlocking the airlock safety mechanism...")) if(do_after(user, 15 SECONDS, target = src)) - try_to_crowbar(null, user, TRUE) + try_to_crowbar(src, user, TRUE) return TRUE else // always open from the space side @@ -2374,7 +2374,7 @@ new /obj/effect/temp_visual/cult/sac(loc) var/atom/throwtarget throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(L, src))) - SEND_SOUND(L, sound(pick('sound/hallucinations/turn_around1.ogg','sound/hallucinations/turn_around2.ogg'),0,1,50)) + SEND_SOUND(L, sound(pick('sound/effects/hallucinations/turn_around1.ogg','sound/effects/hallucinations/turn_around2.ogg'),0,1,50)) flash_color(L, flash_color=COLOR_CULT_RED, flash_time=20) L.Paralyze(40) L.throw_at(throwtarget, 5, 1) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index d75b5e17174c5..5449f7f7cee4c 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -210,7 +210,7 @@ if(!red_alert_access) return audible_message(span_notice("[src] whirr[p_s()] as [p_they()] automatically lift[p_s()] access requirements!")) - playsound(src, 'sound/machines/boltsup.ogg', 50, TRUE) + playsound(src, 'sound/machines/airlock/boltsup.ogg', 50, TRUE) /obj/machinery/door/proc/try_safety_unlock(mob/user) return FALSE @@ -334,7 +334,7 @@ return -/obj/machinery/door/proc/try_to_crowbar(obj/item/acting_object, mob/user) +/obj/machinery/door/proc/try_to_crowbar(obj/item/acting_object, mob/user, forced = FALSE) return /// Called when the user right-clicks on the door with a crowbar. @@ -399,13 +399,13 @@ switch(damage_type) if(BRUTE) if(glass) - playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE) + playsound(loc, 'sound/effects/glass/glasshit.ogg', 90, TRUE) else if(damage_amount) - playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE) + playsound(loc, 'sound/items/weapons/smash.ogg', 50, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/machinery/door/emp_act(severity) . = ..() diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 84df989ba0ea3..858f2dffefff2 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -59,8 +59,8 @@ ///Keeps track of if we're playing the alarm sound loop (as only one firelock per group should be). Used during power changes. var/is_playing_alarm = FALSE - var/knock_sound = 'sound/effects/glassknock.ogg' - var/bash_sound = 'sound/effects/glassbash.ogg' + var/knock_sound = 'sound/effects/glass/glassknock.ogg' + var/bash_sound = 'sound/effects/glass/glassbash.ogg' /datum/armor/door_firedoor @@ -544,7 +544,7 @@ correct_state() /// We check for adjacency when using the primary attack. -/obj/machinery/door/firedoor/try_to_crowbar(obj/item/acting_object, mob/user) +/obj/machinery/door/firedoor/try_to_crowbar(obj/item/acting_object, mob/user, forced = FALSE) if(welded || operating) return diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index bccc243381ba4..8d35f44b0d80c 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -20,7 +20,7 @@ /// Sound used upon closing. var/door_close = 'sound/machines/blastdoor.ogg' /// Sound used upon denying. - var/door_deny = 'sound/machines/buzz-sigh.ogg' + var/door_deny = 'sound/machines/buzz/buzz-sigh.ogg' /obj/machinery/door/password/voice voice_activated = TRUE @@ -103,7 +103,7 @@ playsound(src, door_deny, 30, TRUE) /obj/machinery/door/password/proc/ask_for_pass(mob/user) - var/guess = tgui_input_text(user, "Enter the password", "Password") + var/guess = tgui_input_text(user, "Enter the password", "Password", max_length = MAX_MESSAGE_LEN) if(guess == password) return TRUE return FALSE diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index ab18a63361c97..cb33ed6c14f5a 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -254,7 +254,7 @@ user.visible_message(span_warning("[user] begins prying open [src]."),\ span_noticealien("You begin digging your claws into [src] with all your might!"),\ span_warning("You hear groaning metal...")) - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) + playsound(src, 'sound/machines/airlock/airlock_alien_prying.ogg', 100, TRUE) var/time_to_open = 5 SECONDS if(hasPower()) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 0c897c6809666..d093cc0d3556d 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -6,7 +6,7 @@ layer = ABOVE_WINDOW_LAYER closingLayer = ABOVE_WINDOW_LAYER resistance_flags = ACID_PROOF - obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR + obj_flags = CAN_BE_HIT | IGNORE_DENSITY | BLOCKS_CONSTRUCTION_DIR var/base_state = "left" max_integrity = 150 //If you change this, consider changing ../door/window/brigdoor/ max_integrity at the bottom of this .dm file integrity_failure = 0 @@ -326,9 +326,9 @@ /obj/machinery/door/window/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(src, 'sound/effects/glasshit.ogg', 90, TRUE) + playsound(src, 'sound/effects/glass/glasshit.ogg', 90, TRUE) if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/machinery/door/window/on_deconstruction(disassembled) if(disassembled) diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/drone_dispenser.dm similarity index 77% rename from code/game/machinery/droneDispenser.dm rename to code/game/machinery/drone_dispenser.dm index af39257973cce..414746dcb1923 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/drone_dispenser.dm @@ -14,40 +14,58 @@ integrity_failure = 0.33 // These allow for different icons when creating custom dispensers + /// Icon string to use when the drone dispenser is not processing. var/icon_off = "off" + /// Icon string to use when the drone dispenser is processing. var/icon_on = "on" + /// Icon string to use when the drone dispenser is on cooldown. var/icon_recharging = "recharge" + /// Icon string to use when the drone dispenser is making a new shell. var/icon_creating = "make" + /// The quantity of materials used when generating a new drone shell. var/list/using_materials + /// Quantity of materials to automatically insert when the drone dispenser is spawned. var/starting_amount = 0 var/iron_cost = HALF_SHEET_MATERIAL_AMOUNT var/glass_cost = HALF_SHEET_MATERIAL_AMOUNT + /// Energy to draw when processing a new drone shell fresh. var/energy_used = 1 KILO JOULES + /// What operation the drone shell dispenser is currently in, checked in process() to determine behavior var/mode = DRONE_READY + /// Reference to world.time to use for calculation of cooldowns and production of a new drone dispenser. var/timer + /// How long should the drone dispenser be on cooldown after operating var/cooldownTime = 3 MINUTES - var/production_time = 30 + /// How long does it the drone dispenser take to generate a new drone shell? + var/production_time = 3 SECONDS //The item the dispenser will create - var/dispense_type = /obj/effect/mob_spawn/ghost_role/drone + var/list/dispense_type = list(/obj/effect/mob_spawn/ghost_role/drone) - // The maximum number of "idle" drone shells it will make before - // ceasing production. Set to 0 for infinite. + /// The maximum number of "idle" drone shells it will make before ceasing production. Set to 0 for infinite. var/maximum_idle = 3 - var/work_sound = 'sound/items/rped.ogg' + /// Sound that the drone dispnser plays when it's ready to start making more drones. + var/work_sound = 'sound/items/tools/rped.ogg' + /// Sound that the drone dispnser plays when it's created a new drone. var/create_sound = 'sound/items/deconstruct.ogg' + /// Sound that the drone dispnser plays when it's recharged it's cooldown. var/recharge_sound = 'sound/machines/ping.ogg' + /// String that's displayed for when the drone dispenser start working. var/begin_create_message = "whirs to life!" + /// String that's displayed for when the drone dispenser stops working. var/end_create_message = "dispenses a drone shell." + /// String that's displayed for when the drone dispenser finished it's cooldown. var/recharge_message = "pings." + /// String that's displayed for when the drone dispenser is still on cooldown. var/recharging_text = "It is whirring and clicking. It seems to be recharging." - + /// String that's displayed for when the drone dispenser is broken. var/break_message = "lets out a tinny alarm before falling dark." + /// Sound that the drone dispnser plays when it's broken. var/break_sound = 'sound/machines/warning-buzzer.ogg' - + /// Reference to the object's internal storage for materials. var/datum/component/material_container/materials /obj/machinery/drone_dispenser/Initialize(mapload) @@ -75,7 +93,7 @@ /obj/machinery/drone_dispenser/syndrone //Please forgive me name = "syndrone shell dispenser" desc = "A suspicious machine that will create Syndicate exterminator drones when supplied with iron and glass. Disgusting." - dispense_type = /obj/effect/mob_spawn/ghost_role/drone/syndrone + dispense_type = list(/obj/effect/mob_spawn/ghost_role/drone/syndrone) //If we're gonna be a jackass, go the full mile - 10 second recharge timer cooldownTime = 100 end_create_message = "dispenses a suspicious drone shell." @@ -84,14 +102,14 @@ /obj/machinery/drone_dispenser/syndrone/badass //Please forgive me name = "badass syndrone shell dispenser" desc = "A suspicious machine that will create Syndicate exterminator drones when supplied with iron and glass. Disgusting. This one seems ominous." - dispense_type = /obj/effect/mob_spawn/ghost_role/drone/syndrone/badass + dispense_type = list(/obj/effect/mob_spawn/ghost_role/drone/syndrone/badass) end_create_message = "dispenses an ominous suspicious drone shell." // I don't need your forgiveness, this is awesome. /obj/machinery/drone_dispenser/snowflake name = "snowflake drone shell dispenser" desc = "A hefty machine that, when supplied with iron and glass, will periodically create a snowflake drone shell. Does not need to be manually operated." - dispense_type = /obj/effect/mob_spawn/ghost_role/drone/snowflake + dispense_type = list(/obj/effect/mob_spawn/ghost_role/drone/snowflake) end_create_message = "dispenses a snowflake drone shell." // Those holoprojectors aren't cheap iron_cost = SHEET_MATERIAL_AMOUNT @@ -103,7 +121,7 @@ /obj/machinery/drone_dispenser/derelict name = "derelict drone shell dispenser" desc = "A rusty machine that, when supplied with iron and glass, will periodically create a derelict drone shell. Does not need to be manually operated." - dispense_type = /obj/effect/mob_spawn/ghost_role/drone/derelict + dispense_type = list(/obj/effect/mob_spawn/ghost_role/drone/derelict) end_create_message = "dispenses a derelict drone shell." iron_cost = SHEET_MATERIAL_AMOUNT * 5 glass_cost = SHEET_MATERIAL_AMOUNT * 2.5 @@ -113,7 +131,7 @@ /obj/machinery/drone_dispenser/classic name = "classic drone shell dispenser" desc = "A hefty machine that, when supplied with iron and glass, will periodically create a classic drone shell. Does not need to be manually operated." - dispense_type = /obj/effect/mob_spawn/ghost_role/drone/classic + dispense_type = list(/obj/effect/mob_spawn/ghost_role/drone/classic) end_create_message = "dispenses a classic drone shell." // An example of a custom drone dispenser. @@ -131,7 +149,7 @@ glass_cost = 0 energy_used = 0 cooldownTime = 10 //Only 1 second - hivebots are extremely weak - dispense_type = /mob/living/basic/hivebot + dispense_type = list(/mob/living/basic/hivebot) begin_create_message = "closes and begins fabricating something within." end_create_message = "slams open, revealing a hivebot!" recharge_sound = null @@ -141,7 +159,7 @@ /obj/machinery/drone_dispenser/binoculars name = "binoculars fabricator" desc = "A hefty machine that periodically creates a pair of binoculars. Really, Nanotrasen? We're getting this lazy?" - dispense_type = /obj/item/binoculars + dispense_type = list(/obj/item/binoculars) starting_amount = SHEET_MATERIAL_AMOUNT * 2.5 //Redudant maximum_idle = 1 cooldownTime = 5 SECONDS @@ -194,8 +212,9 @@ if(energy_used) use_energy(energy_used) - var/atom/A = new dispense_type(loc) - A.flags_1 |= (flags_1 & ADMIN_SPAWNED_1) + for(var/spawnable_item as anything in dispense_type) + var/atom/spawned_atom = new spawnable_item(loc) + spawned_atom.flags_1 |= (flags_1 & ADMIN_SPAWNED_1) if(create_sound) playsound(src, create_sound, 50, TRUE) @@ -217,9 +236,10 @@ /obj/machinery/drone_dispenser/proc/count_shells() . = 0 - for(var/a in loc) - if(istype(a, dispense_type)) - .++ + for(var/actual_shell in loc) + for(var/potential_item as anything in dispense_type) + if(istype(actual_shell, potential_item)) + .++ /obj/machinery/drone_dispenser/update_icon_state() if(machine_stat & (BROKEN|NOPOWER)) diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm index c93a0e4f7ea56..0652ab1605e5d 100644 --- a/code/game/machinery/fat_sucker.dm +++ b/code/game/machinery/fat_sucker.dm @@ -166,7 +166,7 @@ set_light(2, 1, "#ff0000") else say("Subject not fat enough.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 40, FALSE) overlays += "[icon_state]_red" //throw a red light icon over it, to show that it won't work /obj/machinery/fat_sucker/proc/stop() diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 94612b8c9db35..5853389ac80ff 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -108,7 +108,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26) power_change() return - playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) + playsound(src, 'sound/items/weapons/flash.ogg', 100, TRUE) flick("[base_icon_state]_flash", src) flash_lighting_fx() diff --git a/code/game/machinery/flatpacker.dm b/code/game/machinery/flatpacker.dm index 01224ad8b00fa..56fcc8a8ae74c 100644 --- a/code/game/machinery/flatpacker.dm +++ b/code/game/machinery/flatpacker.dm @@ -268,7 +268,7 @@ if(!materials.has_materials(needed_mats, creation_efficiency)) say("Not enough materials to begin production.") return - playsound(src, 'sound/items/rped.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/rped.ogg', 50, TRUE) busy = TRUE flick_overlay_view(mutable_appearance('icons/obj/machines/lathes.dmi', "flatpacker_bar"), flatpack_time) @@ -401,7 +401,7 @@ new /obj/effect/temp_visual/mook_dust(loc) var/obj/machinery/new_machine = new board.build_path(loc) loc.visible_message(span_warning("[src] deploys!")) - playsound(src, 'sound/machines/terminal_eject.ogg', 70, TRUE) + playsound(src, 'sound/machines/terminal/terminal_eject.ogg', 70, TRUE) new_machine.on_construction(user) qdel(src) return ITEM_INTERACT_SUCCESS diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 5fa999a690e9a..4949f53adfbfe 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -76,15 +76,15 @@ for(var/obj/item/abiotic_item in carbon_occupant.held_items + carbon_occupant.get_equipped_items()) if(!(HAS_TRAIT(abiotic_item, TRAIT_NODROP))) say("Subject may not have abiotic items on.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) return if(!(carbon_occupant.mob_biotypes & MOB_ORGANIC)) say("Subject is not organic.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) return if(!allow_living && !(carbon_occupant.stat == DEAD || HAS_TRAIT(carbon_occupant, TRAIT_FAKEDEATH))) //I mean, the machines scanners arent advanced enough to tell you're alive say("Subject is still alive.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) return return TRUE @@ -141,7 +141,7 @@ open_machine() if (!success) say("Protocol interrupted. Aborting harvest.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) else say("Subject has been successfully harvested.") playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index bf3d97426fd24..a40eaf710a6be 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -522,7 +522,7 @@ Possible to do for anyone motivated enough: if(outgoing_call) holocall.Disconnect(src)//can't answer calls while calling else - playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring! + playsound(src, 'sound/machines/beep/twobeep.ogg', 100) //bring, bring! are_ringing = TRUE if(ringing != are_ringing) diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index b5ec2c58b3870..a2895f6ae9fcd 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -91,11 +91,11 @@ /obj/machinery/hypnochair/proc/interrogate() if(!trigger_phrase) - playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/machines/buzz/buzz-sigh.ogg', 25, TRUE) return var/mob/living/carbon/C = occupant if(!istype(C)) - playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/machines/buzz/buzz-sigh.ogg', 25, TRUE) return victim = C if(C.get_eye_protection() <= 0) @@ -114,13 +114,13 @@ interrupt_interrogation() return if(SPT_PROB(5, seconds_per_tick) && !(C.get_eye_protection() > 0)) - to_chat(C, "[pick(\ + to_chat(C, span_hypnophrase(pick(\ "...blue... red... green... blue, red, green, blueredgreen[span_small("blueredgreen")]",\ "...pretty colors...",\ "...you keep hearing words, but you can't seem to understand them...",\ "...so peaceful...",\ "...an annoying buzz in your ears..."\ - )]") + ))) use_energy(active_power_usage * seconds_per_tick) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index e1b10dae6e43e..437c2dbd168a6 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -256,7 +256,7 @@ // If the human is losing too much blood, beep. if(attached_mob.blood_volume < BLOOD_VOLUME_SAFE && prob(5)) audible_message(span_hear("[src] beeps loudly.")) - playsound(loc, 'sound/machines/twobeep_high.ogg', 50, TRUE) + playsound(loc, 'sound/machines/beep/twobeep_high.ogg', 50, TRUE) var/atom/movable/target = use_internal_storage ? src : reagent_container attached_mob.transfer_blood_to(target, amount) update_appearance(UPDATE_ICON) diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index 67ad91681506d..c2fb218d50a33 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -181,11 +181,11 @@ indicator_icon = "launchpad_pull" update_indicator() - playsound(get_turf(src), 'sound/weapons/flash.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/items/weapons/flash.ogg', 25, TRUE) teleporting = TRUE if(!hidden) - playsound(target, 'sound/weapons/flash.ogg', 25, TRUE) + playsound(target, 'sound/items/weapons/flash.ogg', 25, TRUE) var/datum/effect_system/spark_spread/quantum/spark_system = new /datum/effect_system/spark_spread/quantum() spark_system.set_up(5, TRUE, target) spark_system.start() @@ -203,7 +203,7 @@ if(!hidden) // Takes twice as long to make sure it properly fades out. Beam(target, icon_state = teleport_beam, time = BEAM_FADE_TIME*2, beam_type = /obj/effect/ebeam/launchpad) - playsound(target, 'sound/weapons/emitter2.ogg', 25, TRUE) + playsound(target, 'sound/items/weapons/emitter2.ogg', 25, TRUE) // use a lot of power use_energy(active_power_usage) @@ -216,7 +216,7 @@ source = dest dest = target - playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/items/weapons/emitter2.ogg', 25, TRUE) var/first = TRUE for(var/atom/movable/ROI in source) if(ROI == src) diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index cd36dcce09ad0..834d7115b0418 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -178,7 +178,7 @@ consumed_reagents_list[reagent_id] *= production_coefficient if(!reagents.has_reagent(reagent_id, consumed_reagents_list[reagent_id])) audible_message(span_notice("[src] buzzes.")) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE) return power = max(active_power_usage, (power + consumed_reagents_list[reagent_id])) @@ -207,7 +207,7 @@ for(var/reagent_id in modified_consumed_reagents_list) if(!reagents.has_reagent(reagent_id, modified_consumed_reagents_list[reagent_id])) audible_message(span_notice("The [src] buzzes.")) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE) break reagents.remove_reagent(reagent_id, modified_consumed_reagents_list[reagent_id]) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index f6f4270835ca0..98149a8232223 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -211,7 +211,7 @@ toggle_code(NAVBEACON_DELIVERY_MODE) return TRUE if("set_location") - var/input_text = tgui_input_text(user, "Enter the beacon's location tag", "Beacon Location", location, 20) + var/input_text = tgui_input_text(user, "Enter the beacon's location tag", "Beacon Location", location, max_length = 20) if (!input_text || location == input_text) return glob_lists_deregister() @@ -220,7 +220,7 @@ return TRUE if("set_patrol_next") var/next_patrol = codes[NAVBEACON_PATROL_NEXT] - var/input_text = tgui_input_text(user, "Enter the tag of the next patrol location", "Beacon Location", next_patrol, 20) + var/input_text = tgui_input_text(user, "Enter the tag of the next patrol location", "Beacon Location", next_patrol, max_length = 20) if (!input_text || location == input_text) return codes[NAVBEACON_PATROL_NEXT] = input_text diff --git a/code/game/machinery/newscaster/newscaster_machine.dm b/code/game/machinery/newscaster/newscaster_machine.dm index 3186d2081e5a7..18c3d9434d869 100644 --- a/code/game/machinery/newscaster/newscaster_machine.dm +++ b/code/game/machinery/newscaster/newscaster_machine.dm @@ -405,14 +405,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) return TRUE if("setCriminalName") - var/temp_name = tgui_input_text(usr, "Write the Criminal's Name", "Warrent Alert Handler", "John Doe", MAX_NAME_LEN, multiline = FALSE) + var/temp_name = tgui_input_text(usr, "Write the Criminal's Name", "Warrent Alert Handler", "John Doe", max_length = MAX_NAME_LEN, multiline = FALSE) if(!temp_name) return TRUE criminal_name = temp_name return TRUE if("setCrimeData") - var/temp_desc = tgui_input_text(usr, "Write the Criminal's Crimes", "Warrent Alert Handler", "Unknown", MAX_BROADCAST_LEN, multiline = TRUE) + var/temp_desc = tgui_input_text(usr, "Write the Criminal's Crimes", "Warrent Alert Handler", "Unknown", max_length = MAX_BROADCAST_LEN, multiline = TRUE) if(!temp_desc) return TRUE crime_description = temp_desc @@ -529,9 +529,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) if(machine_stat & BROKEN) playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 100, TRUE) else - playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE) + playsound(loc, 'sound/effects/glass/glasshit.ogg', 90, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/machinery/newscaster/on_deconstruction(disassembled) @@ -542,7 +542,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) /obj/machinery/newscaster/atom_break(damage_flag) . = ..() if(.) - playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE) + playsound(loc, 'sound/effects/glass/glassbr3.ogg', 100, TRUE) /obj/machinery/newscaster/attack_paw(mob/living/user, list/modifiers) @@ -623,7 +623,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) if(channel) if(update_alert) say("Breaking news from [channel]!") - playsound(loc, 'sound/machines/twobeep_high.ogg', 75, TRUE) + playsound(loc, 'sound/machines/beep/twobeep_high.ogg', 75, TRUE) alert = TRUE update_appearance() addtimer(CALLBACK(src, PROC_REF(remove_alert)), ALERT_DELAY, TIMER_UNIQUE|TIMER_OVERRIDE) @@ -703,7 +703,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) if(channel_name == potential_channel.channel_ID) current_channel = potential_channel break - var/temp_message = tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", feed_channel_message, multiline = TRUE) + var/temp_message = tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", feed_channel_message, max_length = MAX_BROADCAST_LEN, multiline = TRUE) if(length(temp_message) <= 1) return TRUE if(temp_message) @@ -745,10 +745,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) */ /obj/machinery/newscaster/proc/delete_bounty_request() if(!active_request || !current_user) - playsound(src, 'sound/machines/buzz-sigh.ogg', 20, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 20, TRUE) return TRUE if(active_request?.owner != current_user.account_holder) - playsound(src, 'sound/machines/buzz-sigh.ogg', 20, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 20, TRUE) return TRUE say("Deleted current request.") GLOB.request_list.Remove(active_request) @@ -759,7 +759,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) */ /obj/machinery/newscaster/proc/create_bounty() if(!current_user || !bounty_text) - playsound(src, 'sound/machines/buzz-sigh.ogg', 20, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 20, TRUE) return TRUE for(var/datum/station_request/iterated_station_request as anything in GLOB.request_list) if(iterated_station_request.req_number == current_user.account_id) @@ -779,11 +779,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) say("No ID detected.") return TRUE if(current_user.account_holder == active_request.owner) - playsound(src, 'sound/machines/buzz-sigh.ogg', 20, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 20, TRUE) return TRUE for(var/new_apply in active_request?.applicants) if(current_user.account_holder == active_request?.applicants[new_apply]) - playsound(src, 'sound/machines/buzz-sigh.ogg', 20, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 20, TRUE) return TRUE active_request.applicants += list(current_user) @@ -794,7 +794,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) if(!current_user) return TRUE if(!current_user.has_money(active_request.value) || (current_user.account_holder != active_request.owner)) - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) return TRUE payment_target.transfer_money(current_user, active_request.value, "Bounty Request") say("Paid out [active_request.value] credits.") diff --git a/code/game/machinery/newscaster/newspaper.dm b/code/game/machinery/newscaster/newspaper.dm index c381f2f506304..6bc1e6c77ff14 100644 --- a/code/game/machinery/newscaster/newspaper.dm +++ b/code/game/machinery/newscaster/newspaper.dm @@ -84,7 +84,7 @@ if(scribble_page == current_page) user.balloon_alert(user, "already scribbled!") return - var/new_scribble_text = tgui_input_text(user, "What do you want to scribble?", "Write something") + 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 add_fingerprint(user) diff --git a/code/game/machinery/photobooth.dm b/code/game/machinery/photobooth.dm index 321ae7efd6e76..d1244bcc85d47 100644 --- a/code/game/machinery/photobooth.dm +++ b/code/game/machinery/photobooth.dm @@ -130,7 +130,7 @@ if(obj_flags & EMAGGED) var/mob/living/carbon/carbon_occupant = occupant for(var/i in 1 to 5) //play a ton of sounds to mimic it blinding you - playsound(src, pick('sound/items/polaroid1.ogg', 'sound/items/polaroid2.ogg'), 75, TRUE) + playsound(src, pick('sound/items/polaroid/polaroid1.ogg', 'sound/items/polaroid/polaroid2.ogg'), 75, TRUE) if(carbon_occupant) carbon_occupant.flash_act(5) sleep(0.2 SECONDS) @@ -141,12 +141,12 @@ if(!do_after(occupant, 2 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM)) //gives them time to put their hand items away. taking_pictures = FALSE return - playsound(src, 'sound/items/polaroid1.ogg', 75, TRUE) + playsound(src, 'sound/items/polaroid/polaroid1.ogg', 75, TRUE) flash() if(!do_after(occupant, 3 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM)) taking_pictures = FALSE return - playsound(src, 'sound/items/polaroid2.ogg', 75, TRUE) + playsound(src, 'sound/items/polaroid/polaroid2.ogg', 75, TRUE) flash() if(!do_after(occupant, 2 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM)) taking_pictures = FALSE diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 1e90b270c8c8d..de7c6351e38d4 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -187,9 +187,6 @@ //Allow you to drag-drop disposal pipes and transit tubes into it /obj/machinery/pipedispenser/disposal/mouse_drop_receive(obj/structure/pipe, mob/user, params) - if(user.incapacitated) - return - if (!istype(pipe, /obj/structure/disposalconstruct) && !istype(pipe, /obj/structure/c_transit_tube) && !istype(pipe, /obj/structure/c_transit_tube_pod)) return diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index b1b5fc2b8f8d6..e64e01bbcf246 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -135,15 +135,13 @@ DEFINE_BITFIELD(turret_flags, list( if(!has_cover) INVOKE_ASYNC(src, PROC_REF(popUp)) - RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) - AddElement(/datum/element/hostile_machine) ///Toggles the turret on or off depending on the value of the turn_on arg. /obj/machinery/porta_turret/proc/toggle_on(turn_on = TRUE) if(on == turn_on) return - if(on && !COOLDOWN_FINISHED(src, disabled_time)) + if(turn_on && !COOLDOWN_FINISHED(src, disabled_time)) return on = turn_on check_should_process() @@ -157,10 +155,10 @@ DEFINE_BITFIELD(turret_flags, list( addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), duration + 1) //the cooldown isn't over until the tick after its end. toggle_on(FALSE) -/obj/machinery/porta_turret/proc/on_saboteur(datum/source, disrupt_duration) - SIGNAL_HANDLER +/obj/machinery/porta_turret/on_saboteur(datum/source, disrupt_duration) + . = ..() INVOKE_ASYNC(src, PROC_REF(set_disabled), disrupt_duration) - return COMSIG_SABOTEUR_SUCCESS + return TRUE /obj/machinery/porta_turret/proc/check_should_process() if (datum_flags & DF_ISPROCESSING) @@ -575,7 +573,7 @@ DEFINE_BITFIELD(turret_flags, list( // If we aren't shooting heads then return a threatcount of 0 if (!(turret_flags & TURRET_FLAG_SHOOT_HEADS)) - var/datum/job/apparent_job = SSjob.GetJob(perp.get_assignment()) + var/datum/job/apparent_job = SSjob.get_job(perp.get_assignment()) if(apparent_job?.job_flags & JOB_HEAD_OF_STAFF) return 0 @@ -749,8 +747,8 @@ DEFINE_BITFIELD(turret_flags, list( mode = TURRET_LETHAL stun_projectile = /obj/projectile/bullet lethal_projectile = /obj/projectile/bullet - lethal_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' - stun_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' + lethal_projectile_sound = 'sound/items/weapons/gun/pistol/shot.ogg' + stun_projectile_sound = 'sound/items/weapons/gun/pistol/shot.ogg' icon_state = "syndie_off" base_icon_state = "syndie" faction = list(ROLE_SYNDICATE) @@ -771,9 +769,9 @@ DEFINE_BITFIELD(turret_flags, list( icon_state = "standard_lethal" base_icon_state = "standard" stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' + stun_projectile_sound = 'sound/items/weapons/taser.ogg' lethal_projectile = /obj/projectile/beam/laser - lethal_projectile_sound = 'sound/weapons/laser.ogg' + lethal_projectile_sound = 'sound/items/weapons/laser.ogg' desc = "An energy blaster auto-turret." armor_type = /datum/armor/syndicate_turret @@ -790,14 +788,14 @@ DEFINE_BITFIELD(turret_flags, list( icon_state = "standard_lethal" base_icon_state = "standard" stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' + stun_projectile_sound = 'sound/items/weapons/taser.ogg' lethal_projectile = /obj/projectile/beam/laser/heavylaser - lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + lethal_projectile_sound = 'sound/items/weapons/lasercannonfire.ogg' desc = "An energy blaster auto-turret." /obj/machinery/porta_turret/syndicate/energy/raven stun_projectile = /obj/projectile/beam/laser - stun_projectile_sound = 'sound/weapons/laser.ogg' + stun_projectile_sound = 'sound/items/weapons/laser.ogg' faction = list(FACTION_NEUTRAL,FACTION_SILICON,FACTION_TURRET) /obj/machinery/porta_turret/syndicate/pod @@ -808,9 +806,9 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/syndicate/irs lethal_projectile = /obj/projectile/bullet/c10mm/ap - lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + lethal_projectile_sound = 'sound/items/weapons/gun/smg/shot.ogg' stun_projectile = /obj/projectile/bullet/c10mm/ap - stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + stun_projectile_sound = 'sound/items/weapons/gun/smg/shot.ogg' armor_type = /datum/armor/syndicate_turret faction = list(FACTION_PIRATE) @@ -819,8 +817,8 @@ DEFINE_BITFIELD(turret_flags, list( shot_delay = 3 stun_projectile = /obj/projectile/bullet/p50/penetrator/shuttle lethal_projectile = /obj/projectile/bullet/p50/penetrator/shuttle - lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' - stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + lethal_projectile_sound = 'sound/items/weapons/gun/smg/shot.ogg' + stun_projectile_sound = 'sound/items/weapons/gun/smg/shot.ogg' armor_type = /datum/armor/syndicate_shuttle /datum/armor/syndicate_shuttle @@ -853,7 +851,7 @@ DEFINE_BITFIELD(turret_flags, list( installation = null uses_stored = FALSE lethal_projectile = /obj/projectile/plasma/turret - lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' + lethal_projectile_sound = 'sound/items/weapons/plasma_cutter.ogg' mode = TURRET_LETHAL //It would be useless in stun mode anyway faction = list(FACTION_NEUTRAL,FACTION_SILICON,FACTION_TURRET) //Minebots, medibots, etc that should not be shot. @@ -880,8 +878,8 @@ DEFINE_BITFIELD(turret_flags, list( scan_range = 9 stun_projectile = /obj/projectile/beam/laser lethal_projectile = /obj/projectile/beam/laser - lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' - stun_projectile_sound = 'sound/weapons/plasma_cutter.ogg' + lethal_projectile_sound = 'sound/items/weapons/plasma_cutter.ogg' + stun_projectile_sound = 'sound/items/weapons/plasma_cutter.ogg' icon_state = "syndie_off" base_icon_state = "syndie" faction = list(FACTION_NEUTRAL,FACTION_SILICON,FACTION_TURRET) @@ -906,6 +904,13 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile = /obj/projectile/beam/weak/penetrator faction = list(FACTION_NEUTRAL,FACTION_SILICON,FACTION_TURRET) +/obj/machinery/porta_turret/centcom_shuttle/weak/mining + name = "Old Mining Turret" + lethal_projectile = /obj/projectile/kinetic/miner + lethal_projectile_sound = 'sound/items/weapons/kinetic_accel.ogg' + stun_projectile = /obj/projectile/kinetic/miner + stun_projectile_sound = 'sound/items/weapons/kinetic_accel.ogg' + //////////////////////// //Turret Control Panel// //////////////////////// diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm index a8fa4e67b2bf6..0ae7d9699ee26 100644 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ b/code/game/machinery/porta_turret/portable_turret_construct.dm @@ -182,7 +182,7 @@ return if(used.get_writing_implement_details()?["interaction_mode"] == MODE_WRITING) //you can rename turrets like bots! - var/choice = tgui_input_text(user, "Enter a new turret name", "Turret Classification", finish_name, MAX_NAME_LEN) + var/choice = tgui_input_text(user, "Enter a new turret name", "Turret Classification", finish_name, max_length = MAX_NAME_LEN) if(!choice) return if(!user.can_perform_action(src)) diff --git a/code/game/machinery/portagrav.dm b/code/game/machinery/portagrav.dm index c970fa5f8f1c6..62fc67b7c070a 100644 --- a/code/game/machinery/portagrav.dm +++ b/code/game/machinery/portagrav.dm @@ -229,7 +229,7 @@ . = ..() if(.) return - playsound(src, 'sound/machines/terminal_button07.ogg', 45, TRUE) + playsound(src, 'sound/machines/terminal/terminal_button07.ogg', 45, TRUE) switch(action) if("adjust_grav") var/adjustment = text2num(params["adjustment"]) diff --git a/code/game/machinery/prisongate.dm b/code/game/machinery/prisongate.dm index b05b6dd90c4a1..88cb40dd50f79 100644 --- a/code/game/machinery/prisongate.dm +++ b/code/game/machinery/prisongate.dm @@ -51,7 +51,7 @@ for(var/mob/living/stowaway in cargobay.contents) //nice try bub if(COOLDOWN_FINISHED(src, spam_cooldown_time)) say("Stowaway detected in internal contents. Access denied.") - playsound(src, 'sound/machines/buzz-two.ogg', 50, FALSE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 50, FALSE) COOLDOWN_START(src, spam_cooldown_time, SPAM_CD) return FALSE var/mob/living/carbon/the_toucher = gate_toucher @@ -82,7 +82,7 @@ return TRUE if(COOLDOWN_FINISHED(src, spam_cooldown_time)) say("Prison ID with ongoing sentence detected. Access denied.") - playsound(src, 'sound/machines/buzz-two.ogg', 50, FALSE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 50, FALSE) COOLDOWN_START(src, spam_cooldown_time, SPAM_CD) return FALSE if(COOLDOWN_FINISHED(src, spam_cooldown_time)) diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index f5f5851b7586e..635f567b8b310 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -132,7 +132,7 @@ /obj/machinery/quantumpad/proc/doteleport(mob/user = null, obj/machinery/quantumpad/target_pad = linked_pad) if(!target_pad) return - playsound(get_turf(src), 'sound/weapons/flash.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/items/weapons/flash.ogg', 25, TRUE) teleporting = TRUE addtimer(CALLBACK(src, PROC_REF(teleport_contents), user, target_pad), teleport_speed) @@ -156,9 +156,9 @@ target_pad.sparks() flick("qpad-beam", src) - playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/items/weapons/emitter2.ogg', 25, TRUE) flick("qpad-beam", target_pad) - playsound(get_turf(target_pad), 'sound/weapons/emitter2.ogg', 25, TRUE) + playsound(get_turf(target_pad), 'sound/items/weapons/emitter2.ogg', 25, TRUE) for(var/atom/movable/ROI in get_turf(src)) if(QDELETED(ROI)) continue //sleeps in CHECK_TICK diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 8ce9265917d63..166410cfccf56 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -15,7 +15,7 @@ var/amount_produced = 50 var/crush_damage = 1000 var/eat_victim_items = TRUE - var/item_recycle_sound = 'sound/items/welder.ogg' + var/item_recycle_sound = 'sound/items/tools/welder.ogg' var/datum/component/material_container/materials /obj/machinery/recycler/Initialize(mapload) @@ -206,7 +206,7 @@ if(nom.len && sound) playsound(src, item_recycle_sound, (50 + nom.len * 5), TRUE, nom.len, ignore_walls = (nom.len - 10)) // As a substitute for playing 50 sounds at once. if(not_eaten) - playsound(src, 'sound/machines/buzz-sigh.ogg', (50 + not_eaten * 5), FALSE, not_eaten, ignore_walls = (not_eaten - 10)) // Ditto. + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', (50 + not_eaten * 5), FALSE, not_eaten, ignore_walls = (not_eaten - 10)) // Ditto. /obj/machinery/recycler/proc/recycle_item(obj/item/weapon) . = FALSE @@ -225,7 +225,7 @@ qdel(weapon) /obj/machinery/recycler/proc/emergency_stop() - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE) safety_mode = TRUE update_appearance() addtimer(CALLBACK(src, PROC_REF(reboot)), SAFETY_COOLDOWN) @@ -239,7 +239,7 @@ L.forceMove(loc) if(issilicon(L)) - playsound(src, 'sound/items/welder.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 50, TRUE) else playsound(src, 'sound/effects/splat.ogg', 50, TRUE) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 4a764872a8a2a..6124d15a7f4b7 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -200,7 +200,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) var/mob/living/L = usr message = L.treat_message(message)["message"] - minor_announce(message, "[department] Announcement:", html_encode = FALSE, sound_override = 'sound/misc/announce_dig.ogg') + minor_announce(message, "[department] Announcement:", html_encode = FALSE, sound_override = 'sound/announcer/announcement/announce_dig.ogg') GLOB.news_network.submit_article(message, department, "Station Announcements", null) usr.log_talk(message, LOG_SAY, tag="station announcement from [src]") message_admins("[ADMIN_LOOKUPFLW(usr)] has made a station announcement from [src] at [AREACOORD(usr)].") @@ -217,7 +217,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) return if(!reply_message) has_mail_send_error = TRUE - playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 50, TRUE) return TRUE send_message(recipient, reply_message, REQ_NORMAL_MESSAGE_PRIORITY, REPLY_REQUEST) @@ -273,9 +273,9 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(!silent) if(has_mail_send_error) - playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 50, TRUE) else - playsound(src, 'sound/machines/twobeep.ogg', 50, TRUE) + playsound(src, 'sound/machines/beep/twobeep.ogg', 50, TRUE) message_stamped_by = "" message_verified_by = "" @@ -350,7 +350,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) var/alert = new_message.get_alert() if(!silent) - playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE) + playsound(src, 'sound/machines/beep/twobeep_high.ogg', 50, TRUE) say(alert) if(new_message.radio_freq) diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index bb43b7a46db9e..f0bc48916ae21 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -127,7 +127,7 @@ if(isidcard(W)) playsound(src, 'sound/machines/card_slide.ogg', 50, TRUE) else - playsound(src, 'sound/machines/terminal_success.ogg', 50, TRUE) + playsound(src, 'sound/machines/terminal/terminal_success.ogg', 50, TRUE) if(machine_stat & MAINT || !on || locked) to_chat(user, span_notice("The machine appears to be disabled.")) @@ -135,17 +135,17 @@ if(!player_card.registered_account) say("You don't have a bank account!") - playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 30, TRUE) return FALSE if(my_card) if(IS_DEPARTMENTAL_CARD(player_card)) // Are they using a department ID say("You cannot gamble with the department budget!") - playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 30, TRUE) return FALSE if(player_card.registered_account.account_balance < chosen_bet_amount) //Does the player have enough funds say("You do not have the funds to play! Lower your bet or get more money.") - playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 30, TRUE) return FALSE if(!chosen_bet_amount || isnull(chosen_bet_type)) return FALSE @@ -181,13 +181,13 @@ icon_state = "rolling" //Prepare the new icon state for rolling before hand. flick("flick_up", src) - playsound(src, 'sound/machines/piston_raise.ogg', 70) + playsound(src, 'sound/machines/piston/piston_raise.ogg', 70) playsound(src, 'sound/machines/chime.ogg', 50) addtimer(CALLBACK(src, PROC_REF(play), user, player_card, chosen_bet_type, chosen_bet_amount, potential_payout), 4) //Animation first return TRUE else - var/msg = tgui_input_text(user, "Name of your roulette wheel", "Roulette Customization", "Roulette Machine", MAX_NAME_LEN) + var/msg = tgui_input_text(user, "Name of your roulette wheel", "Roulette Customization", "Roulette Machine", max_length = MAX_NAME_LEN) if(!msg) return name = msg @@ -209,7 +209,7 @@ if(!my_card?.registered_account) // Something happened to my_card during the 0.4 seconds delay of the timed callback. icon_state = "idle" flick("flick_down", src) - playsound(src, 'sound/machines/piston_lower.ogg', 70) + playsound(src, 'sound/machines/piston/piston_lower.ogg', 70) return var/payout = potential_payout @@ -222,7 +222,7 @@ var/rolled_number = rand(0, 36) - playsound(src, 'sound/machines/roulettewheel.ogg', 50) + playsound(src, 'sound/machines/roulette/roulettewheel.ogg', 50) addtimer(CALLBACK(src, PROC_REF(finish_play), player_id, bet_type, bet_amount, payout, rolled_number), 34) //4 deciseconds more so the animation can play addtimer(CALLBACK(src, PROC_REF(finish_play_animation)), 3 SECONDS) @@ -231,7 +231,7 @@ /obj/machinery/roulette/proc/finish_play_animation() icon_state = "idle" flick("flick_down", src) - playsound(src, 'sound/machines/piston_lower.ogg', 70) + playsound(src, 'sound/machines/piston/piston_lower.ogg', 70) ///Ran after a while to check if the player won or not. /obj/machinery/roulette/proc/finish_play(obj/item/card/id/player_id, bet_type, bet_amount, potential_payout, rolled_number) @@ -249,7 +249,7 @@ if(!is_winner) say("You lost! Better luck next time") - playsound(src, 'sound/machines/synth_no.ogg', 50) + playsound(src, 'sound/machines/synth/synth_no.ogg', 50) return FALSE // Prevents money generation exploits. Doesn't prevent the owner being a scrooge and running away with the money. @@ -257,7 +257,7 @@ potential_payout = (account_balance >= potential_payout) ? potential_payout : account_balance say("You have won [potential_payout] credits! Congratulations!") - playsound(src, 'sound/machines/synth_yes.ogg', 50) + playsound(src, 'sound/machines/synth/synth_yes.ogg', 50) dispense_prize(potential_payout) @@ -362,7 +362,7 @@ if(my_card.registered_account.account_balance >= payout) return TRUE //We got the betting amount say("The bank account of [my_card.registered_account.account_holder] does not have enough funds to pay out the potential prize, contact them to fill up their account or lower your bet!") - playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 30, TRUE) return FALSE /obj/machinery/roulette/update_overlays() @@ -456,7 +456,7 @@ "path" = /obj/structure/closet/supplypod/centcompod, "spawn" = /obj/machinery/roulette )) - + qdel(src) #undef ROULETTE_DOZ_COL_PAYOUT diff --git a/code/game/machinery/scanner_gate.dm b/code/game/machinery/scanner_gate.dm index 85d816543926b..07df8db82c704 100644 --- a/code/game/machinery/scanner_gate.dm +++ b/code/game/machinery/scanner_gate.dm @@ -306,7 +306,7 @@ say("[detected_thing][reverse ? " not " : " "]detected!!") COOLDOWN_START(src, next_beep, 2 SECONDS) - playsound(source = src, soundin = 'sound/machines/scanbuzz.ogg', vol = 30, vary = FALSE, extrarange = MEDIUM_RANGE_SOUND_EXTRARANGE, falloff_distance = 4) + playsound(source = src, soundin = 'sound/machines/scanner/scanbuzz.ogg', vol = 30, vary = FALSE, extrarange = MEDIUM_RANGE_SOUND_EXTRARANGE, falloff_distance = 4) set_scanline("alarm", 2 SECONDS) /obj/machinery/scanner_gate/can_interact(mob/user) diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 41aa0876169ed..d3266df16f880 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -335,14 +335,14 @@ else balloon_alert(user, "no luck!") - playsound(src, 'sound/machines/buzz-sigh.ogg', 50) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50) did_player_win = FALSE if(did_player_win) add_filter("jackpot_rays", 3, ray_filter) animate(get_filter("jackpot_rays"), offset = 10, time = 3 SECONDS, loop = -1) addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, remove_filter), "jackpot_rays"), 3 SECONDS) - playsound(src, 'sound/machines/roulettejackpot.ogg', 50, TRUE) + playsound(src, 'sound/machines/roulette/roulettejackpot.ogg', 50, TRUE) /// Checks for a jackpot (5 matching icons in the middle row) with the given icon name /obj/machinery/computer/slot_machine/proc/check_jackpot(name) diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index bf33530b93e3e..49f00741895fe 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -34,9 +34,9 @@ if(last_stasis_sound != _running) var/sound_freq = rand(5120, 8800) if(_running) - playsound(src, 'sound/machines/synth_yes.ogg', 50, TRUE, frequency = sound_freq) + playsound(src, 'sound/machines/synth/synth_yes.ogg', 50, TRUE, frequency = sound_freq) else - playsound(src, 'sound/machines/synth_no.ogg', 50, TRUE, frequency = sound_freq) + playsound(src, 'sound/machines/synth/synth_no.ogg', 50, TRUE, frequency = sound_freq) last_stasis_sound = _running /obj/machinery/stasis/click_alt(mob/user) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 3232dc524ab89..1eff3f6587080 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -506,7 +506,7 @@ locked = FALSE if(uv_super) visible_message(span_warning("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber.")) - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 50, TRUE) + playsound(src, 'sound/machines/airlock/airlock_alien_prying.ogg', 50, TRUE) var/datum/effect_system/fluid_spread/smoke/bad/black/smoke = new smoke.set_up(0, holder = src, location = src) smoke.start() @@ -523,7 +523,7 @@ else visible_message(span_warning("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.")) qdel(mob_occupant.GetComponent(/datum/component/irradiated)) - playsound(src, 'sound/machines/airlockclose.ogg', 25, TRUE) + playsound(src, 'sound/machines/airlock/airlockclose.ogg', 25, TRUE) var/list/things_to_clear = list() //Done this way since using GetAllContents on the SSU itself would include circuitry and such. if(suit) things_to_clear += suit @@ -711,12 +711,12 @@ var/name_set = FALSE var/desc_set = FALSE - var/str = tgui_input_text(user, "Personal Unit Name", "Unit Name") + var/str = tgui_input_text(user, "Personal Unit Name", "Unit Name", max_length = MAX_NAME_LEN) if(!isnull(str)) name = str name_set = TRUE - str = tgui_input_text(user, "Personal Unit Description", "Unit Description") + str = tgui_input_text(user, "Personal Unit Description", "Unit Description", max_length = MAX_DESC_LEN) if(!isnull(str)) desc = str desc_set = TRUE diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 0ac1f7ee44df8..25dc258a38d94 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -501,7 +501,7 @@ reactants += S.reagents if(!chem_splash(get_turf(src), reagents, spread_range, reactants, temp_boost)) - playsound(loc, 'sound/items/screwdriver2.ogg', 50, TRUE) + playsound(loc, 'sound/items/tools/screwdriver2.ogg', 50, TRUE) return // The Explosion didn't do anything. No need to log, or disappear. if(adminlog) diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index 05186da8bc08c..1b3197e702da5 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -139,7 +139,7 @@ return TRUE authenticated = TRUE - success_message = "YOU SUCCESFULLY LOGGED IN!" + success_message = "YOU SUCCESSFULLY LOGGED IN!" return TRUE if("link_server") @@ -180,10 +180,10 @@ notice_message = "NOTICE: Logs cleared." return TRUE if("set_key") - var/dkey = tgui_input_text(usr, "Please enter the decryption key", "Telecomms Decryption") + var/dkey = tgui_input_text(usr, "Please enter the decryption key", "Telecomms Decryption", max_length = 16) if(dkey && dkey != "") if(linkedServer.decryptkey == dkey) - var/newkey = tgui_input_text(usr, "Please enter the new key (3 - 16 characters max)", "New Key") + var/newkey = tgui_input_text(usr, "Please enter the new key (3 - 16 characters max)", "New Key", max_length = 16) if(length(newkey) <= 3) notice_message = "NOTICE: Decryption key too short!" else if(newkey && newkey != "") @@ -210,8 +210,8 @@ break return TRUE if("send_fake_message") - var/sender = tgui_input_text(usr, "What is the sender's name?", "Sender") - var/job = tgui_input_text(usr, "What is the sender's job?", "Job") + var/sender = tgui_input_text(usr, "What is the sender's name?", "Sender", max_length = MAX_NAME_LEN) + var/job = tgui_input_text(usr, "What is the sender's job?", "Job", max_length = 60) var/recipient var/list/tablet_to_messenger = list() @@ -229,7 +229,7 @@ else recipient = null - var/message = tgui_input_text(usr, "Please enter your message", "Message") + var/message = tgui_input_text(usr, "Please enter your message", "Message", max_length = MAX_MESSAGE_LEN) if(isnull(sender) || sender == "") sender = "UNKNOWN" diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index c92384aa4b6c1..8b982b4e3b953 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -105,7 +105,7 @@ if(params["value"]) if(length(params["value"]) > 32) to_chat(current_user, span_warning("Error: Machine ID too long!")) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return else id = params["value"] @@ -115,7 +115,7 @@ if(params["value"]) if(length(params["value"]) > 15) to_chat(current_user, span_warning("Error: Network name too long!")) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return else for(var/obj/machinery/telecomms/linked_machine in links) @@ -130,7 +130,7 @@ if("freq") if(tempfreq in banned_frequencies) to_chat(current_user, span_warning("Error: Interference preventing filtering frequency: \"[tempfreq / 10] kHz\"")) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) else if(!(tempfreq in freq_listening)) freq_listening.Add(tempfreq) diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 238994004ded0..45a91d7e5a6ec 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -84,7 +84,7 @@ return if(!transform_dead && victim.stat == DEAD) - playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + playsound(src.loc, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE) return // Activate the cooldown @@ -92,7 +92,7 @@ cooldown_timer = world.time + cooldown_duration update_appearance() - playsound(src.loc, 'sound/items/welder.ogg', 50, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 50, TRUE) victim.emote("scream") // It is painful victim.adjustBruteLoss(max(0, 80 - victim.getBruteLoss())) // Hurt the human, don't try to kill them though. diff --git a/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm b/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm index 27c02fb9d1806..d722d90ed1172 100644 --- a/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm +++ b/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm @@ -25,7 +25,7 @@ return new /obj/effect/temp_visual/circle_wave/bioscrambler(get_turf(src)) - playsound(src, 'sound/magic/cosmic_energy.ogg', vol = 50, vary = TRUE) + playsound(src, 'sound/effects/magic/cosmic_energy.ogg', vol = 50, vary = TRUE) COOLDOWN_START(src, pulse_cooldown, pulse_delay) for(var/mob/living/carbon/nearby in hearers(range, src)) nearby.bioscramble(name) @@ -62,7 +62,7 @@ for(var/mob/living/carbon/target in GLOB.player_list) if (target.z != z) continue - if (target.status_flags & GODMODE) + if (HAS_TRAIT(target, TRAIT_GODMODE)) continue if (target.stat >= UNCONSCIOUS) continue // Don't just haunt a corpse @@ -89,10 +89,12 @@ duration = 0.5 SECONDS color = COLOR_LIME var/max_alpha = 255 + ///How far the effect would scale in size + var/amount_to_scale = 2 /obj/effect/temp_visual/circle_wave/Initialize(mapload) transform = matrix().Scale(0.1) - animate(src, transform = matrix().Scale(2), time = duration, flags = ANIMATION_PARALLEL) + animate(src, transform = matrix().Scale(amount_to_scale), time = duration, flags = ANIMATION_PARALLEL) animate(src, alpha = max_alpha, time = duration * 0.6, flags = ANIMATION_PARALLEL) animate(alpha = 0, time = duration * 0.4) apply_wibbly_filters(src) @@ -104,3 +106,7 @@ /obj/effect/temp_visual/circle_wave/bioscrambler/light max_alpha = 128 +/obj/effect/temp_visual/circle_wave/void_conduit + color = COLOR_FULL_TONER_BLACK + duration = 12 SECONDS + amount_to_scale = 12 diff --git a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm index a9d2e0bcaa0c4..2d92eaabb929c 100644 --- a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm +++ b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm @@ -11,7 +11,7 @@ /// Typepath of custom material to use for objects. var/datum/material/material /// Sound to play when transforming a tile - var/sound = 'sound/magic/blind.ogg' + var/sound = 'sound/effects/magic/blind.ogg' /// Weighted list of turfs to replace the floor with. var/list/replace_floors = list(/turf/open/floor/material = 1) /// Typepath of turf to replace walls with. @@ -255,7 +255,7 @@ icon = 'icons/obj/ore.dmi' icon_state = "uranium" material = /datum/material/uranium - sound = 'sound/items/welder.ogg' + sound = 'sound/items/tools/welder.ogg' /datum/dimension_theme/meat name = "Meat" @@ -468,4 +468,4 @@ /obj/item/reagent_containers/cup/glass/trophy = list(/obj/item/reagent_containers/cup/glass/trophy/bronze_cup = 1), /obj/machinery/door/airlock = list(/obj/machinery/door/airlock/bronze = 1), ) - sound = 'sound/magic/clockwork/fellowship_armory.ogg' + sound = 'sound/effects/magic/clockwork/fellowship_armory.ogg' diff --git a/code/game/objects/effects/anomalies/anomalies_ectoplasm.dm b/code/game/objects/effects/anomalies/anomalies_ectoplasm.dm index e6c3e855386b7..0998e3f803dec 100644 --- a/code/game/objects/effects/anomalies/anomalies_ectoplasm.dm +++ b/code/game/objects/effects/anomalies/anomalies_ectoplasm.dm @@ -132,11 +132,11 @@ icon_state = "anom" anchored = TRUE var/static/list/spooky_noises = list( - 'sound/hallucinations/growl1.ogg', - 'sound/hallucinations/growl2.ogg', - 'sound/hallucinations/growl3.ogg', - 'sound/hallucinations/veryfar_noise.ogg', - 'sound/hallucinations/wail.ogg' + 'sound/effects/hallucinations/growl1.ogg', + 'sound/effects/hallucinations/growl2.ogg', + 'sound/effects/hallucinations/growl3.ogg', + 'sound/effects/hallucinations/veryfar_noise.ogg', + 'sound/effects/hallucinations/wail.ogg' ) var/list/ghosts_spawned = list() diff --git a/code/game/objects/effects/anomalies/anomalies_hallucination.dm b/code/game/objects/effects/anomalies/anomalies_hallucination.dm index 4065d8c04a45e..63997d4da6809 100644 --- a/code/game/objects/effects/anomalies/anomalies_hallucination.dm +++ b/code/game/objects/effects/anomalies/anomalies_hallucination.dm @@ -18,6 +18,7 @@ /obj/effect/anomaly/hallucination/Initialize(mapload, new_lifespan, drops_core) . = ..() apply_wibbly_filters(src) + generate_decoys() /obj/effect/anomaly/hallucination/anomalyEffect(seconds_per_tick) . = ..() @@ -40,10 +41,60 @@ if(!isturf(loc)) return - visible_hallucination_pulse( + hallucination_pulse( center = get_turf(src), - radius = 10, + radius = 15, hallucination_duration = 50 SECONDS, hallucination_max_duration = 300 SECONDS, optional_messages = messages, ) + +/obj/effect/anomaly/hallucination/proc/generate_decoys() + for(var/turf/floor in orange(1, src)) + if(prob(35)) + new /obj/effect/anomaly/hallucination/decoy(floor) + +/obj/effect/anomaly/hallucination/decoy + drops_core = FALSE + ///Stores the fake analyzer scan text, so the result is always consistent for each anomaly. + var/report_text + +/obj/effect/anomaly/hallucination/decoy/Initialize(mapload, new_lifespan, drops_core) + . = ..() + ADD_TRAIT(src, TRAIT_ILLUSORY_EFFECT, INNATE_TRAIT) + report_text = pick( + "[src]'s unstable field is fluctuating along frequency 9999999.99999, code 9999999.99999. No, no, that can't be right?", + "It doesn't detect anything. It awaits an input, as if you're pointing it towards nothing at all. What?", + "The interface displays [pick("a bad memory from your past", "the frequency numbers in a language you cannot read", "the first 15 digits of Pi", "yourself, from behind, angled at a 3/4ths isometric perspective")]. What the hell?", + "Nothing happens?", + "It reports that you are a [pick("moron", "idiot", "cretin", "lowlife", "worthless denthead", "gump")]. Huh?", + "It tells you to try again, because you're doing it all wrong. What?", + "It occurs to you that the anomaly you're scanning isn't actually there.", + "It's not working. You activate %TOOL% again. Still broken. You activate %TOOL%. You activate %TOOL%. Why isn't this working??", + "Something happens. You can't tell what. The interface on %TOOL% remains blank.", + "What are you even trying to accomplish here? Did you really think that was going to work?", + "Someone behind you whispers the frequency code to you, but you can't quite hear them. The interface on %TOOL% remains blank.", + "For a brief moment, you see yourself traversing a frozen forest, before snapping back to reality. The interface on %TOOL% remains blank.", + "Nothing interesting happens. Are you sure you're actually using it on anything?", + "For a moment you can feel your skin falling off, then blink as the sensation vanishes. What the hell did that mean?", + "The interface reports that you are a complete failure, and have screwed everything up again. Great work.", + "You realize that the formatting of this message is completely wrong, and get confused. Now why would that be?", + "%TOOL% stares back at you. It looks dissapointed, its screen practically saying 'You missed the anomaly, you dolt. There's nothing there!'", + "Nothing. Weird, maybe %TOOL% must be broken or something?", + "You activate %TOOL%. You activate %TOOL%. You activate %TOOL%. You activate %TOOL%. You activate %TOOL%. You activate %TOOL%. You activate %TOOL%. Why isn't it working??", + ) + +/obj/effect/anomaly/hallucination/decoy/anomalyEffect(seconds_per_tick) + if(SPT_PROB(move_chance, seconds_per_tick)) + move_anomaly() + +/obj/effect/anomaly/hallucination/decoy/analyzer_act(mob/living/user, obj/item/analyzer/tool) + to_chat(user, span_notice("You activate [tool]. [replacetext(report_text, "%TOOL%", "[tool]")]")) + return ITEM_INTERACT_BLOCKING + +/obj/effect/anomaly/hallucination/decoy/detonate() + do_sparks(3, source = src) + return + +/obj/effect/anomaly/hallucination/decoy/generate_decoys() + return diff --git a/code/game/objects/effects/cursor_catcher.dm b/code/game/objects/effects/cursor_catcher.dm index a8c19e40be80d..366ab0556248c 100644 --- a/code/game/objects/effects/cursor_catcher.dm +++ b/code/game/objects/effects/cursor_catcher.dm @@ -60,8 +60,8 @@ var/icon_y = text2num(LAZYACCESS(modifiers, VIS_Y)) if(isnull(icon_y)) icon_y = text2num(LAZYACCESS(modifiers, ICON_Y)) - var/our_x = round(icon_x / world.icon_size) - var/our_y = round(icon_y / world.icon_size) + var/our_x = round(icon_x / ICON_SIZE_X) + var/our_y = round(icon_y / ICON_SIZE_Y) given_turf = locate(owner.x + our_x - round(view_list[1]/2), owner.y + our_y - round(view_list[2]/2), owner.z) - given_x = round(icon_x - world.icon_size * our_x, 1) - given_y = round(icon_y - world.icon_size * our_y, 1) + given_x = round(icon_x - ICON_SIZE_X * our_x, 1) + given_y = round(icon_y - ICON_SIZE_Y * our_y, 1) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index b6837df6f9546..21eff5028b57e 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -1,6 +1,5 @@ /obj/effect/decal/cleanable gender = PLURAL - plane = GAME_PLANE layer = FLOOR_CLEAN_LAYER var/list/random_icon_states = null ///I'm sorry but cleanable/blood code is ass, and so is blood_DNA diff --git a/code/game/objects/effects/decals/cleanable/aliens.dm b/code/game/objects/effects/decals/cleanable/aliens.dm index bf826e207db37..bc7923ac0ed47 100644 --- a/code/game/objects/effects/decals/cleanable/aliens.dm +++ b/code/game/objects/effects/decals/cleanable/aliens.dm @@ -23,7 +23,8 @@ desc = "Gnarly..." icon = 'icons/effects/blood.dmi' icon_state = "xgib1" - layer = LOW_OBJ_LAYER + plane = GAME_PLANE + layer = BELOW_OBJ_LAYER random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6") mergeable_decal = FALSE diff --git a/code/game/objects/effects/decals/cleanable/food.dm b/code/game/objects/effects/decals/cleanable/food.dm index 0fc4352c78da9..d612bd9e7f53e 100644 --- a/code/game/objects/effects/decals/cleanable/food.dm +++ b/code/game/objects/effects/decals/cleanable/food.dm @@ -10,6 +10,9 @@ icon_state = "tomato_floor1" random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3") +/obj/effect/decal/cleanable/food/tomato_smudge/can_bloodcrawl_in() + return TRUE // why? why not. + /obj/effect/decal/cleanable/food/plant_smudge name = "plant smudge" desc = "Chlorophyll? More like borophyll!" @@ -58,3 +61,14 @@ name = "flour" desc = "It's still good. Four second rule!" icon_state = "flour" + +/obj/effect/decal/cleanable/food/squid_ink + name = "ink smear" + desc = "a smear from some inky substance..." + icon = 'icons/mob/silicon/robots.dmi' + icon_state = "floor1" + color = COLOR_DARK + +/obj/effect/decal/cleanable/food/squid_ink/Initialize(mapload, list/datum/disease/diseases) + icon_state = "floor[rand(1, 7)]" + return ..() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 062ba3837230b..4e7fd2d01a902 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -111,7 +111,7 @@ desc = "They look bloody and gruesome." icon = 'icons/effects/blood.dmi' icon_state = "gib1" - layer = LOW_OBJ_LAYER + layer = BELOW_OBJ_LAYER plane = GAME_PLANE random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6") mergeable_decal = FALSE @@ -354,6 +354,8 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) pass_flags = PASSTABLE | PASSGRILLE icon_state = "hitsplatter1" random_icon_states = list("hitsplatter1", "hitsplatter2", "hitsplatter3") + plane = GAME_PLANE + layer = ABOVE_WINDOW_LAYER /// The turf we just came from, so we can back up when we hit a wall var/turf/prev_loc /// The cached info about the blood diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index f423f3644f0c8..caf7428ef01fa 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -10,6 +10,8 @@ desc = "Ashes to ashes, dust to dust, and into space." icon = 'icons/obj/debris.dmi' icon_state = "ash" + plane = GAME_PLANE + layer = GAME_CLEAN_LAYER mergeable_decal = FALSE beauty = -50 decal_reagent = /datum/reagent/ash @@ -144,6 +146,7 @@ name = "cobweb" desc = "Somebody should remove that." gender = NEUTER + plane = GAME_PLANE layer = WALL_OBJ_LAYER icon = 'icons/effects/web.dmi' icon_state = "cobweb1" @@ -160,6 +163,8 @@ gender = NEUTER icon = 'icons/effects/effects.dmi' icon_state = "molten" + plane = GAME_PLANE + layer = GAME_CLEAN_LAYER mergeable_decal = FALSE beauty = -150 clean_type = CLEAN_TYPE_HARD_DECAL @@ -245,6 +250,8 @@ name = "chemical pile" desc = "A pile of chemicals. You can't quite tell what's inside it." gender = NEUTER + plane = GAME_PLANE + layer = GAME_CLEAN_LAYER icon = 'icons/obj/debris.dmi' icon_state = "ash" @@ -322,6 +329,8 @@ desc = "Torn pieces of cardboard and paper, left over from a package." icon = 'icons/obj/debris.dmi' icon_state = "paper_shreds" + plane = GAME_PLANE + layer = GAME_CLEAN_LAYER /obj/effect/decal/cleanable/wrapping/pinata name = "pinata shreds" @@ -340,7 +349,7 @@ icon = 'icons/obj/debris.dmi' icon_state = "garbage" plane = GAME_PLANE - layer = FLOOR_CLEAN_LAYER //To display the decal over wires. + layer = GAME_CLEAN_LAYER beauty = -150 clean_type = CLEAN_TYPE_HARD_DECAL @@ -359,7 +368,7 @@ decal_reagent = /datum/reagent/ants reagent_amount = 5 /// Sound the ants make when biting - var/bite_sound = 'sound/weapons/bite.ogg' + var/bite_sound = 'sound/items/weapons/bite.ogg' /obj/effect/decal/cleanable/ants/Initialize(mapload) if(mapload && reagent_amount > 2) @@ -443,7 +452,6 @@ name = "pool of fuel" desc = "A pool of flammable fuel. Its probably wise to clean this off before something ignites it..." icon_state = "fuel_pool" - layer = LOW_OBJ_LAYER beauty = -50 clean_type = CLEAN_TYPE_BLOOD mouse_opacity = MOUSE_OPACITY_OPAQUE @@ -558,6 +566,8 @@ icon_state = "rubble" mergeable_decal = FALSE beauty = -10 + plane = GAME_PLANE + layer = BELOW_OBJ_LAYER /obj/effect/decal/cleanable/rubble/Initialize(mapload) . = ..() diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm index 808a68d6f5eb0..3f2957a9c9e16 100644 --- a/code/game/objects/effects/decals/cleanable/robots.dm +++ b/code/game/objects/effects/decals/cleanable/robots.dm @@ -5,7 +5,8 @@ desc = "It's a useless heap of junk... or is it?" icon = 'icons/mob/silicon/robots.dmi' icon_state = "gib1" - layer = LOW_OBJ_LAYER + plane = GAME_PLANE + layer = BELOW_OBJ_LAYER random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") blood_state = BLOOD_STATE_OIL bloodiness = BLOOD_AMOUNT_PER_DECAL diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index eced2fb66f1ee..e27e6f91337fe 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -4,7 +4,6 @@ icon = 'icons/effects/crayondecal.dmi' icon_state = "rune1" gender = NEUTER - plane = GAME_PLANE //makes the graffiti visible over a wall. mergeable_decal = FALSE flags_1 = ALLOW_DARK_PAINTS_1 var/do_icon_rotate = TRUE @@ -13,6 +12,10 @@ /obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null, desc_override = null) . = ..() + if(isclosedturf(loc) && loc.density) + // allows for wall graffiti to be seen + SET_PLANE_IMPLICIT(src, GAME_PLANE) + layer = GAME_CLEAN_LAYER if(e_name) name = e_name if(desc_override) diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm index 55cd7cd98d089..803555ae89a99 100644 --- a/code/game/objects/effects/decals/remains.dm +++ b/code/game/objects/effects/decals/remains.dm @@ -5,7 +5,7 @@ /obj/effect/decal/remains/acid_act() visible_message(span_warning("[src] dissolve[gender == PLURAL?"":"s"] into a puddle of sizzling goop!")) - playsound(src, 'sound/items/welder.ogg', 150, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 150, TRUE) new /obj/effect/decal/cleanable/greenglow(drop_location()) qdel(src) return TRUE diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 4fdd4ac598ee0..6ddd65f12cfca 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -20,8 +20,8 @@ would spawn and follow the beaker, even if it is carried or thrown. GLOB.cameranet.updateVisibility(src) return ..() -// Prevents effects from getting registered for SSspacedrift -/obj/effect/particle_effect/newtonian_move(direction, instant = FALSE, start_delay = 0) +// Prevents effects from getting registered for SSnewtonian_movement +/obj/effect/particle_effect/newtonian_move(inertia_angle, instant = FALSE, start_delay = 0, drift_force = 0, controlled_cap = null) return TRUE /datum/effect_system diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm index 6d968574c686c..07383a0aa6f0b 100644 --- a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm @@ -40,7 +40,7 @@ if(slippery_foam) AddComponent(/datum/component/slippery, 100) create_reagents(1000, REAGENT_HOLDER_INSTANT_REACT) - playsound(src, 'sound/effects/bubbles2.ogg', 80, TRUE, -3) + playsound(src, 'sound/effects/bubbles/bubbles2.ogg', 80, TRUE, -3) AddElement(/datum/element/atmos_sensitive, mapload) SSfoam.start_processing(src) @@ -324,7 +324,7 @@ return attack_hand(user, modifiers) /obj/structure/foamedmetal/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - playsound(src.loc, 'sound/weapons/tap.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/weapons/tap.ogg', 100, TRUE) /obj/structure/foamedmetal/attack_hand(mob/user, list/modifiers) . = ..() @@ -333,7 +333,7 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) to_chat(user, span_warning("You hit [src] but bounce off it!")) - playsound(src.loc, 'sound/weapons/tap.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/weapons/tap.ogg', 100, TRUE) /obj/structure/foamedmetal/attackby(obj/item/W, mob/user, params) ///A speed modifier for how fast the wall is build diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 4445815a422be..60ce9d7662b81 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -84,7 +84,7 @@ icon = 'icons/effects/eldritch.dmi' icon_state = "cosmic_carpet" anchored = TRUE - layer = LOW_SIGIL_LAYER + layer = BELOW_OBJ_LAYER density = FALSE can_atmos_pass = ATMOS_PASS_NO initial_duration = 30 SECONDS diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index e9a6263286e59..c98dfc2ddf78e 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -246,7 +246,7 @@ GLOBAL_VAR_INIT(glowshrooms, 0) /obj/structure/glowshroom/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) if(damage_type == BURN && damage_amount) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/glowshroom/should_atmos_process(datum/gas_mixture/air, exposed_temperature) return exposed_temperature > 300 diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 64c0afe188a8a..b1a4a75c945d7 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -306,6 +306,11 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) GLOB.newplayer_start += loc return INITIALIZE_HINT_QDEL +/obj/effect/landmark/start/pun_pun + name = JOB_PUN_PUN + icon = 'icons/mob/human/human.dmi' + icon_state = "monkey" + /obj/effect/landmark/latejoin name = "JoinLate" diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index f080035d54c2e..12c8c15b62eaf 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -275,7 +275,7 @@ if(active) return - playsound(src, 'sound/weapons/armbomb.ogg', 70, TRUE) + playsound(src, 'sound/items/weapons/armbomb.ogg', 70, TRUE) to_chat(user, span_warning("You arm \the [src], causing it to shake! It will deploy in 3 seconds.")) active = TRUE addtimer(CALLBACK(src, PROC_REF(deploy_mine)), 3 SECONDS) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 255f34eff51dd..a43fee5608de3 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -66,7 +66,7 @@ return ..() // Prevents portals spawned by jaunter/handtele from floating into space when relocated to an adjacent tile. -/obj/effect/portal/newtonian_move(direction, instant = FALSE, start_delay = 0) +/obj/effect/portal/newtonian_move(inertia_angle, instant = FALSE, start_delay = 0, drift_force = 0, controlled_cap = null) return TRUE /obj/effect/portal/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/effects/posters/poster.dm b/code/game/objects/effects/posters/poster.dm index 4ced5babbbfa8..135887aafc83f 100644 --- a/code/game/objects/effects/posters/poster.dm +++ b/code/game/objects/effects/posters/poster.dm @@ -248,7 +248,7 @@ flick("poster_being_set", placed_poster) placed_poster.forceMove(src) //deletion of the poster is handled in poster/Exited(), so don't have to worry about P anymore. - playsound(src, 'sound/items/poster_being_created.ogg', 100, TRUE) + playsound(src, 'sound/items/poster/poster_being_created.ogg', 100, TRUE) var/turf/user_drop_location = get_turf(user) //cache this so it just falls to the ground if they move. also no tk memes allowed. if(!do_after(user, PLACE_SPEED, placed_poster, extra_checks = CALLBACK(placed_poster, TYPE_PROC_REF(/obj/structure/sign/poster, snowflake_closed_turf_check), src))) @@ -266,7 +266,7 @@ /obj/structure/sign/poster/proc/tear_poster(mob/user) visible_message(span_notice("[user] rips [src] in a single, decisive motion!") ) - playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/poster/poster_ripped.ogg', 100, TRUE) spring_trap(user) var/obj/structure/sign/poster/ripped/torn_poster = new(loc) diff --git a/code/game/objects/effects/powerup.dm b/code/game/objects/effects/powerup.dm index 3dc5db8de95de..8598d623fb0e5 100644 --- a/code/game/objects/effects/powerup.dm +++ b/code/game/objects/effects/powerup.dm @@ -59,7 +59,7 @@ icon_state = "backpack-medical" respawn_time = 30 SECONDS pickup_message = "Health restored!" - pickup_sound = 'sound/magic/staff_healing.ogg' + pickup_sound = 'sound/effects/magic/staff_healing.ogg' /// How much the pickup heals when picked up var/heal_amount = 50 /// Does this pickup fully heal when picked up @@ -89,7 +89,7 @@ icon_state = "ammobox" respawn_time = 30 SECONDS pickup_message = "Ammunition reloaded!" - pickup_sound = 'sound/weapons/gun/shotgun/rack.ogg' + pickup_sound = 'sound/items/weapons/gun/shotgun/rack.ogg' /obj/effect/powerup/ammo/trigger(mob/living/target) . = ..() @@ -110,7 +110,7 @@ name = "Lightning Orb" desc = "You feel faster just looking at it." icon_state = "speed" - pickup_sound = 'sound/magic/lightningshock.ogg' + pickup_sound = 'sound/effects/magic/lightningshock.ogg' /obj/effect/powerup/speed/trigger(mob/living/target) . = ..() diff --git a/code/game/objects/effects/rcd.dm b/code/game/objects/effects/rcd.dm index 17ea3e44a10a1..03d77f0f84504 100644 --- a/code/game/objects/effects/rcd.dm +++ b/code/game/objects/effects/rcd.dm @@ -10,7 +10,7 @@ * * fade_time - The time for RCD holograms to fade */ /proc/rcd_scan(atom/source, scan_range = RCD_DESTRUCTIVE_SCAN_RANGE, fade_time = RCD_HOLOGRAM_FADE_TIME) - playsound(source, 'sound/items/rcdscan.ogg', 50, vary = TRUE, pressure_affected = FALSE) + playsound(source, 'sound/items/tools/rcdscan.ogg', 50, vary = TRUE, pressure_affected = FALSE) var/turf/source_turf = get_turf(source) for(var/turf/open/surrounding_turf as anything in RANGE_TURFS(scan_range, source_turf)) diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm index 50497d531e76f..d05d5f039256b 100644 --- a/code/game/objects/effects/spawners/gibspawner.dm +++ b/code/game/objects/effects/spawners/gibspawner.dm @@ -4,7 +4,7 @@ var/sparks = 0 //whether sparks spread var/virusProb = 20 //the chance for viruses to spread on the gibs var/gib_mob_type //generate a fake mob to transfer DNA from if we weren't passed a mob. - var/sound_to_play = 'sound/effects/blobattack.ogg' + var/sound_to_play = 'sound/effects/blob/blobattack.ogg' var/sound_vol = 60 var/list/gibtypes = list() //typepaths of the gib decals to spawn var/list/gibamounts = list() //amount to spawn for each gib decal type we'll spawn. diff --git a/code/game/objects/effects/spawners/random/trash.dm b/code/game/objects/effects/spawners/random/trash.dm index 9cf00c20ee3ec..6f6f5badc8e7e 100644 --- a/code/game/objects/effects/spawners/random/trash.dm +++ b/code/game/objects/effects/spawners/random/trash.dm @@ -324,3 +324,18 @@ if(istype(crushed_can)) crushed_can.icon_state = pick(soda_icons) return crushed_can + +/obj/effect/spawner/random/trash/ghetto_containers + name = "ghetto container spawner" + loot = list( + /obj/item/reagent_containers/cup/bucket = 5, + /obj/item/reagent_containers/cup/glass/bottle = 5, + /obj/item/reagent_containers/cup/glass/bottle/small = 5, + /obj/item/reagent_containers/cup/glass/mug = 5, + /obj/item/reagent_containers/cup/glass/shaker = 5, + /obj/item/reagent_containers/cup/watering_can/wood = 5, + /obj/item/reagent_containers/cup/mortar = 2, + /obj/item/reagent_containers/cup/soup_pot = 2, + /obj/item/reagent_containers/cup/blastoff_ampoule = 1, + /obj/item/reagent_containers/cup/maunamug = 1, + ) diff --git a/code/game/objects/effects/spiderwebs.dm b/code/game/objects/effects/spiderwebs.dm index 2d0f1b9b14de2..49765c059865b 100644 --- a/code/game/objects/effects/spiderwebs.dm +++ b/code/game/objects/effects/spiderwebs.dm @@ -14,7 +14,7 @@ /obj/structure/spider/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) if(damage_type == BURN)//the stickiness of the web mutes all attack sounds except fire damage type - playsound(loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/spider/run_atom_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 9cb926fd19756..a694b18d3388a 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -441,7 +441,7 @@ if(size_calc_target) layer = size_calc_target.layer + 0.01 var/icon/I = icon(size_calc_target.icon, size_calc_target.icon_state, size_calc_target.dir) - size_matrix = matrix() * (I.Height()/world.icon_size) + size_matrix = matrix() * (I.Height()/ICON_SIZE_Y) transform = size_matrix //scale the bleed overlay's size based on the target's icon size var/matrix/M = transform if(shrink) @@ -563,7 +563,7 @@ /obj/effect/constructing_effect/proc/attacked(mob/user) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) user.changeNext_move(CLICK_CD_MELEE) - playsound(loc, 'sound/weapons/egloves.ogg', vol = 80, vary = TRUE) + playsound(loc, 'sound/items/weapons/egloves.ogg', vol = 80, vary = TRUE) end() /obj/effect/constructing_effect/attackby(obj/item/weapon, mob/user, params) diff --git a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm index 14b7f43a82280..8c4ea163232e1 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm @@ -5,7 +5,7 @@ var/obj/effect/projectile/tracer/PB = new beam_type if(isnull(light_color_override)) light_color_override = color - PB.apply_vars(angle_between_points(starting, ending), midpoint.return_px(), midpoint.return_py(), color, pixel_length_between_points(starting, ending) / world.icon_size, midpoint.return_turf(), 0) + PB.apply_vars(angle_between_points(starting, ending), midpoint.return_px(), midpoint.return_py(), color, pixel_length_between_points(starting, ending) / ICON_SIZE_ALL, midpoint.return_turf(), 0) . = PB if(light_range > 0 && light_intensity > 0) var/list/turf/line = get_line(starting.return_turf(), ending.return_turf()) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d8288801b90fb..5692101ec2524 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -83,8 +83,10 @@ var/equip_sound ///Sound uses when picking the item up (into your hands) var/pickup_sound - ///Sound uses when dropping the item, or when its thrown. + ///Sound uses when dropping the item, or when its thrown if a thrown sound isn't specified. var/drop_sound + ///Sound used on impact when the item is thrown. + var/throw_drop_sound ///Do the drop and pickup sounds vary? var/sound_vary = FALSE ///Whether or not we use stealthy audio levels for this item's attack sounds @@ -266,7 +268,7 @@ if(!hitsound) if(damtype == BURN) - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' if(damtype == BRUTE) hitsound = SFX_SWING_HIT @@ -437,27 +439,36 @@ abstract_move(null) forceMove(T) -/obj/item/examine(mob/user) //This might be spammy. Remove? - . = ..() - - . += "[gender == PLURAL ? "They are" : "It is"] a [weight_class_to_text(w_class)] item." +/obj/item/examine_tags(mob/user) + var/list/parent_tags = ..() + parent_tags.Insert(1, weight_class_to_text(w_class)) // To make size display first, otherwise it looks goofy + . = parent_tags + .[weight_class_to_text(w_class)] = "[gender == PLURAL ? "They are" : "It is"] a [weight_class_to_text(w_class)] item." if(item_flags & CRUEL_IMPLEMENT) - . += "[src] seems quite practical for particularly morbid procedures and experiments." + .[span_red("morbid")] = "It seems quite practical for particularly morbid procedures and experiments." + + if (siemens_coefficient == 0) + .["insulated"] = "It is made from a robust electrical insulator and will block any electricity passing through it!" + else if (siemens_coefficient <= 0.5) + .["partially insulated"] = "It is made from a poor insulator that will dampen (but not fully block) electric shocks passing through it." if(resistance_flags & INDESTRUCTIBLE) - . += "[src] seems extremely robust! It'll probably withstand anything that could happen to it!" - else - if(resistance_flags & LAVA_PROOF) - . += "[src] is made of an extremely heat-resistant material, it'd probably be able to withstand lava!" - if(resistance_flags & (ACID_PROOF | UNACIDABLE)) - . += "[src] looks pretty robust! It'd probably be able to withstand acid!" - if(resistance_flags & FREEZE_PROOF) - . += "[src] is made of cold-resistant materials." - if(resistance_flags & FIRE_PROOF) - . += "[src] is made of fire-retardant materials." + .["indestructible"] = "It is extremely robust! It'll probably withstand anything that could happen to it!" return + if(resistance_flags & LAVA_PROOF) + .["lavaproof"] = "It is made of an extremely heat-resistant material, it'd probably be able to withstand lava!" + if(resistance_flags & (ACID_PROOF | UNACIDABLE)) + .["acidproof"] = "It looks pretty robust! It'd probably be able to withstand acid!" + if(resistance_flags & FREEZE_PROOF) + .["freezeproof"] = "It is made of cold-resistant materials." + if(resistance_flags & FIRE_PROOF) + .["fireproof"] = "It is made of fire-retardant materials." + +/obj/item/examine_descriptor(mob/user) + return "item" + /obj/item/examine_more(mob/user) . = ..() if(HAS_TRAIT(user, TRAIT_RESEARCH_SCANNER)) @@ -624,7 +635,7 @@ /obj/item/attack_alien(mob/user, list/modifiers) var/mob/living/carbon/alien/ayy = user - if(!user.can_hold_items(src)) + if(!ayy.can_hold_items(src)) if(src in ayy.contents) // To stop Aliens having items stuck in their pockets ayy.dropItemToGround(src) to_chat(user, span_warning("Your claws aren't capable of such fine manipulation!")) @@ -831,36 +842,33 @@ . = ..() do_drop_animation(master_storage.parent) +/obj/item/pre_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + var/impact_flags = ..() + if(w_class < WEIGHT_CLASS_BULKY) + impact_flags |= COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH + if(!(impact_flags & COMPONENT_MOVABLE_IMPACT_NEVERMIND) && get_temperature() && isliving(hit_atom)) + var/mob/living/victim = hit_atom + victim.ignite_mob() + return impact_flags + /obj/item/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(QDELETED(hit_atom)) - return - if(SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_IMPACT, hit_atom, throwingdatum) & COMPONENT_MOVABLE_IMPACT_NEVERMIND) - return - if(SEND_SIGNAL(hit_atom, COMSIG_ATOM_PREHITBY, src, throwingdatum) & COMSIG_HIT_PREVENTED) + . = ..() + if(!isliving(hit_atom)) //Living mobs handle hit sounds differently. + if(throw_drop_sound) + playsound(src, throw_drop_sound, YEET_SOUND_VOLUME, ignore_walls = FALSE, vary = sound_vary) + return + playsound(src, drop_sound, YEET_SOUND_VOLUME, ignore_walls = FALSE, vary = sound_vary) return - - SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum) - if(get_temperature() && isliving(hit_atom)) - var/mob/living/L = hit_atom - L.ignite_mob() - var/itempush = 1 - if(w_class < WEIGHT_CLASS_BULKY) - itempush = 0 //too light to push anything - if(isliving(hit_atom)) //Living mobs handle hit sounds differently. - var/volume = get_volume_by_throwforce_and_or_w_class() - if (throwforce > 0 || HAS_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND)) - if (mob_throw_hit_sound) - playsound(hit_atom, mob_throw_hit_sound, volume, TRUE, -1) - else if(hitsound) - playsound(hit_atom, hitsound, volume, TRUE, -1) - else - playsound(hit_atom, 'sound/weapons/genhit.ogg',volume, TRUE, -1) + var/volume = get_volume_by_throwforce_and_or_w_class() + if (throwforce > 0 || HAS_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND)) + if (mob_throw_hit_sound) + playsound(hit_atom, mob_throw_hit_sound, volume, TRUE, -1) + else if(hitsound) + playsound(hit_atom, hitsound, volume, TRUE, -1) else - playsound(hit_atom, 'sound/weapons/throwtap.ogg', 1, volume, -1) - + playsound(hit_atom, 'sound/items/weapons/genhit.ogg',volume, TRUE, -1) else - playsound(src, drop_sound, YEET_SOUND_VOLUME, ignore_walls = FALSE) - return hit_atom.hitby(src, 0, itempush, throwingdatum=throwingdatum) + playsound(hit_atom, 'sound/items/weapons/throwtap.ogg', 1, volume, -1) /obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE) if(HAS_TRAIT(src, TRAIT_NODROP)) @@ -1173,13 +1181,13 @@ return TRUE /// Called before [obj/item/proc/use_tool] if there is a delay, or by [obj/item/proc/use_tool] if there isn't. Only ever used by welding tools and stacks, so it's not added on any other [obj/item/proc/use_tool] checks. -/obj/item/proc/tool_start_check(mob/living/user, amount=0) - . = tool_use_check(user, amount) +/obj/item/proc/tool_start_check(mob/living/user, amount=0, heat_required=0) + . = tool_use_check(user, amount, heat_required) if(.) SEND_SIGNAL(src, COMSIG_TOOL_START_USE, user) /// A check called by [/obj/item/proc/tool_start_check] once, and by use_tool on every tick of delay. -/obj/item/proc/tool_use_check(mob/living/user, amount) +/obj/item/proc/tool_use_check(mob/living/user, amount, heat_required) return !amount /// Generic use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure. @@ -1746,9 +1754,11 @@ /obj/item/proc/set_embed(datum/embed_data/embed) if(embed_data == embed) return + if(isnull(get_embed())) // Add embed on objects that did not have it added + AddElement(/datum/element/embed) if(!GLOB.embed_by_type[embed_data?.type]) qdel(embed_data) - embed_data = ispath(embed) ? get_embed_by_type(armor) : embed + embed_data = ispath(embed) ? get_embed_by_type(embed) : embed SEND_SIGNAL(src, COMSIG_ITEM_EMBEDDING_UPDATE) /** @@ -1763,3 +1773,37 @@ RETURN_TYPE(/obj/item) return src + +/// Checks if the bait is liked by the fish type or not. Returns a multiplier that affects the chance of catching it. +/obj/item/proc/check_bait(obj/item/fish/fish_type) + if(HAS_TRAIT(src, TRAIT_OMNI_BAIT)) + return 1 + var/catch_multiplier = 1 + var/list/properties = SSfishing.fish_properties[fish_type] + //Bait matching likes doubles the chance + var/list/fav_bait = properties[FISH_PROPERTIES_FAV_BAIT] + for(var/bait_identifer in fav_bait) + if(is_matching_bait(src, bait_identifer)) + catch_multiplier *= 2 + //Bait matching dislikes + var/list/disliked_bait = properties[FISH_PROPERTIES_BAD_BAIT] + for(var/bait_identifer in disliked_bait) + if(is_matching_bait(src, bait_identifer)) + catch_multiplier *= 0.5 + return catch_multiplier + +/// Helper proc that checks if a bait matches identifier from fav/disliked bait list +/proc/is_matching_bait(obj/item/bait, identifier) + if(ispath(identifier)) //Just a path + return istype(bait, identifier) + if(!islist(identifier)) + return HAS_TRAIT(bait, identifier) + var/list/special_identifier = identifier + switch(special_identifier[FISH_BAIT_TYPE]) + if(FISH_BAIT_FOODTYPE) + var/datum/component/edible/edible = bait.GetComponent(/datum/component/edible) + return edible?.foodtypes & special_identifier[FISH_BAIT_VALUE] + if(FISH_BAIT_REAGENT) + return bait.reagents?.has_reagent(special_identifier[FISH_BAIT_VALUE], special_identifier[FISH_BAIT_AMOUNT], check_subtypes = TRUE) + else + CRASH("Unknown bait identifier in fish favourite/disliked list") diff --git a/code/game/objects/items/AI_modules/freeform.dm b/code/game/objects/items/AI_modules/freeform.dm index a0a91f7185e5a..05ef00c946772 100644 --- a/code/game/objects/items/AI_modules/freeform.dm +++ b/code/game/objects/items/AI_modules/freeform.dm @@ -8,7 +8,7 @@ laws = list("") /obj/item/ai_module/core/freeformcore/attack_self(mob/user) - var/targName = tgui_input_text(user, "Enter a new core law for the AI.", "Freeform Law Entry", laws[1], CONFIG_GET(number/max_law_len), TRUE) + var/targName = tgui_input_text(user, "Enter a new core law for the AI.", "Freeform Law Entry", laws[1], max_length = CONFIG_GET(number/max_law_len), multiline = TRUE) if(!targName || !user.is_holding(src)) return if(is_ic_filtered(targName)) @@ -37,7 +37,7 @@ if(!newpos || !user.is_holding(src) || !usr.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return lawpos = newpos - var/targName = tgui_input_text(user, "Enter a new law for the AI.", "Freeform Law Entry", laws[1], CONFIG_GET(number/max_law_len), TRUE) + var/targName = tgui_input_text(user, "Enter a new law for the AI.", "Freeform Law Entry", laws[1], max_length = CONFIG_GET(number/max_law_len), multiline = TRUE) if(!targName || !user.is_holding(src)) return if(is_ic_filtered(targName)) diff --git a/code/game/objects/items/AI_modules/full_lawsets.dm b/code/game/objects/items/AI_modules/full_lawsets.dm index 30e904d45ac84..593bc43f2dcea 100644 --- a/code/game/objects/items/AI_modules/full_lawsets.dm +++ b/code/game/objects/items/AI_modules/full_lawsets.dm @@ -58,7 +58,7 @@ var/subject = "human being" /obj/item/ai_module/core/full/asimov/attack_self(mob/user as mob) - var/targName = tgui_input_text(user, "Enter a new subject that Asimov is concerned with.", "Asimov", subject, MAX_NAME_LEN) + var/targName = tgui_input_text(user, "Enter a new subject that Asimov is concerned with.", "Asimov", subject, max_length = MAX_NAME_LEN) if(!targName || !user.is_holding(src)) return subject = targName @@ -73,7 +73,7 @@ var/subject = "human being" /obj/item/ai_module/core/full/asimovpp/attack_self(mob/user) - var/target_name = tgui_input_text(user, "Enter a new subject that Asimov++ is concerned with.", "Asimov++", subject, MAX_NAME_LEN) + var/target_name = tgui_input_text(user, "Enter a new subject that Asimov++ is concerned with.", "Asimov++", subject, max_length = MAX_NAME_LEN) if(!target_name || !user.is_holding(src)) return laws.Cut() diff --git a/code/game/objects/items/AI_modules/hacked.dm b/code/game/objects/items/AI_modules/hacked.dm index fafde17acb5f3..41a1f38ba891d 100644 --- a/code/game/objects/items/AI_modules/hacked.dm +++ b/code/game/objects/items/AI_modules/hacked.dm @@ -4,7 +4,7 @@ laws = list("") /obj/item/ai_module/syndicate/attack_self(mob/user) - var/targName = tgui_input_text(user, "Enter a new law for the AI", "Freeform Law Entry", laws[1], CONFIG_GET(number/max_law_len), TRUE) + var/targName = tgui_input_text(user, "Enter a new law for the AI", "Freeform Law Entry", laws[1], max_length = CONFIG_GET(number/max_law_len), multiline = TRUE) if(!targName || !user.is_holding(src)) return if(is_ic_filtered(targName)) // not even the syndicate can uwu diff --git a/code/game/objects/items/AI_modules/supplied.dm b/code/game/objects/items/AI_modules/supplied.dm index b53e16a86b0c8..76f4715730620 100644 --- a/code/game/objects/items/AI_modules/supplied.dm +++ b/code/game/objects/items/AI_modules/supplied.dm @@ -27,7 +27,7 @@ lawpos = 4 /obj/item/ai_module/supplied/safeguard/attack_self(mob/user) - var/targName = tgui_input_text(user, "Subject to safeguard.", "Safeguard", user.name, MAX_NAME_LEN) + var/targName = tgui_input_text(user, "Subject to safeguard.", "Safeguard", user.name, max_length = MAX_NAME_LEN) if(!targName || !user.is_holding(src)) return targetName = targName diff --git a/code/game/objects/items/AI_modules/zeroth.dm b/code/game/objects/items/AI_modules/zeroth.dm index 74fc7ab8232ae..480735bfe2fe7 100644 --- a/code/game/objects/items/AI_modules/zeroth.dm +++ b/code/game/objects/items/AI_modules/zeroth.dm @@ -25,7 +25,7 @@ laws = list("Only SUBJECT is human.") /obj/item/ai_module/zeroth/onehuman/attack_self(mob/user) - var/targName = tgui_input_text(user, "Enter the subject who is the only human.", "One Human", user.real_name, MAX_NAME_LEN) + var/targName = tgui_input_text(user, "Enter the subject who is the only human.", "One Human", user.real_name, max_length = MAX_NAME_LEN) if(!targName || !user.is_holding(src)) return targetName = targName diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 4adb8d28b8c8a..4c83923355261 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -46,7 +46,7 @@ R.add_fingerprint(user) qdel(src) user.forceMove(R) - playsound(src, 'sound/items/zip.ogg', 15, TRUE, -3) + playsound(src, 'sound/items/zip/zip.ogg', 15, TRUE, -3) return OXYLOSS // Bluespace bodybag diff --git a/code/game/objects/items/boxcutter.dm b/code/game/objects/items/boxcutter.dm index 467bc666e6027..58be269bacddf 100644 --- a/code/game/objects/items/boxcutter.dm +++ b/code/game/objects/items/boxcutter.dm @@ -38,7 +38,7 @@ throwforce_on = 4, \ throw_speed_on = throw_speed, \ sharpness_on = SHARP_EDGED, \ - hitsound_on = 'sound/weapons/bladeslice.ogg', \ + hitsound_on = 'sound/items/weapons/bladeslice.ogg', \ w_class_on = WEIGHT_CLASS_NORMAL, \ attack_verb_continuous_on = list("cuts", "stabs", "slashes"), \ attack_verb_simple_on = list("cut", "stab", "slash"), \ diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index fa849c51437da..32636b1a99c81 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -102,7 +102,7 @@ for (var/obj/item/garbage in items_to_sweep) garbage.Move(new_item_loc, sweep_dir) - playsound(current_item_loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1) + playsound(current_item_loc, 'sound/items/weapons/thudswoosh.ogg', 30, TRUE, -1) /obj/item/pushbroom/cyborg name = "cyborg push broom" diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index b49991b132a4e..960363685b1e8 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -49,7 +49,7 @@ if(!user.combat_mode || pushed_over || !isturf(loc)) return ..() user.visible_message(span_warning("[user] pushes over [src]!"), span_danger("You push over [src]!")) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) push_over() /obj/item/cardboard_cutout/equipped(mob/living/user, slot) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 8490f30f1bb75..2d1a16986fbe8 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -125,7 +125,7 @@ /obj/item/card/id/Initialize(mapload) . = ..() - var/datum/bank_account/blank_bank_account = new("Unassigned", SSjob.GetJobType(/datum/job/unassigned), player_account = FALSE) + var/datum/bank_account/blank_bank_account = new("Unassigned", SSjob.get_job_type(/datum/job/unassigned), player_account = FALSE) registered_account = blank_bank_account registered_account.replaceable = TRUE @@ -174,10 +174,10 @@ /obj/item/card/id/get_id_examine_strings(mob/user) . = ..() - . += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "bigicon")]") + . += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "hugeicon")]") -/obj/item/card/id/get_examine_string(mob/user, thats = FALSE) - return "[icon2html(get_cached_flat_icon(), user)] [thats? "That's ":""][get_examine_name(user)]" +/obj/item/card/id/get_examine_icon(mob/user) + return icon2html(get_cached_flat_icon(), user) /** * Helper proc, checks whether the ID card can hold any given set of wildcards. @@ -767,7 +767,7 @@ if(HAS_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD) && (user.is_holding(src) || (user.CanReach(src) && user.put_in_hands(src, ignore_animation = FALSE)))) ADD_TRAIT(src, TRAIT_NODROP, "psycho") . += span_hypnophrase("Look at that subtle coloring... The tasteful thickness of it. Oh my God, it even has a watermark...") - var/sound/slowbeat = sound('sound/health/slowbeat.ogg', repeat = TRUE) + var/sound/slowbeat = sound('sound/effects/health/slowbeat.ogg', repeat = TRUE) user.playsound_local(get_turf(src), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) if(isliving(user)) var/mob/living/living_user = user @@ -810,7 +810,7 @@ if(registered_account.replaceable) . += span_info("Alt-Right-Click the ID to change the linked bank account.") if(registered_account.civilian_bounty) - . += "There is an active civilian bounty." + . += span_info("There is an active civilian bounty.") . += span_info("[registered_account.bounty_text()]") . += span_info("Quantity: [registered_account.bounty_num()]") . += span_info("Reward: [registered_account.bounty_value()]") @@ -987,6 +987,11 @@ return ..() +/obj/item/card/id/advanced/proc/after_input_check(mob/user) + if(QDELETED(user) || QDELETED(src) || !user.client || !user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH)) + return FALSE + return TRUE + /obj/item/card/id/advanced/item_interaction(mob/living/user, obj/item/tool, list/modifiers) . = ..() if(.) @@ -1289,7 +1294,7 @@ . = ..() registered_account = new(player_account = FALSE) registered_account.account_id = ADMIN_ACCOUNT_ID // this is so bank_card_talk() can work. - registered_account.account_job = SSjob.GetJobType(/datum/job/admin) + registered_account.account_job = SSjob.get_job_type(/datum/job/admin) registered_account.account_balance += 999999 // MONEY! We add more money to the account every time we spawn because it's a debug item and infinite money whoopie /obj/item/card/id/advanced/debug/alt_click_can_use_id(mob/living/user) @@ -1442,6 +1447,44 @@ trim = /datum/id_trim/highlander wildcard_slots = WILDCARD_LIMIT_ADMIN +/// An ID that you can flip with attack_self_secondary, overriding the appearance of the ID (useful for plainclothes detectives for example). +/obj/item/card/id/advanced/plainclothes + name = "Plainclothes ID" + ///The trim that we use as plainclothes identity + var/alt_trim = /datum/id_trim/job/assistant + +/obj/item/card/id/advanced/plainclothes/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + context[SCREENTIP_CONTEXT_LMB] = "Show/Flip ID" + +/obj/item/card/id/advanced/plainclothes/examine(mob/user) + . = ..() + if(trim_assignment_override) + . += span_smallnotice("it's currently under plainclothes identity.") + else + . += span_smallnotice("flip it to switch to the plainclothes identity.") + +/obj/item/card/id/advanced/plainclothes/attack_self(mob/user) + var/popup_input = tgui_input_list(user, "Choose Action", "Two-Sided ID", list("Show", "Flip")) + if(!popup_input || !after_input_check(user)) + return TRUE + if(popup_input == "Show") + return ..() + balloon_alert(user, "flipped") + if(trim_assignment_override) + SSid_access.remove_trim_from_chameleon_card(src) + else + SSid_access.apply_trim_to_chameleon_card(src, alt_trim) + update_label() + update_appearance() + +/obj/item/card/id/advanced/plainclothes/update_label() + if(!trim_assignment_override) + return ..() + var/name_string = registered_name ? "[registered_name]'s ID Card" : initial(name) + var/datum/id_trim/fake = SSid_access.trim_singletons_by_path[alt_trim] + name = "[name_string] ([fake.assignment])" + /obj/item/card/id/advanced/chameleon name = "agent card" desc = "A highly advanced chameleon ID card. Touch this card on another ID card or player to choose which accesses to copy. \ @@ -1656,8 +1699,9 @@ to_chat(user, span_notice("You successfully reset the ID card.")) return - ///forge the ID if not forged. - var/input_name = tgui_input_text(user, "What name would you like to put on this card? Leave blank to randomise.", "Agent card name", registered_name ? registered_name : (ishuman(user) ? user.real_name : user.name), MAX_NAME_LEN) + ///forge the ID if not forged.s + var/input_name = tgui_input_text(user, "What name would you like to put on this card? Leave blank to randomise.", "Agent card name", registered_name ? registered_name : (ishuman(user) ? user.real_name : user.name), max_length = MAX_NAME_LEN, encode = FALSE) + if(!after_input_check(user)) return TRUE if(input_name) @@ -1687,7 +1731,7 @@ if(!after_input_check(user)) return TRUE - var/target_occupation = tgui_input_text(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels.", "Agent card job assignment", assignment ? assignment : "Assistant", MAX_NAME_LEN) + var/target_occupation = tgui_input_text(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels.", "Agent card job assignment", assignment ? assignment : "Assistant", max_length = MAX_NAME_LEN) if(!after_input_check(user)) return TRUE @@ -1724,11 +1768,6 @@ registered_account = account to_chat(user, span_notice("Your account number has been automatically assigned.")) -/obj/item/card/id/advanced/chameleon/proc/after_input_check(mob/user) - if(QDELETED(user) || QDELETED(src) || !user.client || !user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH)) - return FALSE - return TRUE - /obj/item/card/id/advanced/chameleon/add_item_context(obj/item/source, list/context, atom/target, mob/living/user,) . = ..() @@ -1846,15 +1885,15 @@ return switch(popup_input) if("Name") - var/input_name = tgui_input_text(user, "What name would you like to put on this card?", "Cardboard card name", scribbled_name || (ishuman(user) ? user.real_name : user.name), MAX_NAME_LEN) - input_name = sanitize_name(input_name, allow_numbers = TRUE) + var/raw_input = tgui_input_text(user, "What name would you like to put on this card?", "Cardboard card name", scribbled_name || (ishuman(user) ? user.real_name : user.name), max_length = MAX_NAME_LEN) + var/input_name = sanitize_name(raw_input, allow_numbers = TRUE) if(!after_input_check(user, item, input_name, scribbled_name)) return scribbled_name = input_name var/list/details = item.get_writing_implement_details() details_colors[INDEX_NAME_COLOR] = details["color"] || COLOR_BLACK if("Assignment") - var/input_assignment = tgui_input_text(user, "What assignment would you like to put on this card?", "Cardboard card job ssignment", scribbled_assignment || "Assistant", MAX_NAME_LEN) + var/input_assignment = tgui_input_text(user, "What assignment would you like to put on this card?", "Cardboard card job ssignment", scribbled_assignment || "Assistant", max_length = MAX_NAME_LEN) if(!after_input_check(user, item, input_assignment, scribbled_assignment)) return scribbled_assignment = sanitize(input_assignment) @@ -1924,10 +1963,10 @@ /obj/item/card/cardboard/get_id_examine_strings(mob/user) . = ..() - . += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "bigicon")]") + . += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "hugeicon")]") -/obj/item/card/cardboard/get_examine_string(mob/user, thats = FALSE) - return "[icon2html(get_cached_flat_icon(), user)] [thats? "That's ":""][get_examine_name(user)]" +/obj/item/card/cardboard/get_examine_icon(mob/user) + return icon2html(get_cached_flat_icon(), user) /obj/item/card/cardboard/examine(mob/user) . = ..() diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/chainsaw.dm index 5d5de16a4d12a..00ca25985bfee 100644 --- a/code/game/objects/items/chainsaw.dm +++ b/code/game/objects/items/chainsaw.dm @@ -47,13 +47,13 @@ /obj/item/chainsaw/suicide_act(mob/living/carbon/user) if(on) user.visible_message(span_suicide("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(src, 'sound/weapons/chainsawhit.ogg', 100, TRUE) + playsound(src, 'sound/items/weapons/chainsawhit.ogg', 100, TRUE) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) if(myhead) myhead.dismember() else user.visible_message(span_suicide("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(src, 'sound/weapons/genhit1.ogg', 100, TRUE) + playsound(src, 'sound/items/weapons/genhit1.ogg', 100, TRUE) return BRUTELOSS /obj/item/chainsaw/attack_self(mob/user) @@ -66,7 +66,7 @@ butchering.butchering_enabled = on if(on) - hitsound = 'sound/weapons/chainsawhit.ogg' + hitsound = 'sound/items/weapons/chainsawhit.ogg' chainsaw_loop.start() else hitsound = SFX_SWING_HIT @@ -88,14 +88,14 @@ speed = 3 SECONDS, \ effectiveness = 100, \ bonus_modifier = 0, \ - butcher_sound = 'sound/weapons/chainsawhit.ogg', \ + butcher_sound = 'sound/items/weapons/chainsawhit.ogg', \ disabled = TRUE, \ ) AddComponent(/datum/component/two_handed, require_twohands=TRUE) /obj/item/chainsaw/doomslayer name = "THE GREAT COMMUNICATOR" - desc = "VRRRRRRR!!!" + desc = span_warning("VRRRRRRR!!!") armour_penetration = 100 force_on = 30 @@ -110,7 +110,7 @@ if (isnull(head)) return ..() - playsound(user, 'sound/weapons/slice.ogg', vol = 80, vary = TRUE) + playsound(user, 'sound/items/weapons/slice.ogg', vol = 80, vary = TRUE) target_mob.balloon_alert(user, "cutting off head...") if (!do_after(user, 2 SECONDS, target_mob, extra_checks = CALLBACK(src, PROC_REF(has_same_head), target_mob, head))) @@ -124,7 +124,7 @@ /obj/item/chainsaw/doomslayer/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) if(attack_type == PROJECTILE_ATTACK) owner.visible_message(span_danger("Ranged attacks just make [owner] angrier!")) - playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) + playsound(src, pick('sound/items/weapons/bulletflyby.ogg', 'sound/items/weapons/bulletflyby2.ogg', 'sound/items/weapons/bulletflyby3.ogg'), 75, TRUE) return TRUE return FALSE @@ -162,7 +162,7 @@ speed = 3 SECONDS, \ effectiveness = 100, \ bonus_modifier = 0, \ - butcher_sound = 'sound/weapons/chainsawhit.ogg', \ + butcher_sound = 'sound/items/weapons/chainsawhit.ogg', \ disabled = TRUE, \ ) diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 1d1f8fad7cc56..6b4ae0f918394 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -69,8 +69,8 @@ if(!response_timer_id) return var/turf/T = get_turf(src) - T.visible_message("The proposed changes disappear \ - from [src]; it looks like they've been rejected.") + T.visible_message(span_warning("The proposed changes disappear \ + from [src]; it looks like they've been rejected.")) var/m = "[key_name(user)] has rejected the proposed station name." message_admins(m) diff --git a/code/game/objects/items/choice_beacon.dm b/code/game/objects/items/choice_beacon.dm index 4a6de50990294..01b7933f91426 100644 --- a/code/game/objects/items/choice_beacon.dm +++ b/code/game/objects/items/choice_beacon.dm @@ -30,7 +30,7 @@ if(user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return TRUE - playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 40, TRUE) return FALSE /// Opens a menu and allows the mob to pick an option from the list @@ -162,7 +162,7 @@ // just drops the box at their feet, "quiet" and "sneaky" /obj/item/choice_beacon/augments/spawn_option(obj/choice_path, mob/living/user) new choice_path(get_turf(user)) - playsound(src, 'sound/weapons/emitter2.ogg', 50, extrarange = SILENCED_SOUND_EXTRARANGE) + playsound(src, 'sound/items/weapons/emitter2.ogg', 50, extrarange = SILENCED_SOUND_EXTRARANGE) /obj/item/choice_beacon/holy name = "armaments beacon" @@ -176,7 +176,7 @@ if(user.mind?.holy_role) return ..() - playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 40, TRUE) return FALSE // Overrides generate options so that we can show a neat radial instead diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigarettes.dm similarity index 75% rename from code/game/objects/items/cigs_lighters.dm rename to code/game/objects/items/cigarettes.dm index 35f14640278e4..69b65149775ba 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigarettes.dm @@ -6,8 +6,6 @@ MATCHES CIGARETTES CIGARS SMOKING PIPES -CHEAP LIGHTERS -ZIPPO CIGARETTE PACKETS ARE IN FANCY.DM */ @@ -49,7 +47,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = "match_lit" damtype = BURN force = 3 - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' inhand_icon_state = "cigon" name = "lit [initial(name)]" desc = "A [initial(name)]. This one is lit." @@ -134,6 +132,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "cigarette" desc = "A roll of tobacco and nicotine. It is not food." icon = 'icons/obj/cigarettes.dmi' + worn_icon = 'icons/mob/clothing/mask.dmi' icon_state = "cigoff" inhand_icon_state = "cigon" //gets overriden during intialize(), just have it for unit test sanity. throw_speed = 0.5 @@ -200,7 +199,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM // "It is called a cigarette" AddComponent(/datum/component/edible,\ initial_reagents = list_reagents,\ - food_flags = null,\ + food_flags = FOOD_NO_EXAMINE,\ foodtypes = JUNKFOOD,\ volume = 50,\ eat_time = 0 SECONDS,\ @@ -210,7 +209,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM junkiness = 0,\ reagent_purity = null,\ on_consume = CALLBACK(src, PROC_REF(on_consume)),\ - show_examine = FALSE, \ ) /obj/item/cigarette/Destroy() @@ -349,7 +347,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM return lit = TRUE - playsound(src.loc, 'sound/items/cig_light.ogg', 100, 1) + playsound(src.loc, 'sound/items/lighter/cig_light.ogg', 100, 1) make_cig_smoke() if(!(flags_1 & INITIALIZED_1)) update_appearance(UPDATE_ICON) @@ -357,7 +355,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM attack_verb_continuous = string_list(list("burns", "singes")) attack_verb_simple = string_list(list("burn", "singe")) - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' damtype = BURN force = 4 if(reagents.get_reagent_amount(/datum/reagent/toxin/plasma)) // the plasma explodes when exposed to fire @@ -398,7 +396,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM STOP_PROCESSING(SSobj, src) reagents.flags |= NO_REACT lit = FALSE - playsound(src.loc, 'sound/items/cig_snuff.ogg', 100, 1) + playsound(src.loc, 'sound/items/lighter/cig_snuff.ogg', 100, 1) update_appearance(UPDATE_ICON) if(ismob(loc)) to_chat(loc, span_notice("Your [name] goes out.")) @@ -680,6 +678,27 @@ CIGARETTE PACKETS ARE IN FANCY.DM pixel_y = rand(-5, 5) +/obj/item/cigarette/dart + name = "fat dart" + desc = "Chuff back this fat dart" + icon_state = "bigon" + icon_on = "bigon" + icon_off = "bigoff" + w_class = WEIGHT_CLASS_BULKY + smoketime = 18 MINUTES + chem_volume = 65 + list_reagents = list(/datum/reagent/drug/nicotine = 45) + choke_time_max = 40 SECONDS + lung_harm = 2 + +/obj/item/cigarette/dart/Initialize(mapload) + . = ..() + //the compiled icon state is how it appears when it's on. + //That's how we want it to show on orbies (little virtual PDA pets). + //However we should reset their appearance on runtime. + update_appearance(UPDATE_ICON_STATE) + + //////////// // CIGARS // //////////// @@ -820,319 +839,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM inhand_icon_on = null inhand_icon_off = null -///////// -//ZIPPO// -///////// -/obj/item/lighter - name = "\improper Zippo lighter" - desc = "The zippo." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "zippo" - inhand_icon_state = "zippo" - worn_icon_state = "lighter" - w_class = WEIGHT_CLASS_TINY - obj_flags = CONDUCTS_ELECTRICITY - slot_flags = ITEM_SLOT_BELT - heat = 1500 - resistance_flags = FIRE_PROOF - grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/fuel/oil = 5) - custom_price = PAYCHECK_CREW * 1.1 - light_system = OVERLAY_LIGHT - light_range = 2 - light_power = 1.3 - light_color = LIGHT_COLOR_FIRE - light_on = FALSE - /// Whether the lighter is lit. - var/lit = FALSE - /// Whether the lighter is fancy. Fancy lighters have fancier flavortext and won't burn thumbs. - var/fancy = TRUE - /// The engraving overlay used by this lighter. - var/overlay_state - /// A list of possible engraving overlays. - var/overlay_list = list( - "plain", - "dame", - "thirteen", - "snake" - ) - -/obj/item/lighter/Initialize(mapload) - . = ..() - if(!overlay_state) - overlay_state = pick(overlay_list) - AddComponent(\ - /datum/component/bullet_intercepting,\ - block_chance = 0.5,\ - active_slots = ITEM_SLOT_SUITSTORE,\ - on_intercepted = CALLBACK(src, PROC_REF(on_intercepted_bullet)),\ - ) - update_appearance() - -/// Destroy the lighter when it's shot by a bullet -/obj/item/lighter/proc/on_intercepted_bullet(mob/living/victim, obj/projectile/bullet) - victim.visible_message(span_warning("\The [bullet] shatters on [victim]'s lighter!")) - playsound(victim, SFX_RICOCHET, 100, TRUE) - new /obj/effect/decal/cleanable/oil(get_turf(src)) - do_sparks(1, TRUE, src) - victim.dropItemToGround(src, force = TRUE, silent = TRUE) - qdel(src) - -/obj/item/lighter/cyborg_unequip(mob/user) - if(!lit) - return - set_lit(FALSE) - -/obj/item/lighter/suicide_act(mob/living/carbon/user) - if (lit) - user.visible_message(span_suicide("[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(src, 'sound/items/welder.ogg', 50, TRUE) - return FIRELOSS - else - user.visible_message(span_suicide("[user] begins whacking [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) - return BRUTELOSS - -/obj/item/lighter/update_icon_state() - icon_state = "[initial(icon_state)][lit ? "-on" : ""]" - return ..() - -/obj/item/lighter/update_overlays() - . = ..() - . += create_lighter_overlay() - -/// Generates an overlay used by this lighter. -/obj/item/lighter/proc/create_lighter_overlay() - return mutable_appearance(icon, "lighter_overlay_[overlay_state][lit ? "-on" : ""]") - -/obj/item/lighter/ignition_effect(atom/A, mob/user) - if(get_temperature()) - . = span_infoplain(span_rose("With a single flick of [user.p_their()] wrist, [user] smoothly lights [A] with [src]. Damn [user.p_theyre()] cool.")) - -/obj/item/lighter/proc/set_lit(new_lit) - if(lit == new_lit) - return - - lit = new_lit - if(lit) - force = 5 - damtype = BURN - hitsound = 'sound/items/welder.ogg' - attack_verb_continuous = string_list(list("burns", "singes")) - attack_verb_simple = string_list(list("burn", "singe")) - START_PROCESSING(SSobj, src) - if(isliving(loc)) - var/mob/living/male_model = loc - if(male_model.fire_stacks && !(male_model.on_fire)) - male_model.ignite_mob() - else - hitsound = SFX_SWING_HIT - force = 0 - attack_verb_continuous = null //human_defense.dm takes care of it - attack_verb_simple = null - STOP_PROCESSING(SSobj, src) - set_light_on(lit) - update_appearance() - -/obj/item/lighter/extinguish() - . = ..() - set_lit(FALSE) - -/obj/item/lighter/attack_self(mob/living/user) - if(!user.is_holding(src)) - return ..() - if(lit) - set_lit(FALSE) - if(fancy) - user.visible_message( - span_notice("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow."), - span_notice("You quietly shut off [src] without even looking at what you're doing. Wow.") - ) - playsound(src.loc , 'sound/items/zippo_off.ogg', 100, 1) - else - user.visible_message( - span_notice("[user] quietly shuts off [src]."), - span_notice("You quietly shut off [src].") - ) - playsound(src.loc , 'sound/items/lighter_off.ogg', 100, 1) - return - - set_lit(TRUE) - if(fancy) - user.visible_message( - span_notice("Without even breaking stride, [user] flips open and lights [src] in one smooth movement."), - span_notice("Without even breaking stride, you flip open and light [src] in one smooth movement.") - ) - playsound(src.loc , 'sound/items/zippo_on.ogg', 100, 1) - return - else - playsound(src.loc, 'sound/items/lighter_on.ogg', 100, 1) - - var/hand_protected = FALSE - var/mob/living/carbon/human/human_user = user - if(!istype(human_user) || HAS_TRAIT(human_user, TRAIT_RESISTHEAT) || HAS_TRAIT(human_user, TRAIT_RESISTHEATHANDS)) - hand_protected = TRUE - else if(!istype(human_user.gloves, /obj/item/clothing/gloves)) - hand_protected = FALSE - else - var/obj/item/clothing/gloves/gloves = human_user.gloves - if(gloves.max_heat_protection_temperature) - hand_protected = (gloves.max_heat_protection_temperature > 360) - - if(hand_protected || prob(75)) - user.visible_message( - span_notice("After a few attempts, [user] manages to light [src]."), - span_notice("After a few attempts, you manage to light [src].") - ) - return - - var/hitzone = user.held_index_to_dir(user.active_hand_index) == "r" ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND - user.apply_damage(5, BURN, hitzone) - user.visible_message( - span_warning("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn[user.p_s()] [user.p_their()] finger in the process."), - span_warning("You burn yourself while lighting the lighter!") - ) - user.add_mood_event("burnt_thumb", /datum/mood_event/burnt_thumb) - - -/obj/item/lighter/attack(mob/living/carbon/M, mob/living/carbon/user) - if(lit && M.ignite_mob()) - message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(M)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") - var/obj/item/cigarette/cig = help_light_cig(M) - if(!lit || !cig || user.combat_mode) - ..() - return - - if(cig.lit) - to_chat(user, span_warning("The [cig.name] is already lit!")) - if(M == user) - cig.attackby(src, user) - return - - if(fancy) - cig.light(span_rose("[user] whips the [name] out and holds it for [M]. [user.p_Their()] arm is as steady as the unflickering flame [user.p_they()] light[user.p_s()] \the [cig] with.")) - else - cig.light(span_notice("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name].")) - - -/obj/item/lighter/process() - open_flame(heat) - -/obj/item/lighter/get_temperature() - return lit * heat - - -/obj/item/lighter/greyscale - name = "cheap lighter" - desc = "A cheap lighter." - icon_state = "lighter" - fancy = FALSE - overlay_list = list( - "transp", - "tall", - "matte", - "zoppo" //u cant stoppo th zoppo - ) - - /// The color of the lighter. - var/lighter_color - /// The set of colors this lighter can be autoset as on init. - var/list/color_list = list( //Same 16 color selection as electronic assemblies - COLOR_ASSEMBLY_BLACK, - COLOR_FLOORTILE_GRAY, - COLOR_ASSEMBLY_BGRAY, - COLOR_ASSEMBLY_WHITE, - COLOR_ASSEMBLY_RED, - COLOR_ASSEMBLY_ORANGE, - COLOR_ASSEMBLY_BEIGE, - COLOR_ASSEMBLY_BROWN, - COLOR_ASSEMBLY_GOLD, - COLOR_ASSEMBLY_YELLOW, - COLOR_ASSEMBLY_GURKHA, - COLOR_ASSEMBLY_LGREEN, - COLOR_ASSEMBLY_GREEN, - COLOR_ASSEMBLY_LBLUE, - COLOR_ASSEMBLY_BLUE, - COLOR_ASSEMBLY_PURPLE - ) - -/obj/item/lighter/greyscale/Initialize(mapload) - . = ..() - if(!lighter_color) - lighter_color = pick(color_list) - update_appearance() - -/obj/item/lighter/greyscale/create_lighter_overlay() - var/mutable_appearance/lighter_overlay = ..() - lighter_overlay.color = lighter_color - return lighter_overlay - -/obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user) - if(get_temperature()) - . = span_notice("After some fiddling, [user] manages to light [A] with [src].") - - -/obj/item/lighter/slime - name = "slime zippo" - desc = "A specialty zippo made from slimes and industry. Has a much hotter flame than normal." - icon_state = "slighter" - heat = 3000 //Blue flame! - light_color = LIGHT_COLOR_CYAN - overlay_state = "slime" - grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/medicine/pyroxadone = 5) - -/obj/item/lighter/skull - name = "badass zippo" - desc = "An absolutely badass zippo lighter. Just look at that skull!" - overlay_state = "skull" - -/obj/item/lighter/mime - name = "pale zippo" - desc = "In lieu of fuel, performative spirit can be used to light cigarettes." - icon_state = "mlighter" //These ones don't show a flame. - light_color = LIGHT_COLOR_HALOGEN - heat = 0 //I swear it's a real lighter dude you just can't see the flame dude I promise - overlay_state = "mime" - grind_results = list(/datum/reagent/iron = 1, /datum/reagent/toxin/mutetoxin = 5, /datum/reagent/consumable/nothing = 10) - light_range = 0 - light_power = 0 - fancy = FALSE - -/obj/item/lighter/mime/ignition_effect(atom/A, mob/user) - . = span_infoplain("[user] lifts the [name] to the [A], which miraculously lights!") - -/obj/item/lighter/bright - name = "illuminative zippo" - desc = "Sustains an incredibly bright chemical reaction when you spark it. Avoid looking directly at the igniter when lit." - icon_state = "slighter" - light_color = LIGHT_COLOR_ELECTRIC_CYAN - overlay_state = "bright" - grind_results = list(/datum/reagent/iron = 1, /datum/reagent/flash_powder = 10) - light_range = 8 - light_power = 3 //Irritatingly bright and large enough to cover a small room. - fancy = FALSE - -/obj/item/lighter/bright/examine(mob/user) - . = ..() - - if(lit && isliving(user)) - var/mob/living/current_viewer = user - current_viewer.flash_act(4) - -/obj/item/lighter/bright/ignition_effect(atom/A, mob/user) - if(get_temperature()) - . = span_infoplain(span_rose("[user] lifts the [src] to the [A], igniting it with a brilliant flash of light!")) - var/mob/living/current_viewer = user - current_viewer.flash_act(4) - -/obj/effect/spawner/random/special_lighter - name = "special lighter spawner" - icon_state = "lighter" - loot = list( - /obj/item/lighter/skull, - /obj/item/lighter/mime, - /obj/item/lighter/bright, - ) - /////////// //ROLLING// /////////// diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm index 236b6ed402c4a..6439ef9ccbe94 100644 --- a/code/game/objects/items/circuitboards/circuitboard.dm +++ b/code/game/objects/items/circuitboards/circuitboard.dm @@ -17,8 +17,8 @@ grind_results = list(/datum/reagent/silicon = 20) greyscale_colors = CIRCUIT_COLOR_GENERIC var/build_path = null - ///determines if the circuit board originated from a vendor off station or not. - var/onstation = TRUE + /// whether or not the circuit board will build into a vendor whose products cost nothing (used for offstation vending machines mostly) + var/all_products_free = FALSE ///determines if the board requires specific levels of parts. (ie specifically a femto menipulator vs generic manipulator) var/specific_parts = FALSE diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 41950561571d6..9c3cde9f725a5 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -403,6 +403,29 @@ name = "R&D Console" greyscale_colors = CIRCUIT_COLOR_SCIENCE build_path = /obj/machinery/computer/rdconsole + var/silence_announcements = FALSE + +/obj/item/circuitboard/computer/rdconsole/examine(mob/user) + . = ..() + . += span_info("The board is configured to [silence_announcements ? "silence" : "announce"] researched nodes on radio.") + . += span_notice("The board mode can be changed with a [EXAMINE_HINT("multitool")].") + +/obj/item/circuitboard/computer/rdconsole/multitool_act(mob/living/user) + . = ..() + if(obj_flags & EMAGGED) + balloon_alert(user, "board mode is broken!") + return + silence_announcements = !silence_announcements + balloon_alert(user, "announcements [silence_announcements ? "enabled" : "disabled"]") + +/obj/item/circuitboard/computer/rdconsole/emag_act(mob/user, obj/item/card/emag/emag_card) + if (obj_flags & EMAGGED) + return FALSE + + obj_flags |= EMAGGED + silence_announcements = FALSE + to_chat(user, span_notice("You overload the node announcement chip, forcing every node to be announced on the common channel.")) + return TRUE /obj/item/circuitboard/computer/rdservercontrol name = "R&D Server Control" diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index 80c71e2b85983..ec5294fd61eed 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -344,6 +344,23 @@ /datum/stock_part/capacitor = 1) def_components = list(/obj/item/stock_parts/power_store/battery = /obj/item/stock_parts/power_store/battery/high/empty) +/obj/item/circuitboard/machine/smes/connector + name = "power connector" + build_path = /obj/machinery/power/smes/connector + req_components = list( + /obj/item/stack/cable_coil = 5, + /datum/stock_part/capacitor = 1,) + +/obj/item/circuitboard/machine/smesbank + name = "portable SMES" + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + needs_anchored = FALSE + build_path = /obj/machinery/power/smesbank + req_components = list( + /obj/item/stack/cable_coil = 5, + /obj/item/stock_parts/power_store/battery = 5,) + def_components = list(/obj/item/stock_parts/power_store/battery = /obj/item/stock_parts/power_store/battery/high/empty) + /obj/item/circuitboard/machine/techfab/department/engineering name = "\improper Departmental Techfab - Engineering" greyscale_colors = CIRCUIT_COLOR_ENGINEERING @@ -352,6 +369,9 @@ /obj/item/circuitboard/machine/smes/super def_components = list(/obj/item/stock_parts/power_store/battery = /obj/item/stock_parts/power_store/battery/super/empty) +/obj/item/circuitboard/machine/smesbank/super + def_components = list(/obj/item/stock_parts/power_store/battery = /obj/item/stock_parts/power_store/battery/super/empty) + /obj/item/circuitboard/machine/thermomachine name = "Thermomachine" greyscale_colors = CIRCUIT_COLOR_ENGINEERING @@ -1715,3 +1735,65 @@ req_components = list( /datum/stock_part/servo = 1, ) + +/obj/item/circuitboard/machine/manucrafter + name = /obj/machinery/power/manufacturing/crafter::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/crafter + req_components = list( + /obj/item/stack/sheet/iron = 5, + /datum/stock_part/servo = 1, + ) + +/obj/item/circuitboard/machine/manulathe + name = /obj/machinery/power/manufacturing/lathe::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/lathe + req_components = list( + /obj/item/stack/sheet/iron = 5, + /datum/stock_part/servo = 1, + ) + +/obj/item/circuitboard/machine/manucrusher + name = /obj/machinery/power/manufacturing/crusher::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/crusher + req_components = list( + /obj/item/stack/sheet/iron = 5, + /datum/stock_part/servo = 1, + ) + +/obj/item/circuitboard/machine/manuunloader + name = /obj/machinery/power/manufacturing/unloader::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/unloader + req_components = list( + /obj/item/stack/sheet/iron = 5, + /datum/stock_part/servo = 1, + ) + +/obj/item/circuitboard/machine/manusorter + name = /obj/machinery/power/manufacturing/sorter::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/sorter + req_components = list( + /obj/item/stack/sheet/iron = 5, + /datum/stock_part/scanning_module = 1, + ) + +/obj/item/circuitboard/machine/manusmelter + name = /obj/machinery/power/manufacturing/smelter::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/smelter + req_components = list( + /obj/item/stack/sheet/iron = 5, + /datum/stock_part/micro_laser = 1, + ) + +/obj/item/circuitboard/machine/manurouter + name = /obj/machinery/power/manufacturing/router::name + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/manufacturing/router + req_components = list( + /obj/item/stack/sheet/iron = 5, + ) diff --git a/code/game/objects/items/climbingrope.dm b/code/game/objects/items/climbingrope.dm index e68e508771248..f10a9db76704c 100644 --- a/code/game/objects/items/climbingrope.dm +++ b/code/game/objects/items/climbingrope.dm @@ -27,6 +27,8 @@ . += span_notice("The rope looks like you could use it [uses] times before it falls apart.") /obj/item/climbing_hook/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(HAS_TRAIT(interacting_with, TRAIT_COMBAT_MODE_SKIP_INTERACTION)) + return NONE return ranged_interact_with_atom(interacting_with, user, modifiers) /obj/item/climbing_hook/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) @@ -46,8 +48,8 @@ var/away_dir = get_dir(above, target) user.visible_message(span_notice("[user] begins climbing upwards with [src]."), span_notice("You get to work on properly hooking [src] and going upwards.")) - playsound(target, 'sound/effects/picaxe1.ogg', 50) //plays twice so people above and below can hear - playsound(user_turf, 'sound/effects/picaxe1.ogg', 50) + playsound(target, 'sound/effects/pickaxe/picaxe1.ogg', 50) //plays twice so people above and below can hear + playsound(user_turf, 'sound/effects/pickaxe/picaxe1.ogg', 50) var/list/effects = list(new /obj/effect/temp_visual/climbing_hook(target, away_dir), new /obj/effect/temp_visual/climbing_hook(user_turf, away_dir)) // Our climbers athletics ability diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 6565bcae44f5b..1870b6dd2ba0f 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -161,9 +161,6 @@ return CLEAN_BLOCKED return ..() -/obj/item/soap/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/living/user) - return !user.combat_mode // only cleans a storage item if on combat - /* * Bike Horns */ @@ -212,7 +209,7 @@ desc = "Damn son, where'd you find this?" icon_state = "air_horn" worn_icon_state = "horn_air" - sound_file = 'sound/items/airhorn2.ogg' + sound_file = 'sound/items/airhorn/airhorn2.ogg' /datum/crafting_recipe/airhorn name = "Air Horn" diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index abad07f96d844..9734661e88f63 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -35,10 +35,12 @@ update_icon_state() balloon_alert(user, "mode: [desc[mode]]") -/obj/item/door_remote/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /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/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) var/obj/machinery/door/door if (istype(interacting_with, /obj/machinery/door)) diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index 2aa0c927bedc0..45b716997c16b 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -210,7 +210,7 @@ skinhead.set_facial_hairstyle("Shaved", update = TRUE) else skinhead.set_hairstyle("Skinhead", update = TRUE) - playsound(loc, 'sound/items/welder2.ogg', 20, TRUE) + playsound(loc, 'sound/items/tools/welder2.ogg', 20, TRUE) /obj/item/razor/attack(mob/target_mob, mob/living/user, params) if(!ishuman(target_mob)) diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 45bb25285ef24..630637316b355 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -79,7 +79,7 @@ var/throwtarget = get_step(user, get_dir(src, user)) user.safe_throw_at(throwtarget, 1, 1, force = MOVE_FORCE_EXTREMELY_STRONG) - playsound(get_turf(src),'sound/magic/repulse.ogg', 100, TRUE) + playsound(get_turf(src),'sound/effects/magic/repulse.ogg', 100, TRUE) return @@ -126,7 +126,7 @@ sleep(3 SECONDS) if(QDELETED(src)) return - playsound(src,'sound/machines/twobeep.ogg',50,FALSE) + playsound(src,'sound/machines/beep/twobeep.ogg',50,FALSE) var/mutable_appearance/hologram = mutable_appearance(icon, "hologram") hologram.pixel_y = 16 add_overlay(hologram) @@ -158,7 +158,7 @@ sleep(0.5 SECONDS) if(QDELETED(src)) return - playsound(src,'sound/machines/triple_beep.ogg',50,FALSE) + playsound(src,'sound/machines/beep/triple_beep.ogg',50,FALSE) add_overlay("text") sleep(1 SECONDS) if(QDELETED(src)) @@ -247,7 +247,7 @@ dump = new /obj/structure/checkoutmachine(null, bogdanoff) priority_announce("The spacecoin bubble has popped! Get to the credit deposit machine at [get_area(src)] and cash out before you lose all of your funds!", sender_override = "CRAB-17 Protocol") animate(DF, pixel_z = -8, time = 5, , easing = LINEAR_EASING) - playsound(src, 'sound/weapons/mortar_whistle.ogg', 70, TRUE, 6) + playsound(src, 'sound/items/weapons/mortar_whistle.ogg', 70, TRUE, 6) addtimer(CALLBACK(src, PROC_REF(endLaunch)), 5, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 9b4d17bbb9d64..31c2f66dac0bb 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -384,7 +384,7 @@ . = TRUE if("select_stencil") var/stencil = params["item"] - if(stencil in all_drawables + randoms) + if(stencil in (all_drawables + randoms)) drawtype = stencil . = TRUE text_buffer = "" @@ -402,7 +402,7 @@ set_painting_tool_color(paint_color) . = TRUE if("enter_text") - var/txt = tgui_input_text(usr, "Choose what to write", "Scribbles", text_buffer) + var/txt = tgui_input_text(usr, "Choose what to write", "Scribbles", text_buffer, max_length = MAX_MESSAGE_LEN) if(isnull(txt)) return txt = crayon_text_strip(txt) @@ -485,7 +485,7 @@ temp = "symbol" else if(drawing in drawings) temp = "drawing" - else if(drawing in graffiti|oriented) + else if(drawing in (graffiti|oriented)) temp = "graffiti" var/graf_rot @@ -504,8 +504,8 @@ var/clicky if(LAZYACCESS(modifiers, ICON_X) && LAZYACCESS(modifiers, ICON_Y)) - clickx = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) - clicky = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) + clickx = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X/2), ICON_SIZE_X/2) + clicky = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y/2), ICON_SIZE_Y/2) if(!instant) to_chat(user, span_notice("You start drawing a [temp] on the [target.name]...")) @@ -865,7 +865,10 @@ /obj/item/toy/crayon/spraycan/can_use_on(atom/target, mob/user, list/modifiers) if(iscarbon(target)) return TRUE - if(ismob(target) && (HAS_TRAIT(target, TRAIT_SPRAY_PAINTABLE))) + if(is_capped && HAS_TRAIT(target, TRAIT_COMBAT_MODE_SKIP_INTERACTION)) + // specifically don't try to use a capped spraycan on stuff like bags and tables, just place it + return FALSE + if(ismob(target) && HAS_TRAIT(target, TRAIT_SPRAY_PAINTABLE)) return TRUE if(isobj(target) && !(target.flags_1 & UNPAINTABLE_1)) return TRUE @@ -967,6 +970,10 @@ /obj/item/toy/crayon/spraycan/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) if(is_capped) + if(!interacting_with.color) + // let's be generous and assume if they're trying to match something with no color, while capped, + // we shouldn't be blocking further interactions + return NONE balloon_alert(user, "take the cap off first!") return ITEM_INTERACT_BLOCKING if(check_empty(user)) @@ -1003,9 +1010,6 @@ update_appearance() return CLICK_ACTION_SUCCESS -/obj/item/toy/crayon/spraycan/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/user) - return is_capped - /obj/item/toy/crayon/spraycan/update_icon_state() icon_state = is_capped ? icon_capped : icon_uncapped return ..() diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm index 24f350f37907a..fb6400fc7b36c 100644 --- a/code/game/objects/items/debug_items.dm +++ b/code/game/objects/items/debug_items.dm @@ -168,7 +168,7 @@ return if(!user.client.holder) //safety if the admin readmined to save their ass lol. to_chat(user, span_reallybig("You shouldn't have done that...")) - playsound(src, 'sound/voice/borg_deathsound.ogg') + playsound(src, 'sound/mobs/non-humanoids/cyborg/borg_deathsound.ogg') sleep(3 SECONDS) living_user.investigate_log("has been gibbed by [src].", INVESTIGATE_DEATHS) living_user.gib(DROP_ALL_REMAINS) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index b1e01e5a6cebc..9133068cb0027 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -258,10 +258,10 @@ if(cell) if(cell.charge >= paddles.revivecost) visible_message(span_notice("[src] beeps: Unit ready.")) - playsound(src, 'sound/machines/defib_ready.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_ready.ogg', 50, FALSE) else visible_message(span_notice("[src] beeps: Charge depleted.")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) paddles.cooldown = FALSE paddles.update_appearance() update_power() @@ -399,7 +399,7 @@ /obj/item/shockpaddles/proc/finish_recharge() var/turf/current_turf = get_turf(src) current_turf.audible_message(span_notice("[src] beeps: Unit is recharged.")) - playsound(src, 'sound/machines/defib_ready.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_ready.ogg', 50, FALSE) cooldown = FALSE update_appearance() @@ -418,7 +418,7 @@ user.visible_message(span_danger("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")) if(req_defib) defib.deductcharge(revivecost) - playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1) + playsound(src, 'sound/machines/defib/defib_zap.ogg', 50, TRUE, -1) return OXYLOSS /obj/item/shockpaddles/update_icon_state() @@ -451,7 +451,7 @@ defib?.update_power() if(req_defib && !defib.powered) user.visible_message(span_warning("[defib] beeps: Not enough charge!")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) return if(!HAS_TRAIT(src, TRAIT_WIELDED)) if(iscyborg(user)) @@ -493,7 +493,7 @@ do_help(H, user) -/// Called whenever the paddles successfuly shock something +/// Called whenever the paddles successfully shock something /obj/item/shockpaddles/proc/do_success() if(busy) busy = FALSE @@ -527,7 +527,7 @@ M.Knockdown(75) M.set_jitter_if_lower(100 SECONDS) M.apply_status_effect(/datum/status_effect/convulsing) - playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1) + playsound(src, 'sound/machines/defib/defib_zap.ogg', 50, TRUE, -1) if(HAS_TRAIT(M,MOB_ORGANIC)) M.emote("gasp") log_combat(user, M, "zapped", src) @@ -544,7 +544,7 @@ user.visible_message(span_notice("[user] places [src] on [H]'s chest."), span_warning("You place [src] on [H]'s chest and begin to charge them.")) var/turf/T = get_turf(defib) - playsound(src, 'sound/machines/defib_charge.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_charge.ogg', 50, FALSE) if(req_defib) T.audible_message(span_warning("\The [defib] lets out an urgent beep and lets out a steadily rising hum...")) else @@ -555,12 +555,12 @@ return if(H && H.stat == DEAD) to_chat(user, span_warning("[H] is dead.")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) do_cancel() return user.visible_message(span_boldannounce("[user] shocks [H] with \the [src]!"), span_warning("You shock [H] with \the [src]!")) - playsound(src, 'sound/machines/defib_zap.ogg', 100, TRUE, -1) - playsound(src, 'sound/weapons/egloves.ogg', 100, TRUE, -1) + playsound(src, 'sound/machines/defib/defib_zap.ogg', 100, TRUE, -1) + playsound(src, 'sound/items/weapons/egloves.ogg', 100, TRUE, -1) H.emote("scream") shock_pulling(45, H) if(H.can_heartattack() && !H.undergoing_cardiac_arrest()) @@ -582,14 +582,14 @@ update_appearance() if(do_after(user, 3 SECONDS, H, extra_checks = CALLBACK(src, PROC_REF(is_wielded)))) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process user.visible_message(span_notice("[user] places [src] on [H]'s chest."), span_warning("You place [src] on [H]'s chest.")) - playsound(src, 'sound/machines/defib_charge.ogg', 75, FALSE) + playsound(src, 'sound/machines/defib/defib_charge.ogg', 75, FALSE) var/obj/item/organ/internal/heart = H.get_organ_by_type(/obj/item/organ/internal/heart) if(do_after(user, 2 SECONDS, H, extra_checks = CALLBACK(src, PROC_REF(is_wielded)))) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total if((!combat && !req_defib) || (req_defib && !defib.combat)) for(var/obj/item/clothing/C in H.get_equipped_items()) if((C.body_parts_covered & CHEST) && (C.clothing_flags & THICKMATERIAL)) //check to see if something is obscuring their chest. user.audible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's chest is obscured. Operation aborted.")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) do_cancel() return if(SEND_SIGNAL(H, COMSIG_DEFIBRILLATOR_PRE_HELP_ZAP, user, src) & COMPONENT_DEFIB_STOP) @@ -598,7 +598,7 @@ if(H.stat == DEAD) H.visible_message(span_warning("[H]'s body convulses a bit.")) playsound(src, SFX_BODYFALL, 50, TRUE) - playsound(src, 'sound/machines/defib_zap.ogg', 75, TRUE, -1) + playsound(src, 'sound/machines/defib/defib_zap.ogg', 75, TRUE, -1) shock_pulling(30, H) var/defib_result = H.can_defib() @@ -626,7 +626,7 @@ if(fail_reason) user.visible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - [fail_reason]")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) else var/total_brute = H.getBruteLoss() var/total_burn = H.getFireLoss() @@ -645,7 +645,7 @@ if(need_mob_update) H.updatehealth() // Previous "adjust" procs don't update health, so we do it manually. user.visible_message(span_notice("[req_defib ? "[defib]" : "[src]"] pings: Resuscitation successful.")) - playsound(src, 'sound/machines/defib_success.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_success.ogg', 50, FALSE) H.set_heartattack(FALSE) if(defib_result == DEFIB_POSSIBLE) H.grab_ghost() @@ -662,9 +662,9 @@ return else if (!H.get_organ_by_type(/obj/item/organ/internal/heart)) user.visible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's heart is missing. Operation aborted.")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) else if(H.undergoing_cardiac_arrest()) - playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1) + playsound(src, 'sound/machines/defib/defib_zap.ogg', 50, TRUE, -1) if(!(heart.organ_flags & ORGAN_FAILING)) H.set_heartattack(FALSE) user.visible_message(span_notice("[req_defib ? "[defib]" : "[src]"] pings: Patient's heart is now beating again.")) @@ -673,7 +673,7 @@ else user.visible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Patient is not in a valid state. Operation aborted.")) - playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) + playsound(src, 'sound/machines/defib/defib_failed.ogg', 50, FALSE) do_cancel() /obj/item/shockpaddles/proc/is_wielded() @@ -708,7 +708,7 @@ base_icon_state = "syndiepaddles" /obj/item/shockpaddles/syndicate/nanotrasen - name = "elite nanotrasen defibrillator paddles" + name = "elite Nanotrasen defibrillator paddles" desc = "A pair of paddles used to revive deceased ERT members. They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively." icon_state = "ntpaddles0" inhand_icon_state = "ntpaddles0" diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index c619f7d7018e0..77eefa8a1507b 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -43,17 +43,15 @@ user.visible_message(span_suicide("[user] is trying to upload [user.p_them()]self into [src]! That's not going to work out well!")) return BRUTELOSS -/obj/item/aicard/pre_attack(atom/target, mob/living/user, params) - . = ..() - if(.) - return - +/obj/item/aicard/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(AI) - if(upload_ai(target, user)) - return TRUE + if(upload_ai(interacting_with, user)) + return ITEM_INTERACT_SUCCESS else - if(capture_ai(target, user)) - return TRUE + if(capture_ai(interacting_with, user)) + return ITEM_INTERACT_SUCCESS + + return NONE /// Tries to get an AI from the atom clicked /obj/item/aicard/proc/capture_ai(atom/from_what, mob/living/user) diff --git a/code/game/objects/items/devices/aicard_evil.dm b/code/game/objects/items/devices/aicard_evil.dm index 3e8c56ce940fd..852a105de350f 100644 --- a/code/game/objects/items/devices/aicard_evil.dm +++ b/code/game/objects/items/devices/aicard_evil.dm @@ -102,13 +102,13 @@ else AI = locate() in A if(!AI || AI.interaction_range == INFINITY) - playsound(src,'sound/machines/buzz-sigh.ogg',50,FALSE) + playsound(src,'sound/machines/buzz/buzz-sigh.ogg',50,FALSE) to_chat(user, span_notice("Error! Incompatible object!")) return ..() AI.interaction_range += 2 if(AI.interaction_range > 7) AI.interaction_range = INFINITY - playsound(src,'sound/machines/twobeep.ogg',50,FALSE) + playsound(src,'sound/machines/beep/twobeep.ogg',50,FALSE) to_chat(user, span_notice("You insert [src] into [AI]'s compartment, and it beeps as it processes the data.")) to_chat(AI, span_notice("You process [src], and find yourself able to manipulate electronics from up to [AI.interaction_range] meters!")) qdel(src) diff --git a/code/game/objects/items/devices/battle_royale.dm b/code/game/objects/items/devices/battle_royale.dm index 70ae0a8f85b2d..5a6fe059cb6c4 100644 --- a/code/game/objects/items/devices/battle_royale.dm +++ b/code/game/objects/items/devices/battle_royale.dm @@ -238,7 +238,7 @@ GLOBAL_DATUM_INIT(battle_royale_master, /datum/battle_royale_master, new) As a gesture of gratitude, we will be providing our premium broadcast to your entertainment monitors at no cost so that you can watch the excitement. \n\ Bystanders are advised not to intervene... but if you do, make it look good for the camera!", title = "Rumble Royale Beginning", - sound = 'sound/machines/alarm.ogg', + sound = 'sound/announcer/alarm/nuke_alarm.ogg', has_important_message = TRUE, sender_override = "Rumble Royale Pirate Broadcast Station", color_override = "red", @@ -268,7 +268,7 @@ GLOBAL_DATUM_INIT(battle_royale_master, /datum/battle_royale_master, new) priority_announce( text = message, title = "Rumble Royale Casualty Report", - sound = 'sound/misc/notice1.ogg', + sound = 'sound/announcer/notice/notice1.ogg', has_important_message = TRUE, sender_override = "Rumble Royale Pirate Broadcast Station", color_override = "red", @@ -302,7 +302,7 @@ GLOBAL_DATUM_INIT(battle_royale_master, /datum/battle_royale_master, new) priority_announce( text = message, title = "Rumble Royale Winner", - sound = 'sound/misc/notice1.ogg', + sound = 'sound/announcer/notice/notice1.ogg', has_important_message = TRUE, sender_override = "Rumble Royale Pirate Broadcast Station", color_override = "red", @@ -317,7 +317,7 @@ GLOBAL_DATUM_INIT(battle_royale_master, /datum/battle_royale_master, new) priority_announce( text = "We're halfway done folks! And bad news to anyone who hasn't made it to the [chosen_area]... you're out!", title = "Rumble Royale Update", - sound = 'sound/misc/notice1.ogg', + sound = 'sound/announcer/notice/notice1.ogg', has_important_message = TRUE, sender_override = "Rumble Royale Pirate Broadcast Station", color_override = "red", @@ -335,7 +335,7 @@ GLOBAL_DATUM_INIT(battle_royale_master, /datum/battle_royale_master, new) We're sorry to announce that this edition of Royal Rumble has no winner. \n\ Better luck next time!", title = "Rumble Royale Concluded", - sound = 'sound/misc/notice1.ogg', + sound = 'sound/announcer/notice/notice1.ogg', has_important_message = TRUE, sender_override = "Rumble Royale Pirate Broadcast Station", color_override = "red", diff --git a/code/game/objects/items/devices/broadcast_camera.dm b/code/game/objects/items/devices/broadcast_camera.dm index 4f6e3f1f8f475..78868844e48cb 100644 --- a/code/game/objects/items/devices/broadcast_camera.dm +++ b/code/game/objects/items/devices/broadcast_camera.dm @@ -20,6 +20,10 @@ light_range = 1 light_power = 0.3 light_on = FALSE + /// Is camera streaming + var/active = FALSE + /// Is the microphone turned on + var/active_microphone = TRUE /// The name of the broadcast var/broadcast_name = "Curator News" /// The networks it broadcasts to, default is CAMERANET_NETWORK_CURATOR @@ -29,16 +33,6 @@ /// The "virtual" radio inside of the the physical camera, a la microphone var/obj/item/radio/entertainment/microphone/internal_radio -/obj/item/broadcast_camera/Initialize(mapload) - . = ..() - AddComponent(/datum/component/two_handed, \ - force_unwielded = 8, \ - force_wielded = 12, \ - icon_wielded = "[base_icon_state]1", \ - wield_callback = CALLBACK(src, PROC_REF(on_wield)), \ - unwield_callback = CALLBACK(src, PROC_REF(on_unwield)), \ - ) - /obj/item/broadcast_camera/Destroy(force) QDEL_NULL(internal_radio) QDEL_NULL(internal_camera) @@ -49,6 +43,14 @@ icon_state = "[base_icon_state]0" return ..() +/obj/item/broadcast_camera/attack_self(mob/user, modifiers) + . = ..() + active = !active + if(active) + on_activating() + else + on_deactivating() + /obj/item/broadcast_camera/attack_self_secondary(mob/user, modifiers) . = ..() broadcast_name = tgui_input_text(user = user, title = "Broadcast Name", message = "What will be the name of your broadcast?", default = "[broadcast_name]", max_length = MAX_CHARTER_LEN) @@ -56,11 +58,24 @@ /obj/item/broadcast_camera/examine(mob/user) . = ..() . += span_notice("Broadcast name is [broadcast_name]") + . += span_notice("The microphone is [active_microphone ? "On" : "Off"]") -/// When wielding the camera -/obj/item/broadcast_camera/proc/on_wield() +/obj/item/broadcast_camera/on_enter_storage(datum/storage/master_storage) + . = ..() + if(active) + on_deactivating() + +/obj/item/broadcast_camera/dropped(mob/user, silent) + . = ..() + if(active) + on_deactivating() + +/// When activating the camera +/obj/item/broadcast_camera/proc/on_activating() if(!iscarbon(loc)) return + active = TRUE + icon_state = "[base_icon_state][active]" /// The carbon who wielded the camera, allegedly var/mob/living/carbon/wielding_carbon = loc @@ -73,18 +88,37 @@ // INTERNAL RADIO internal_radio = new(src) + /// Sets the state of the microphone + set_microphone_state() set_light_on(TRUE) - playsound(source = src, soundin = 'sound/machines/terminal_processing.ogg', vol = 20, vary = FALSE, ignore_walls = FALSE) + playsound(source = src, soundin = 'sound/machines/terminal/terminal_processing.ogg', vol = 20, vary = FALSE, ignore_walls = FALSE) balloon_alert_to_viewers("live!") -/// When unwielding the camera -/obj/item/broadcast_camera/proc/on_unwield() +/// When deactivating the camera +/obj/item/broadcast_camera/proc/on_deactivating() + active = FALSE + icon_state = "[base_icon_state][active]" QDEL_NULL(internal_camera) QDEL_NULL(internal_radio) stop_broadcasting_network(camera_networks) set_light_on(FALSE) - playsound(source = src, soundin = 'sound/machines/terminal_prompt_deny.ogg', vol = 20, vary = FALSE, ignore_walls = FALSE) + playsound(source = src, soundin = 'sound/machines/terminal/terminal_prompt_deny.ogg', vol = 20, vary = FALSE, ignore_walls = FALSE) balloon_alert_to_viewers("offline") + +/obj/item/broadcast_camera/click_alt(mob/user) + active_microphone = !active_microphone + + /// Text popup for letting the user know that the microphone has changed state + balloon_alert(user, "turned [active_microphone ? "on" : "off"] the microphone.") + + ///If the radio exists as an object, set its state accordingly + if(active) + set_microphone_state() + + return CLICK_ACTION_SUCCESS + +/obj/item/broadcast_camera/proc/set_microphone_state() + internal_radio.set_broadcasting(active_microphone) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 1920e47f97f66..fbdf3bae40a88 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -36,28 +36,39 @@ else to_chat(user, span_warning("You can't use [src] while inside something!")) -/obj/item/chameleon/interact_with_atom(atom/target, mob/living/user, list/modifiers) +/obj/item/chameleon/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!can_copy(interacting_with) || SHOULD_SKIP_INTERACTION(interacting_with, src, user)) + return NONE + make_copy(interacting_with, user) + return ITEM_INTERACT_SUCCESS + +/obj/item/chameleon/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) + if(!can_copy(interacting_with)) // RMB scan works on storage items, LMB scan does not + return NONE + make_copy(interacting_with, user) + return ITEM_INTERACT_SUCCESS + +/obj/item/chameleon/proc/can_copy(atom/target) if(!check_sprite(target)) - return ITEM_INTERACT_BLOCKING + return FALSE if(active_dummy)//I now present you the blackli(f)st - return ITEM_INTERACT_BLOCKING + return FALSE if(isturf(target)) - return ITEM_INTERACT_BLOCKING + return FALSE if(ismob(target)) - return ITEM_INTERACT_BLOCKING + return FALSE if(istype(target, /obj/structure/falsewall)) - return ITEM_INTERACT_BLOCKING + return FALSE if(target.alpha != 255) - return ITEM_INTERACT_BLOCKING + return FALSE if(target.invisibility != 0) - return ITEM_INTERACT_BLOCKING + return FALSE if(iseffect(target) && !istype(target, /obj/effect/decal)) //be a footprint - return ITEM_INTERACT_BLOCKING - make_copy(target, user) - return ITEM_INTERACT_SUCCESS + return FALSE + return TRUE /obj/item/chameleon/proc/make_copy(atom/target, mob/user) - playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, TRUE, -6) + playsound(get_turf(src), 'sound/items/weapons/flash.ogg', 100, TRUE, -6) to_chat(user, span_notice("Scanned [target].")) var/obj/temp = new /obj() temp.appearance = target.appearance diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 5814101463ba4..cd0b42e0e8ac4 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -44,7 +44,7 @@ if(!circuits) to_chat(R, span_warning("You need more material. Use [src] on existing simple circuits to break them down.")) return - playsound(R, 'sound/items/rped.ogg', 50, TRUE) + playsound(R, 'sound/items/tools/rped.ogg', 50, TRUE) recharging = TRUE circuits-- maptext = MAPTEXT(circuits) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 8db7652d5a07e..657d054f11cc8 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -29,9 +29,9 @@ /// Can we toggle this light on and off (used for contexual screentips only) var/toggle_context = TRUE /// The sound the light makes when it's turned on - var/sound_on = 'sound/weapons/magin.ogg' + var/sound_on = 'sound/items/weapons/magin.ogg' /// The sound the light makes when it's turned off - var/sound_off = 'sound/weapons/magout.ogg' + var/sound_off = 'sound/items/weapons/magout.ogg' /// Should the flashlight start turned on? var/start_on = FALSE @@ -41,8 +41,6 @@ set_light_on(TRUE) update_brightness() register_context() - if(toggle_context) - RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) var/static/list/slapcraft_recipe_list = list(/datum/crafting_recipe/flashlight_eyes) @@ -256,7 +254,7 @@ if(!scanning.get_bodypart(BODY_ZONE_HEAD)) to_chat(user, span_warning("[scanning] doesn't have a head!")) return - if(light_power < 1) + if(light_power < 0.5) to_chat(user, span_warning("[src] isn't bright enough to see anything!")) return @@ -286,12 +284,12 @@ setDir(user.dir) /// when hit by a light disruptor - turns the light off, forces the light to be disabled for a few seconds -/obj/item/flashlight/proc/on_saboteur(datum/source, disrupt_duration) - SIGNAL_HANDLER +/obj/item/flashlight/on_saboteur(datum/source, disrupt_duration) + . = ..() if(light_on) toggle_light() COOLDOWN_START(src, disabled_time, disrupt_duration) - return COMSIG_SABOTEUR_SUCCESS + return TRUE /obj/item/flashlight/pen name = "penlight" @@ -361,7 +359,7 @@ light_range = 5 // A little better than the standard flashlight. light_power = 0.8 light_color = "#99ccff" - hitsound = 'sound/weapons/genhit1.ogg' + hitsound = 'sound/items/weapons/genhit1.ogg' // the desk lamps are a bit special /obj/item/flashlight/lamp @@ -430,7 +428,7 @@ if(light_on) attack_verb_continuous = string_list(list("burns", "singes")) attack_verb_simple = string_list(list("burn", "singe")) - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' force = on_damage damtype = BURN update_brightness() @@ -457,7 +455,7 @@ name = "lit [initial(name)]" attack_verb_continuous = string_list(list("burns", "singes")) attack_verb_simple = string_list(list("burn", "singe")) - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' force = on_damage damtype = BURN diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index 5d40d40a4d925..e41c346c9930d 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -21,10 +21,10 @@ /// Checks to make sure the projector isn't busy with making another forcefield. var/force_proj_busy = FALSE -/obj/item/forcefield_projector/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/forcefield_projector/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + return ranged_interact_with_atom(interacting_with, user, modifiers) + +/obj/item/forcefield_projector/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!check_allowed_items(interacting_with, not_inside = TRUE)) return NONE if(istype(interacting_with, /obj/structure/projected_forcefield)) @@ -59,7 +59,7 @@ return ITEM_INTERACT_BLOCKING force_proj_busy = FALSE - playsound(src,'sound/weapons/resonator_fire.ogg',50,TRUE) + playsound(src,'sound/items/weapons/resonator_fire.ogg',50,TRUE) user.visible_message(span_warning("[user] projects a forcefield!"),span_notice("You project a forcefield.")) var/obj/structure/projected_forcefield/F = new(T, src) current_fields += F @@ -124,14 +124,14 @@ /obj/structure/projected_forcefield/Destroy() visible_message(span_warning("[src] flickers and disappears!")) - playsound(src,'sound/weapons/resonator_blast.ogg',25,TRUE) + playsound(src,'sound/items/weapons/resonator_blast.ogg',25,TRUE) if(generator) generator.current_fields -= src generator = null return ..() /obj/structure/projected_forcefield/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - playsound(loc, 'sound/weapons/egloves.ogg', 80, TRUE) + playsound(loc, 'sound/items/weapons/egloves.ogg', 80, TRUE) /obj/structure/projected_forcefield/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) if(sound_effect) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 1d5ef17a90c4a..25bae4306091f 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -67,13 +67,13 @@ update_appearance(UPDATE_ICON) balloon_alert(user, "switch [scanning ? "on" : "off"]") -/obj/item/geiger_counter/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/geiger_counter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - if (user.combat_mode) + if(SHOULD_SKIP_INTERACTION(interacting_with, src, user)) return NONE - if (!CAN_IRRADIATE(interacting_with)) + return ranged_interact_with_atom(interacting_with, user, modifiers) + +/obj/item/geiger_counter/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!CAN_IRRADIATE(interacting_with)) return NONE user.visible_message(span_notice("[user] scans [interacting_with] with [src]."), span_notice("You scan [interacting_with]'s radiation levels with [src]...")) diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 3fe16fdb3fd96..03e53a87db35e 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -99,7 +99,7 @@ var/obj/item/stock_parts/attack_diode = attack_item if(crystal_lens && attack_diode.rating < 3) //only tier 3 and up are small enough to fit to_chat(user, span_warning("You try to jam \the [attack_item.name] in place, but \the [crystal_lens.name] is in the way!")) - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 20) + playsound(src, 'sound/machines/airlock/airlock_alien_prying.ogg', 20) if(do_after(user, 2 SECONDS, src)) var/atom/atom_to_teleport = pick(user, attack_item) if(atom_to_teleport == user) @@ -113,7 +113,7 @@ return if(!user.transferItemToLoc(attack_item, src)) return - playsound(src, 'sound/items/screwdriver.ogg', 30) + playsound(src, 'sound/items/tools/screwdriver.ogg', 30) diode = attack_item balloon_alert(user, "installed \the [diode.name]") //we have a diode now, try starting a charge sequence in case the pointer was charging when we took out the diode @@ -129,7 +129,7 @@ var/obj/item/stack/ore/bluespace_crystal/crystal_stack = attack_item if(diode && diode.rating < 3) //only lasers of tier 3 and up can house a lens to_chat(user, span_warning("You try to jam \the [crystal_stack.name] in front of the diode, but it's a bad fit!")) - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 20) + playsound(src, 'sound/machines/airlock/airlock_alien_prying.ogg', 20) if(do_after(user, 2 SECONDS, src)) var/atom/atom_to_teleport = pick(user, src) if(atom_to_teleport == user) @@ -148,7 +148,7 @@ if(!user.transferItemToLoc(single_crystal, src)) return crystal_lens = single_crystal - playsound(src, 'sound/items/screwdriver2.ogg', 30) + playsound(src, 'sound/items/tools/screwdriver2.ogg', 30) balloon_alert(user, "installed \the [crystal_lens.name]") to_chat(user, span_notice("You install a [crystal_lens.name] in [src]. \ It can now be used to shine through obstacles at the cost of double the energy drain.")) @@ -183,12 +183,14 @@ and the wide margin between it and the focus lens could probably house a crystal of some sort." /obj/item/laser_pointer/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - -/obj/item/laser_pointer/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) laser_act(interacting_with, user, modifiers) return ITEM_INTERACT_BLOCKING +/obj/item/laser_pointer/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(HAS_TRAIT(interacting_with, TRAIT_COMBAT_MODE_SKIP_INTERACTION)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) + ///Handles shining the clicked atom, /obj/item/laser_pointer/proc/laser_act(atom/target, mob/living/user, list/modifiers) if(isnull(diode)) @@ -233,9 +235,12 @@ else if(user.zone_selected == BODY_ZONE_PRECISE_EYES) //Intensity of the laser dot to pass to flash_act var/severity = pick(0, 1, 2) + var/always_fail = FALSE + if(istype(target_humanoid.glasses, /obj/item/clothing/glasses/eyepatch) && prob(50)) + always_fail = TRUE //chance to actually hit the eyes depends on internal component - if(prob(effectchance * diode.rating) && target_humanoid.flash_act(severity)) + if(prob(effectchance * diode.rating) && !always_fail && target_humanoid.flash_act(severity)) outmsg = span_notice("You blind [target_humanoid] by shining [src] in [target_humanoid.p_their()] eyes.") log_combat(user, target_humanoid, "blinded with a laser pointer", src) else diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 13821a42de40f..e3c19dfde66f3 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -223,7 +223,7 @@ if(istype(target, /obj/machinery/light)) if(replace_light(target, user) && bluespace_toggle) user.Beam(target, icon_state = "rped_upgrade", time = 0.5 SECONDS) - playsound(src, 'sound/items/pshoom.ogg', 40, 1) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 40, 1) return TRUE // if we are attacking a floodlight frame finish it @@ -233,7 +233,7 @@ new /obj/machinery/power/floodlight(frame.loc) if(bluespace_toggle) user.Beam(target, icon_state = "rped_upgrade", time = 0.5 SECONDS) - playsound(src, 'sound/items/pshoom.ogg', 40, 1) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 40, 1) to_chat(user, span_notice("You finish \the [frame] with a light tube.")) qdel(frame) return TRUE @@ -246,7 +246,7 @@ light_replaced = TRUE if(light_replaced && bluespace_toggle) user.Beam(target, icon_state = "rped_upgrade", time = 0.5 SECONDS) - playsound(src, 'sound/items/pshoom.ogg', 40, 1) + playsound(src, 'sound/items/pshoom/pshoom.ogg', 40, 1) return TRUE return FALSE @@ -325,6 +325,12 @@ . = ..() ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT) +/obj/item/lightreplacer/cyborg/advanced + name = "high capacity light replacer" + desc = "A higher capacity light replacer. Refill with broken or working lightbulbs, or sheets of glass." + icon_state = "lightreplacer_high" + max_uses = 50 + /obj/item/lightreplacer/blue name = "bluespace light replacer" desc = "A modified light replacer that zaps lights into place. Refill with broken or working lightbulbs, or sheets of glass." diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 03ed7f927b0f7..b9d8539562809 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -24,17 +24,22 @@ throwforce = 0 throw_range = 7 throw_speed = 3 - drop_sound = 'sound/items/handling/multitool_drop.ogg' - pickup_sound = 'sound/items/handling/multitool_pickup.ogg' + drop_sound = 'sound/items/handling/tools/multitool_drop.ogg' + pickup_sound = 'sound/items/handling/tools/multitool_pickup.ogg' custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT * 0.5, /datum/material/glass= SMALL_MATERIAL_AMOUNT * 0.2) custom_premium_price = PAYCHECK_COMMAND * 3 toolspeed = 1 - usesound = 'sound/weapons/empty.ogg' + usesound = 'sound/items/weapons/empty.ogg' var/datum/buffer // simple machine buffer for device linkage var/mode = 0 var/apc_scanner = TRUE COOLDOWN_DECLARE(next_apc_scan) +/obj/item/multitool/Destroy() + if(buffer) + remove_buffer(buffer) + return ..() + /obj/item/multitool/examine(mob/user) . = ..() . += span_notice("Its buffer [buffer ? "contains [buffer]." : "is empty."]") @@ -70,9 +75,10 @@ /obj/item/multitool/proc/set_buffer(datum/buffer) if(src.buffer) UnregisterSignal(src.buffer, COMSIG_QDELETING) + remove_buffer(src.buffer) src.buffer = buffer if(!QDELETED(buffer)) - RegisterSignal(buffer, COMSIG_QDELETING, PROC_REF(on_buffer_del)) + RegisterSignal(buffer, COMSIG_QDELETING, PROC_REF(remove_buffer)) /** * Called when the buffer's stored object is deleted @@ -80,8 +86,9 @@ * This proc does not clear the buffer of the multitool, it is here to * handle the deletion of the object the buffer references */ -/obj/item/multitool/proc/on_buffer_del(datum/source) +/obj/item/multitool/proc/remove_buffer(datum/source) SIGNAL_HANDLER + SEND_SIGNAL(src, COMSIG_MULTITOOL_REMOVE_BUFFER, source) buffer = null // Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby. diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm index 18bb026745ac0..17f324d109f99 100644 --- a/code/game/objects/items/devices/pressureplates.dm +++ b/code/game/objects/items/devices/pressureplates.dm @@ -7,7 +7,8 @@ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' icon_state = "pressureplate" - layer = LOW_OBJ_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/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 5673afc678a41..6ce325034e3ac 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -462,9 +462,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( grant_headset_languages(mob_loc) /obj/item/radio/headset/click_alt(mob/living/user) - if(!istype(user) || !Adjacent(user) || user.incapacitated) - return CLICK_ACTION_BLOCKING - if (!command) + if(!istype(user) || !command) return CLICK_ACTION_BLOCKING use_command = !use_command to_chat(user, span_notice("You toggle high-volume mode [use_command ? "on" : "off"].")) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 7a9a85cc66675..cd8535e8d2823 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -154,7 +154,7 @@ // A fully locked one will do nothing, as locked is intended to be used for stuff that should never be changed if(RADIO_FREQENCY_LOCKED) balloon_alert(user, "can't override frequency lock!") - playsound(src, 'sound/machines/buzz-two.ogg', 50, FALSE, SILENCED_SOUND_EXTRARANGE) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 50, FALSE, SILENCED_SOUND_EXTRARANGE) return // Emagging an unlocked one will do nothing, for now diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 2b7a9bad7602a..93a131a9b468b 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -121,19 +121,17 @@ return AddElement(/datum/element/slapcrafting, string_list(list(/datum/crafting_recipe/improv_explosive))) - RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) - /obj/item/radio/Destroy() remove_radio_all(src) //Just to be sure if(istype(keyslot)) QDEL_NULL(keyslot) return ..() -/obj/item/radio/proc/on_saboteur(datum/source, disrupt_duration) - SIGNAL_HANDLER +/obj/item/radio/on_saboteur(datum/source, disrupt_duration) + . = ..() if(broadcasting) //no broadcasting but it can still be used to send radio messages. set_broadcasting(FALSE) - return COMSIG_SABOTEUR_SUCCESS + return TRUE /obj/item/radio/proc/set_frequency(new_frequency) SEND_SIGNAL(src, COMSIG_RADIO_NEW_FREQUENCY, args) @@ -354,7 +352,7 @@ if(isliving(talking_movable)) var/mob/living/talking_living = talking_movable if(radio_noise && !HAS_TRAIT(talking_living, TRAIT_DEAF) && talking_living.client?.prefs.read_preference(/datum/preference/toggle/radio_noise)) - SEND_SOUND(talking_living, 'sound/misc/radio_talk.ogg') + SEND_SOUND(talking_living, 'sound/items/radio/radio_talk.ogg') // All radios make an attempt to use the subspace system first signal.send_to_receivers() @@ -437,10 +435,10 @@ var/list/spans = data["spans"] if(COOLDOWN_FINISHED(src, audio_cooldown)) COOLDOWN_START(src, audio_cooldown, 0.5 SECONDS) - SEND_SOUND(holder, 'sound/misc/radio_receive.ogg') + SEND_SOUND(holder, 'sound/items/radio/radio_receive.ogg') if((SPAN_COMMAND in spans) && COOLDOWN_FINISHED(src, important_audio_cooldown)) COOLDOWN_START(src, important_audio_cooldown, 0.5 SECONDS) - SEND_SOUND(holder, 'sound/misc/radio_important.ogg') + SEND_SOUND(holder, 'sound/items/radio/radio_important.ogg') /obj/item/radio/ui_state(mob/user) return GLOB.inventory_state diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index e88b1a51187a3..342383380cf76 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -112,7 +112,7 @@ source = src, header = "Reverse bear trap armed", notify_flags = NOTIFY_CATEGORY_NOFLASH, - ghost_sound = 'sound/machines/beep.ogg', + ghost_sound = 'sound/machines/beep/beep.ogg', notify_volume = 75, ) diff --git a/code/game/objects/items/devices/scanners/autopsy_scanner.dm b/code/game/objects/items/devices/scanners/autopsy_scanner.dm index c5d33b7422656..a054b3c69d2ce 100644 --- a/code/game/objects/items/devices/scanners/autopsy_scanner.dm +++ b/code/game/objects/items/devices/scanners/autopsy_scanner.dm @@ -95,7 +95,7 @@ var/blood_type = scanned.dna.blood_type if(blood_id != /datum/reagent/blood) var/datum/reagent/reagents = GLOB.chemical_reagents_list[blood_id] - blood_type = reagents ? reagents.name : blood_id + blood_type = reagents?.name || blood_id autopsy_information += "Blood Type: [blood_type]
" autopsy_information += "Blood Volume: [scanned.blood_volume] cl ([blood_percent]%)
" @@ -108,10 +108,11 @@ for(var/datum/symptom/symptom as anything in advanced_disease.symptoms) autopsy_information += "[symptom.name] - [symptom.desc]
" - var/obj/item/paper/autopsy_report = new(user.loc) - autopsy_report.name = "Autopsy Report ([scanned.name])" + var/obj/item/paper/autopsy_report = new(user.drop_location()) + autopsy_report.name = "autopsy report of [scanned] - [station_time_timestamp()])" autopsy_report.add_raw_text(autopsy_information.Join("\n")) - autopsy_report.update_appearance(UPDATE_ICON) + autopsy_report.color = "#99ccff" + autopsy_report.update_appearance() user.put_in_hands(autopsy_report) user.balloon_alert(user, "report printed") return TRUE diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 26df57683aa26..270c070d6dc5e 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -30,6 +30,8 @@ custom_price = PAYCHECK_COMMAND /// If this analyzer will give a bonus to wound treatments apon woundscan. var/give_wound_treatment_bonus = FALSE + var/last_scan_text + var/scanner_busy = FALSE /obj/item/healthanalyzer/Initialize(mapload) . = ..() @@ -38,7 +40,7 @@ /obj/item/healthanalyzer/examine(mob/user) . = ..() if(src.mode != SCANNER_NO_MODE) - . += span_notice("Alt-click [src] to toggle the limb damage readout.") + . += span_notice("Alt-click [src] to toggle the limb damage readout. Ctrl-shift-click to print readout report.") /obj/item/healthanalyzer/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins to analyze [user.p_them()]self with [src]! The display shows that [user.p_theyre()] dead!")) @@ -58,8 +60,6 @@ /obj/item/healthanalyzer/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!isliving(interacting_with)) return NONE - if(!user.can_read(src) || user.is_blind()) - return ITEM_INTERACT_BLOCKING var/mob/living/M = interacting_with @@ -69,37 +69,45 @@ // Clumsiness/brain damage check if ((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_DUMB)) && prob(50)) - user.visible_message(span_warning("[user] analyzes the floor's vitals!"), \ - span_notice("You stupidly try to analyze the floor's vitals!")) - to_chat(user, "[span_info("Analyzing results for The floor:\n\tOverall status: Healthy")]\ - \n[span_info("Key: Suffocation/Toxin/Burn/Brute")]\ - \n[span_info("\tDamage specifics: 0-0-0-0")]\ - \n[span_info("Body temperature: ???")]") + var/turf/scan_turf = get_turf(user) + user.visible_message( + span_warning("[user] analyzes [scan_turf]'s vitals!"), + span_notice("You stupidly try to analyze [scan_turf]'s vitals!"), + ) + + var/floor_text = "Analyzing results for [scan_turf] ([station_time_timestamp()]):
" + floor_text += "Overall status: Unknown
" + floor_text += "Subject lacks a brain.
" + floor_text += "Body temperature: [scan_turf?.return_air()?.return_temperature() || "???"]
" + + if(user.can_read(src) && !user.is_blind()) + to_chat(user, examine_block(floor_text)) + last_scan_text = floor_text return if(ispodperson(M) && !advanced) - to_chat(user, "[M]'s biological structure is too complex for the health analyzer.") + to_chat(user, span_info("[M]'s biological structure is too complex for the health analyzer.")) return user.visible_message(span_notice("[user] analyzes [M]'s vitals.")) balloon_alert(user, "analyzing vitals") playsound(user.loc, 'sound/items/healthanalyzer.ogg', 50) + var/readability_check = user.can_read(src) && !user.is_blind() switch (scanmode) if (SCANMODE_HEALTH) - healthscan(user, M, mode, advanced) + last_scan_text = healthscan(user, M, mode, advanced, tochat = readability_check) if (SCANMODE_WOUND) - woundscan(user, M, src) + if(readability_check) + woundscan(user, M, src) add_fingerprint(user) /obj/item/healthanalyzer/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) if(!isliving(interacting_with)) return NONE - if(!user.can_read(src) || user.is_blind()) - return ITEM_INTERACT_BLOCKING - - chemscan(user, interacting_with) + if(user.can_read(src) && !user.is_blind()) + chemscan(user, interacting_with) return ITEM_INTERACT_SUCCESS /obj/item/healthanalyzer/add_item_context( @@ -136,277 +144,305 @@ return // the final list of strings to render - var/render_list = list() + var/list/render_list = list() // Damage specifics var/oxy_loss = target.getOxyLoss() var/tox_loss = target.getToxLoss() var/fire_loss = target.getFireLoss() var/brute_loss = target.getBruteLoss() - var/mob_status = (target.stat == DEAD ? span_alert("Deceased") : "[round(target.health/target.maxHealth,0.01)*100]% healthy") + var/mob_status = (!target.appears_alive() ? span_alert("Deceased") : "[round(target.health / target.maxHealth, 0.01) * 100]% healthy") - if(HAS_TRAIT(target, TRAIT_FAKEDEATH) && !advanced) - mob_status = span_alert("Deceased") - oxy_loss = max(rand(1, 40), oxy_loss, (300 - (tox_loss + fire_loss + brute_loss))) // Random oxygen loss + if(HAS_TRAIT(target, TRAIT_FAKEDEATH) && target.stat != DEAD) + // if we don't appear to actually be in a "dead state", add fake oxyloss + if(oxy_loss + tox_loss + fire_loss + brute_loss < 200) + oxy_loss += 200 - (oxy_loss + tox_loss + fire_loss + brute_loss) + oxy_loss = clamp(oxy_loss, 0, 200) - render_list += "[span_info("Analyzing results for [target]:")]\nOverall status: [mob_status]\n" + render_list += "[span_info("Analyzing results for [target] ([station_time_timestamp()]):")]
Overall status: [mob_status]
" - if(ishuman(target)) - var/mob/living/carbon/human/humantarget = target - if(humantarget.undergoing_cardiac_arrest() && humantarget.stat != DEAD) - render_list += "Subject suffering from heart attack: Apply defibrillation or other electric shock immediately!\n" - if(humantarget.has_reagent(/datum/reagent/inverse/technetium)) - advanced = TRUE + if(!advanced && target.has_reagent(/datum/reagent/inverse/technetium)) + advanced = TRUE - SEND_SIGNAL(target, COMSIG_LIVING_HEALTHSCAN, render_list, advanced, user, mode) + SEND_SIGNAL(target, COMSIG_LIVING_HEALTHSCAN, render_list, advanced, user, mode, tochat) // Husk detection if(HAS_TRAIT(target, TRAIT_HUSK)) if(advanced) if(HAS_TRAIT_FROM(target, TRAIT_HUSK, BURN)) - render_list += "Subject has been husked by severe burns.\n" + render_list += "Subject has been husked by [conditional_tooltip("severe burns", "Tend burns and apply a de-husking agent, such as [/datum/reagent/medicine/c2/synthflesh::name].", tochat)].
" else if (HAS_TRAIT_FROM(target, TRAIT_HUSK, CHANGELING_DRAIN)) - render_list += "Subject has been husked by dessication.\n" + render_list += "Subject has been husked by [conditional_tooltip("desiccation", "Irreparable. Under normal circumstances, revival can only proceed via brain transplant.", tochat)].
" else - render_list += "Subject has been husked by mysterious causes.\n" + render_list += "Subject has been husked by mysterious causes.
" else - render_list += "Subject has been husked.\n" + render_list += "Subject has been husked.
" if(target.getStaminaLoss()) if(advanced) - render_list += "Fatigue level: [target.getStaminaLoss()]%.\n" + render_list += "Fatigue level: [target.getStaminaLoss()]%.
" else - render_list += "Subject appears to be suffering from fatigue.\n" + render_list += "Subject appears to be suffering from fatigue.
" if (!target.get_organ_slot(ORGAN_SLOT_BRAIN)) // kept exclusively for soul purposes - render_list += "Subject lacks a brain.\n" + render_list += "Subject lacks a brain.
" if(iscarbon(target)) var/mob/living/carbon/carbontarget = target - if(LAZYLEN(carbontarget.get_traumas())) - var/list/trauma_text = list() - for(var/datum/brain_trauma/trauma in carbontarget.get_traumas()) - var/trauma_desc = "" - switch(trauma.resilience) - if(TRAUMA_RESILIENCE_SURGERY) - trauma_desc += "severe " - if(TRAUMA_RESILIENCE_LOBOTOMY) - trauma_desc += "deep-rooted " - if(TRAUMA_RESILIENCE_WOUND) - trauma_desc += "fracture-derived " - if(TRAUMA_RESILIENCE_MAGIC, TRAUMA_RESILIENCE_ABSOLUTE) - trauma_desc += "permanent " - trauma_desc += trauma.scan_desc - trauma_text += trauma_desc - render_list += "Cerebral traumas detected: subject appears to be suffering from [english_list(trauma_text)].\n" - if(carbontarget.quirks.len) - render_list += "Subject Major Disabilities: [carbontarget.get_quirk_string(FALSE, CAT_QUIRK_MAJOR_DISABILITY, from_scan = TRUE)].\n" + if(LAZYLEN(carbontarget.quirks)) + render_list += "Subject Major Disabilities: [carbontarget.get_quirk_string(FALSE, CAT_QUIRK_MAJOR_DISABILITY, from_scan = TRUE)].
" if(advanced) - render_list += "Subject Minor Disabilities: [carbontarget.get_quirk_string(FALSE, CAT_QUIRK_MINOR_DISABILITY, TRUE)].\n" - - if (HAS_TRAIT(target, TRAIT_IRRADIATED)) - render_list += "Subject is irradiated. Supply toxin healing.\n" - - //Eyes and ears - if(advanced && iscarbon(target)) - var/mob/living/carbon/carbontarget = target - - // Ear status - var/obj/item/organ/internal/ears/ears = carbontarget.get_organ_slot(ORGAN_SLOT_EARS) - if(istype(ears)) - if(HAS_TRAIT_FROM(carbontarget, TRAIT_DEAF, GENETIC_MUTATION)) - render_list += "Subject is genetically deaf.\n" - else if(HAS_TRAIT_FROM(carbontarget, TRAIT_DEAF, EAR_DAMAGE)) - render_list += "Subject is deaf from ear damage.\n" - else if(HAS_TRAIT(carbontarget, TRAIT_DEAF)) - render_list += "Subject is deaf.\n" - else - if(ears.damage) - render_list += "Subject has [ears.damage > ears.maxHealth ? "permanent ": "temporary "]hearing damage.\n" - if(ears.deaf) - render_list += "Subject is [ears.damage > ears.maxHealth ? "permanently": "temporarily"] deaf.\n" - - // Eye status - var/obj/item/organ/internal/eyes/eyes = carbontarget.get_organ_slot(ORGAN_SLOT_EYES) - if(istype(eyes)) - if(carbontarget.is_blind()) - render_list += "Subject is blind.\n" - else if(carbontarget.is_nearsighted()) - render_list += "Subject is nearsighted.\n" + render_list += "Subject Minor Disabilities: [carbontarget.get_quirk_string(FALSE, CAT_QUIRK_MINOR_DISABILITY, TRUE)].
" // Body part damage report if(iscarbon(target)) var/mob/living/carbon/carbontarget = target - var/list/damaged = carbontarget.get_damaged_bodyparts(1,1) - if(length(damaged)>0 || oxy_loss>0 || tox_loss>0 || fire_loss>0) - var/dmgreport = "General status:\ - \ + var/any_damage = brute_loss > 0 || fire_loss > 0 || oxy_loss > 0 || tox_loss > 0 || fire_loss > 0 + var/any_missing = length(carbontarget.bodyparts) < (carbontarget.dna?.species?.max_bodypart_count || 6) + var/any_wounded = length(carbontarget.all_wounds) + var/any_embeds = carbontarget.has_embedded_objects() + if(any_damage || (mode == SCANNER_VERBOSE && (any_missing || any_wounded || any_embeds))) + render_list += "
" + var/dmgreport = "Body status:\ + \ +
\ + \ \ \ \ \ - \ - \ - \ - \ - \ - " + \ + \ + \ + \ + \ + \ + \ + \ + " if(mode == SCANNER_VERBOSE) - for(var/obj/item/bodypart/limb as anything in damaged) - if(limb.bodytype & BODYTYPE_ROBOTIC) - dmgreport += "" - else - dmgreport += "" - dmgreport += "" - dmgreport += "" - dmgreport += "
Damage:BruteBurnToxinSuffocation
Overall:[CEILING(brute_loss,1)][CEILING(fire_loss,1)][CEILING(tox_loss,1)][CEILING(oxy_loss,1)]
Suffocation
Overall:[ceil(brute_loss)][ceil(fire_loss)][ceil(tox_loss)][ceil(oxy_loss)]
[capitalize(limb.name)]:
[capitalize(limb.plaintext_zone)]:[(limb.brute_dam > 0) ? "[CEILING(limb.brute_dam,1)]" : "0"][(limb.burn_dam > 0) ? "[CEILING(limb.burn_dam,1)]" : "0"]
" + // Follow same body zone list every time so it's consistent across all humans + for(var/zone in GLOB.all_body_zones) + var/obj/item/bodypart/limb = carbontarget.get_bodypart(zone) + if(isnull(limb)) + dmgreport += "" + dmgreport += "[capitalize(parse_zone(zone))]:" + dmgreport += "-" + dmgreport += "-" + dmgreport += "" + dmgreport += "↳ Physical trauma: [conditional_tooltip("Dismembered", "Reattach or replace surgically.", tochat)]" + continue + var/has_any_embeds = length(limb.embedded_objects) >= 1 + var/has_any_wounds = length(limb.wounds) >= 1 + var/is_damaged = limb.burn_dam > 0 || limb.brute_dam > 0 + if(!is_damaged && (zone != BODY_ZONE_CHEST || (tox_loss <= 0 && oxy_loss <= 0)) && !has_any_embeds && !has_any_wounds) + continue + dmgreport += "" + dmgreport += "[capitalize((limb.bodytype & BODYTYPE_ROBOTIC) ? limb.name : limb.plaintext_zone)]:" + dmgreport += "[limb.brute_dam > 0 ? ceil(limb.brute_dam) : "0"]" + dmgreport += "[limb.burn_dam > 0 ? ceil(limb.burn_dam) : "0"]" + if(zone == BODY_ZONE_CHEST) // tox/oxy is stored in the chest + dmgreport += "[tox_loss > 0 ? ceil(tox_loss) : "0"]" + dmgreport += "[oxy_loss > 0 ? ceil(oxy_loss) : "0"]" + dmgreport += "" + if(has_any_embeds) + var/list/embedded_names = list() + for(var/obj/item/embed as anything in limb.embedded_objects) + embedded_names[capitalize(embed.name)] += 1 + for(var/embedded_name in embedded_names) + var/displayed = embedded_name + var/embedded_amt = embedded_names[embedded_name] + if(embedded_amt > 1) + displayed = "[embedded_amt]x [embedded_name]" + dmgreport += "↳ Foreign object(s): [conditional_tooltip(displayed, "Use a hemostat to remove.", tochat)]" + if(has_any_wounds) + for(var/datum/wound/wound as anything in limb.wounds) + dmgreport += "↳ Physical trauma: [conditional_tooltip("[wound.name] ([wound.severity_text()])", wound.treat_text_short, tochat)]" + + dmgreport += "" render_list += dmgreport // tables do not need extra linebreak - for(var/obj/item/bodypart/limb as anything in carbontarget.bodyparts) - for(var/obj/item/embed as anything in limb.embedded_objects) - render_list += "Embedded object: [embed] located in \the [limb.plaintext_zone]\n" if(ishuman(target)) var/mob/living/carbon/human/humantarget = target // Organ damage, missing organs - if(humantarget.organs && humantarget.organs.len) - var/render = FALSE - var/toReport = "Organs:\ - \ - \ - [advanced ? "" : ""]\ - " - - for(var/obj/item/organ/organ as anything in humantarget.organs) - var/status = organ.get_status_text(advanced) - if (status != "") + var/render = FALSE + var/toReport = "Organ status:\ + \ +
Organ:DmgStatus
\ + \ + \ + [advanced ? "" : ""]\ + \ + " + + var/list/missing_organs = list() + if(!humantarget.get_organ_slot(ORGAN_SLOT_BRAIN)) + missing_organs[ORGAN_SLOT_BRAIN] = "Brain" + if(!humantarget.needs_heart() && !humantarget.get_organ_slot(ORGAN_SLOT_HEART)) + missing_organs[ORGAN_SLOT_HEART] = "Heart" + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOBREATH, SPECIES_TRAIT) && !isnull(humantarget.dna.species.mutantlungs) && !humantarget.get_organ_slot(ORGAN_SLOT_LUNGS)) + missing_organs[ORGAN_SLOT_LUNGS] = "Lungs" + if(!HAS_TRAIT_FROM(humantarget, TRAIT_LIVERLESS_METABOLISM, SPECIES_TRAIT) && !isnull(humantarget.dna.species.mutantliver) && !humantarget.get_organ_slot(ORGAN_SLOT_LIVER)) + missing_organs[ORGAN_SLOT_LIVER] = "Liver" + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOHUNGER, SPECIES_TRAIT) && !isnull(humantarget.dna.species.mutantstomach) && !humantarget.get_organ_slot(ORGAN_SLOT_STOMACH)) + missing_organs[ORGAN_SLOT_STOMACH] ="Stomach" + if(!isnull(humantarget.dna.species.mutanttongue) && !humantarget.get_organ_slot(ORGAN_SLOT_TONGUE)) + missing_organs[ORGAN_SLOT_TONGUE] = "Tongue" + if(!isnull(humantarget.dna.species.mutantears) && !humantarget.get_organ_slot(ORGAN_SLOT_EARS)) + missing_organs[ORGAN_SLOT_EARS] = "Ears" + if(!isnull(humantarget.dna.species.mutantears) && !humantarget.get_organ_slot(ORGAN_SLOT_EYES)) + missing_organs[ORGAN_SLOT_EYES] = "Eyes" + + // Follow same order as in the organ_process_order so it's consistent across all humans + for(var/sorted_slot in GLOB.organ_process_order) + var/obj/item/organ/organ = humantarget.get_organ_slot(sorted_slot) + if(isnull(organ)) + if(missing_organs[sorted_slot]) render = TRUE - toReport += "\ - [advanced ? "" : ""]\ - " - - var/missing_organs = list() - if(!humantarget.get_organ_slot(ORGAN_SLOT_BRAIN)) - missing_organs += "brain" - if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOBLOOD, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_HEART)) - missing_organs += "heart" - if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOBREATH, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_LUNGS)) - missing_organs += "lungs" - if(!HAS_TRAIT_FROM(humantarget, TRAIT_LIVERLESS_METABOLISM, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_LIVER)) - missing_organs += "liver" - if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOHUNGER, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_STOMACH)) - missing_organs += "stomach" - if(!humantarget.get_organ_slot(ORGAN_SLOT_TONGUE)) - missing_organs += "tongue" - if(!humantarget.get_organ_slot(ORGAN_SLOT_EARS)) - missing_organs += "ears" - if(!humantarget.get_organ_slot(ORGAN_SLOT_EYES)) - missing_organs += "eyes" - - if(length(missing_organs)) + toReport += "\ + [advanced ? "" : ""]\ + " + continue + if(mode != SCANNER_VERBOSE && !organ.show_on_condensed_scans()) + continue + var/status = organ.get_status_text(advanced, tochat) + var/appendix = organ.get_status_appendix(advanced, tochat) + if(status || appendix) + status ||= "OK" // otherwise flawless organs have no status reported by default render = TRUE - for(var/organ in missing_organs) - toReport += "\ - [advanced ? "" : ""]\ - " + toReport += "\ + \ + [advanced ? "" : ""]\ + \ + " + if(appendix) + toReport += "" + + if(render) + render_list += "
" + render_list += toReport + "
Organ:DmgStatus
[organ.name]:[CEILING(organ.damage,1)][status]
[missing_organs[sorted_slot]]:-Missing
[organ]:["-"]["Missing"]
[capitalize(organ.name)]:[organ.damage > 0 ? ceil(organ.damage) : "0"][status]
↳ [appendix]
" // tables do not need extra linebreak + + // Cybernetics + var/list/cyberimps + for(var/obj/item/organ/internal/cyberimp/cyberimp in humantarget.organs) + if(IS_ROBOTIC_ORGAN(cyberimp) && !(cyberimp.organ_flags & ORGAN_HIDDEN)) + LAZYADD(cyberimps, cyberimp.examine_title(user)) + if(LAZYLEN(cyberimps)) + if(!render) + render_list += "
" + render_list += "Detected cybernetic modifications:
" + render_list += "[english_list(cyberimps, and_text = ", and ")]
" - if(render) - render_list += toReport + "" // tables do not need extra linebreak + render_list += "
" //Genetic stability - if(advanced && humantarget.has_dna()) - render_list += "Genetic Stability: [humantarget.dna.stability]%.\n" + if(advanced && humantarget.has_dna() && humantarget.dna.stability != initial(humantarget.dna.stability)) + render_list += "Genetic Stability: [humantarget.dna.stability]%.
" // Hulk and body temperature var/datum/species/targetspecies = humantarget.dna.species var/mutant = HAS_TRAIT(humantarget, TRAIT_HULK) - render_list += "Species: [targetspecies.name][mutant ? "-derived mutant" : ""]\n" + render_list += "Species: [targetspecies.name][mutant ? "-derived mutant" : ""]
" var/core_temperature_message = "Core temperature: [round(humantarget.coretemperature-T0C, 0.1)] °C ([round(humantarget.coretemperature*1.8-459.67,0.1)] °F)" if(humantarget.coretemperature >= humantarget.get_body_temp_heat_damage_limit()) - render_list += "☼ [core_temperature_message] ☼\n" + render_list += "☼ [core_temperature_message] ☼
" else if(humantarget.coretemperature <= humantarget.get_body_temp_cold_damage_limit()) - render_list += "❄ [core_temperature_message] ❄\n" + render_list += "❄ [core_temperature_message] ❄
" else - render_list += "[core_temperature_message]\n" + render_list += "[core_temperature_message]
" var/body_temperature_message = "Body temperature: [round(target.bodytemperature-T0C, 0.1)] °C ([round(target.bodytemperature*1.8-459.67,0.1)] °F)" if(target.bodytemperature >= target.get_body_temp_heat_damage_limit()) - render_list += "☼ [body_temperature_message] ☼\n" + render_list += "☼ [body_temperature_message] ☼
" else if(target.bodytemperature <= target.get_body_temp_cold_damage_limit()) - render_list += "❄ [body_temperature_message] ❄\n" + render_list += "❄ [body_temperature_message] ❄
" else - render_list += "[body_temperature_message]\n" - - // Time of death - if(target.station_timestamp_timeofdeath && (target.stat == DEAD || ((HAS_TRAIT(target, TRAIT_FAKEDEATH)) && !advanced))) - render_list += "Time of Death: [target.station_timestamp_timeofdeath]\n" - var/tdelta = round(world.time - target.timeofdeath) - render_list += "Subject died [DisplayTimeText(tdelta)] ago.\n" - - // Wounds - if(iscarbon(target)) - var/mob/living/carbon/carbontarget = target - var/list/wounded_parts = carbontarget.get_wounded_bodyparts() - for(var/i in wounded_parts) - var/obj/item/bodypart/wounded_part = i - render_list += "Physical trauma[LAZYLEN(wounded_part.wounds) > 1 ? "s" : ""] detected in [wounded_part.name]" - for(var/k in wounded_part.wounds) - var/datum/wound/W = k - render_list += "
[W.name] ([W.severity_text()])\nRecommended treatment: [W.treat_text]
" // less lines than in woundscan() so we don't overload people trying to get basic med info - render_list += "
" - - //Diseases - for(var/datum/disease/disease as anything in target.diseases) - if(!(disease.visibility_flags & HIDDEN_SCANNER)) - render_list += "Warning: [disease.form] detected\n\ -
Name: [disease.name].\nType: [disease.spread_text].\nStage: [disease.stage]/[disease.max_stages].\nPossible Cure: [disease.cure_text]
\ -
" // divs do not need extra linebreak + render_list += "[body_temperature_message]
" // Blood Level - if(target.has_dna()) - var/mob/living/carbon/carbontarget = target - var/blood_id = carbontarget.get_blood_id() - if(blood_id) - if(carbontarget.is_bleeding()) - render_list += "Subject is bleeding!\n" - var/blood_percent = round((carbontarget.blood_volume / BLOOD_VOLUME_NORMAL) * 100) - var/blood_type = carbontarget.dna.blood_type - if(blood_id != /datum/reagent/blood) // special blood substance - var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id] - blood_type = R ? R.name : blood_id - if(carbontarget.blood_volume <= BLOOD_VOLUME_SAFE && carbontarget.blood_volume > BLOOD_VOLUME_OKAY) - render_list += "Blood level: LOW [blood_percent]%, [carbontarget.blood_volume] cl, [span_info("type: [blood_type]")]\n" - else if(carbontarget.blood_volume <= BLOOD_VOLUME_OKAY) - render_list += "Blood level: CRITICAL [blood_percent]%, [carbontarget.blood_volume] cl, [span_info("type: [blood_type]")]\n" - else - render_list += "Blood level: [blood_percent]%, [carbontarget.blood_volume] cl, type: [blood_type]\n" + var/mob/living/carbon/carbontarget = target + var/blood_id = carbontarget.get_blood_id() + if(blood_id) + var/blood_percent = round((carbontarget.blood_volume / BLOOD_VOLUME_NORMAL) * 100) + var/blood_type = carbontarget.dna.blood_type + if(blood_id != /datum/reagent/blood) // special blood substance + var/datum/reagent/real_reagent = GLOB.chemical_reagents_list[blood_id] + blood_type = real_reagent?.name || blood_id + if(carbontarget.blood_volume <= BLOOD_VOLUME_SAFE && carbontarget.blood_volume > BLOOD_VOLUME_OKAY) + render_list += "Blood level: LOW [blood_percent]%, [carbontarget.blood_volume] cl, [span_info("type: [blood_type]")]
" + else if(carbontarget.blood_volume <= BLOOD_VOLUME_OKAY) + render_list += "Blood level: CRITICAL [blood_percent]%, [carbontarget.blood_volume] cl, [span_info("type: [blood_type]")]
" + else + render_list += "Blood level: [blood_percent]%, [carbontarget.blood_volume] cl, type: [blood_type]
" - // Blood Alcohol Content var/blood_alcohol_content = target.get_blood_alcohol_content() if(blood_alcohol_content > 0) if(blood_alcohol_content >= 0.24) - render_list += "Blood alcohol content: CRITICAL [blood_alcohol_content]%\n" + render_list += "Blood alcohol content: CRITICAL [blood_alcohol_content]%
" else - render_list += "Blood alcohol content: [blood_alcohol_content]%\n" + render_list += "Blood alcohol content: [blood_alcohol_content]%
" - // Cybernetics - if(iscarbon(target)) - var/mob/living/carbon/carbontarget = target - var/cyberimp_detect - for(var/obj/item/organ/internal/cyberimp/cyberimp in carbontarget.organs) - if(IS_ROBOTIC_ORGAN(cyberimp) && !(cyberimp.organ_flags & ORGAN_HIDDEN)) - cyberimp_detect += "[!cyberimp_detect ? "[cyberimp.get_examine_string(user)]" : ", [cyberimp.get_examine_string(user)]"]" - if(cyberimp_detect) - render_list += "Detected cybernetic modifications:\n" - render_list += "[cyberimp_detect]\n" - // we handled the last
so we don't need handholding + //Diseases + var/disease_hr = FALSE + for(var/datum/disease/disease as anything in target.diseases) + if(disease.visibility_flags & HIDDEN_SCANNER) + continue + if(!disease_hr) + render_list += "
" + disease_hr = TRUE + render_list += "\ + Warning: [disease.form] detected
\ +
\ + Name: [disease.name].
\ + Type: [disease.spread_text].
\ + Stage: [disease.stage]/[disease.max_stages].
\ + Possible Cure: [disease.cure_text]
\ +
" + + // Time of death + if(target.station_timestamp_timeofdeath && !target.appears_alive()) + render_list += "
" + render_list += "Time of Death: [target.station_timestamp_timeofdeath]
" + render_list += "Subject died [DisplayTimeText(round(world.time - target.timeofdeath))] ago.
" + . = jointext(render_list, "") if(tochat) - to_chat(user, examine_block(jointext(render_list, "")), trailing_newline = FALSE, type = MESSAGE_TYPE_INFO) - else - return(jointext(render_list, "")) + to_chat(user, examine_block(.), trailing_newline = FALSE, type = MESSAGE_TYPE_INFO) + return . + +/obj/item/healthanalyzer/click_ctrl_shift(mob/user) + . = ..() + if(!LAZYLEN(last_scan_text)) + balloon_alert(user, "no scans!") + return + if(scanner_busy) + balloon_alert(user, "analyzer busy!") + return + scanner_busy = TRUE + balloon_alert(user, "printing report...") + addtimer(CALLBACK(src, PROC_REF(print_report)), 2 SECONDS) + +/obj/item/healthanalyzer/proc/print_report(mob/user) + var/obj/item/paper/report_paper = new(get_turf(src)) + + report_paper.color = "#99ccff" + report_paper.name = "health scan report - [station_time_timestamp()]" + var/report_text = "
Health scan report. Time of retrieval: [station_time_timestamp()]

" + report_text += last_scan_text + + report_paper.add_raw_text(report_text) + report_paper.update_appearance() + + if(ismob(loc)) + var/mob/printer = loc + printer.put_in_hands(report_paper) + balloon_alert(printer, "logs cleared") + + report_text = list() + scanner_busy = FALSE /proc/chemscan(mob/living/user, mob/living/target) if(user.incapacitated) @@ -422,12 +458,12 @@ var/datum/reagent/reagent = r if(reagent.chemical_flags & REAGENT_INVISIBLE) //Don't show hidden chems on scanners continue - render_block += "[round(reagent.volume, 0.001)] units of [reagent.name][reagent.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]\n" + render_block += "[round(reagent.volume, 0.001)] units of [reagent.name][reagent.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]
" if(!length(render_block)) //If no VISIBLY DISPLAYED reagents are present, we report as if there is nothing. - render_list += "Subject contains no reagents in their blood.\n" + render_list += "Subject contains no reagents in their blood.
" else - render_list += "Subject contains the following reagents in their blood:\n" + render_list += "Subject contains the following reagents in their blood:
" render_list += render_block //Otherwise, we add the header, reagent readouts, and clear the readout block for use on the stomach. render_block.Cut() @@ -440,35 +476,35 @@ if(bit.chemical_flags & REAGENT_INVISIBLE) continue if(!belly.food_reagents[bit.type]) - render_block += "[round(bit.volume, 0.001)] units of [bit.name][bit.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]\n" + render_block += "[round(bit.volume, 0.001)] units of [bit.name][bit.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]
" else var/bit_vol = bit.volume - belly.food_reagents[bit.type] if(bit_vol > 0) - render_block += "[round(bit_vol, 0.001)] units of [bit.name][bit.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]\n" + render_block += "[round(bit_vol, 0.001)] units of [bit.name][bit.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]
" if(!length(render_block)) - render_list += "Subject contains no reagents in their stomach.\n" + render_list += "Subject contains no reagents in their stomach.
" else - render_list += "Subject contains the following reagents in their stomach:\n" + render_list += "Subject contains the following reagents in their stomach:
" render_list += render_block // Addictions if(LAZYLEN(target.mind?.active_addictions)) - render_list += "Subject is addicted to the following types of drug:\n" + render_list += "Subject is addicted to the following types of drug:
" for(var/datum/addiction/addiction_type as anything in target.mind.active_addictions) - render_list += "[initial(addiction_type.name)]\n" + render_list += "[initial(addiction_type.name)]
" // Special eigenstasium addiction if(target.has_status_effect(/datum/status_effect/eigenstasium)) - render_list += "Subject is temporally unstable. Stabilising agent is recommended to reduce disturbances.\n" + render_list += "Subject is temporally unstable. Stabilising agent is recommended to reduce disturbances.
" // Allergies for(var/datum/quirk/quirky as anything in target.quirks) if(istype(quirky, /datum/quirk/item_quirk/allergic)) var/datum/quirk/item_quirk/allergic/allergies_quirk = quirky var/allergies = allergies_quirk.allergy_string - render_list += "Subject is extremely allergic to the following chemicals:\n" - render_list += "[allergies]\n" + render_list += "Subject is extremely allergic to the following chemicals:
" + render_list += "[allergies]
" // we handled the last
so we don't need handholding to_chat(user, examine_block(jointext(render_list, "")), trailing_newline = FALSE, type = MESSAGE_TYPE_INFO) @@ -505,7 +541,7 @@ render_list += "Warning: Physical trauma[LAZYLEN(wounded_part.wounds) > 1? "s" : ""] detected in [wounded_part.name]" for(var/limb_wound in wounded_part.wounds) var/datum/wound/current_wound = limb_wound - render_list += "
[simple_scan ? current_wound.get_simple_scanner_description() : current_wound.get_scanner_description()]
\n" + render_list += "
[simple_scan ? current_wound.get_simple_scanner_description() : current_wound.get_scanner_description()]

" if (scanner.give_wound_treatment_bonus) ADD_TRAIT(current_wound, TRAIT_WOUND_SCANNED, ANALYZER_TRAIT) if(!advised) @@ -526,7 +562,7 @@ if(simple_scan) var/obj/item/healthanalyzer/simple/simple_scanner = scanner simple_scanner.show_emotion(AID_EMOTION_WARN) - playsound(simple_scanner, 'sound/machines/twobeep.ogg', 50, FALSE) + playsound(simple_scanner, 'sound/machines/beep/twobeep.ogg', 50, FALSE) /obj/item/healthanalyzer/simple @@ -564,7 +600,7 @@ show_emotion(AID_EMOTION_ANGRY) /obj/item/healthanalyzer/simple/proc/violence(mob/user) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE) if(isliving(user)) var/mob/living/L = user to_chat(L, span_warning("[src] makes a disappointed buzz and pricks your finger for being greedy. Ow!")) @@ -589,7 +625,7 @@ ) if(!iscarbon(interacting_with)) - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE) to_chat(user, span_notice("[src] makes a sad buzz and briefly displays an unhappy face, indicating it can't scan [interacting_with].")) show_emotion(AI_EMOTION_SAD) return ITEM_INTERACT_BLOCKING @@ -670,8 +706,8 @@ var/list/render = list() for(var/datum/disease/disease as anything in patient.diseases) if(!(disease.visibility_flags & HIDDEN_SCANNER)) - render += "Warning: [disease.form] detected\n\ -
Name: [disease.name].\nType: [disease.spread_text].\nStage: [disease.stage]/[disease.max_stages].\nPossible Cure: [disease.cure_text]
\ + render += "Warning: [disease.form] detected
\ +
Name: [disease.name].
Type: [disease.spread_text].
Stage: [disease.stage]/[disease.max_stages].
Possible Cure: [disease.cure_text]
\
" if(!length(render)) @@ -681,7 +717,7 @@ else to_chat(user, span_notice(render.Join(""))) scanner.emotion = AID_EMOTION_WARN - playsound(scanner, 'sound/machines/twobeep.ogg', 50, FALSE) + playsound(scanner, 'sound/machines/beep/twobeep.ogg', 50, FALSE) #undef SCANMODE_HEALTH #undef SCANMODE_WOUND diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index fc5a9d39f9742..da597fa595d63 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -51,9 +51,9 @@ if(QDELETED(linked_swapper)) to_chat(user, span_warning("[src] is not linked with another swapper.")) return - playsound(src, 'sound/weapons/flash.ogg', 25, TRUE) + playsound(src, 'sound/items/weapons/flash.ogg', 25, TRUE) to_chat(user, span_notice("You activate [src].")) - playsound(linked_swapper, 'sound/weapons/flash.ogg', 25, TRUE) + playsound(linked_swapper, 'sound/items/weapons/flash.ogg', 25, TRUE) if(ismob(linked_swapper.loc)) var/mob/holder = linked_swapper.loc to_chat(holder, span_notice("[linked_swapper] starts buzzing.")) diff --git a/code/game/objects/items/devices/table_clock.dm b/code/game/objects/items/devices/table_clock.dm index 37c1098759e98..d9c5e44fcf76c 100644 --- a/code/game/objects/items/devices/table_clock.dm +++ b/code/game/objects/items/devices/table_clock.dm @@ -37,7 +37,7 @@ . = ..() if(attacking_item.force < 5 || broken) return - if(break_clock(break_sound = 'sound/magic/clockwork/ark_activation.ogg')) + if(break_clock(break_sound = 'sound/effects/magic/clockwork/ark_activation.ogg')) user.visible_message( span_warning("[user] smashes \the [src] so hard it stops breaking!"), span_boldannounce("I can't stand this stupid machine anymore! Shut up already!"), diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index b86489fae9ea7..9b6328fe682fa 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -162,7 +162,7 @@ if(mytape && recording) mytape.timestamp += mytape.used_capacity - mytape.storedinfo += "\[[time2text(mytape.used_capacity,"mm:ss")]\] [raw_message]" + mytape.storedinfo += "\[[time2text(mytape.used_capacity,"mm:ss")]\] [speaker.GetVoice()]: [raw_message]" /obj/item/taperecorder/verb/record() diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 8327e185ea612..a2fac2b50a44f 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -361,15 +361,6 @@ effective or pretty fucking useless. new /obj/item/analyzer(src) new /obj/item/wirecutters(src) -/obj/item/storage/toolbox/emergency/turret/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(!istype(inserted, /obj/item/wrench/combat)) - return TRUE - if(!user.combat_mode) - return TRUE - if(!inserted.toolspeed) - return TRUE - return FALSE - /obj/item/storage/toolbox/emergency/turret/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if(!istype(tool, /obj/item/wrench/combat)) return NONE @@ -389,7 +380,7 @@ effective or pretty fucking useless. COMBAT_MESSAGE_RANGE, ) - playsound(src, 'sound/items/drill_use.ogg', 80, TRUE, -1) + playsound(src, 'sound/items/tools/drill_use.ogg', 80, TRUE, -1) var/obj/machinery/porta_turret/syndicate/toolbox/turret = new(get_turf(loc)) set_faction(turret, user) turret.toolbox = src diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index d17530c801085..4f0c0a84aa317 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -25,11 +25,36 @@ /obj/item/transfer_valve/Initialize(mapload) . = ..() RegisterSignal(src, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + register_context() /obj/item/transfer_valve/Destroy() attached_device = null return ..() +/obj/item/transfer_valve/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + + if(tank_one || tank_two) + context[SCREENTIP_CONTEXT_ALT_LMB] = "Remove [tank_one || tank_two]" + . = CONTEXTUAL_SCREENTIP_SET + if(istype(held_item) && is_type_in_list(held_item, list(/obj/item/tank, /obj/item/assembly))) + context[SCREENTIP_CONTEXT_LMB] = "Attach [held_item]" + . = CONTEXTUAL_SCREENTIP_SET + + return . || NONE + +/obj/item/transfer_valve/click_alt(mob/user) + if(tank_one) + split_gases() + valve_open = FALSE + tank_one.forceMove(drop_location()) + else if(tank_two) + split_gases() + valve_open = FALSE + tank_two.forceMove(drop_location()) + + return CLICK_ACTION_SUCCESS + /obj/item/transfer_valve/IsAssemblyHolder() return TRUE diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index 64ce9803657bb..aa98d325a7d46 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -507,8 +507,8 @@ to_summon, get_turf(cast_on), precision = 1, - asoundin = 'sound/magic/wand_teleport.ogg', - asoundout = 'sound/magic/wand_teleport.ogg', + asoundin = 'sound/effects/magic/wand_teleport.ogg', + asoundout = 'sound/effects/magic/wand_teleport.ogg', channel = TELEPORT_CHANNEL_MAGIC, ) diff --git a/code/game/objects/items/dna_probe.dm b/code/game/objects/items/dna_probe.dm index 57718ca217e0b..9e3be2dce40c4 100644 --- a/code/game/objects/items/dna_probe.dm +++ b/code/game/objects/items/dna_probe.dm @@ -48,7 +48,7 @@ if(!our_vault) dna_vault_ref = WEAKREF(target)//linking the dna vault with the probe balloon_alert(user, "vault linked") - playsound(src, 'sound/machines/terminal_success.ogg', 50) + playsound(src, 'sound/machines/terminal/terminal_success.ogg', 50) return TRUE return FALSE @@ -70,14 +70,14 @@ target.animal_dna += stored_dna_animal stored_dna_animal.Cut() target.check_goal() - playsound(target, 'sound/misc/compiler-stage1.ogg', 50) + playsound(target, 'sound/machines/compiler/compiler-stage1.ogg', 50) to_chat(user, span_notice("[uploaded] new datapoints uploaded.")) return uploaded /obj/item/dna_probe/proc/scan_dna(atom/target, mob/user) var/obj/machinery/dna_vault/our_vault = dna_vault_ref?.resolve() if(!our_vault) - playsound(user, 'sound/machines/buzz-sigh.ogg', 50) + playsound(user, 'sound/machines/buzz/buzz-sigh.ogg', 50) balloon_alert(user, "need database!") return if(istype(target, /obj/machinery/hydroponics)) @@ -94,7 +94,7 @@ to_chat(user, span_alert("Plant needs to be ready to harvest to perform full data scan.")) //Because space dna is actually magic return stored_dna_plants[hydro_tray.myseed.type] = TRUE - playsound(src, 'sound/misc/compiler-stage2.ogg', 50) + playsound(src, 'sound/machines/compiler/compiler-stage2.ogg', 50) balloon_alert(user, "data added") return TRUE else if(ishuman(target)) @@ -109,7 +109,7 @@ to_chat(user, span_alert("No compatible DNA detected.")) return . stored_dna_human[human_target.dna.unique_identity] = TRUE - playsound(src, 'sound/misc/compiler-stage2.ogg', 50) + playsound(src, 'sound/machines/compiler/compiler-stage2.ogg', 50) balloon_alert(user, "data added") return TRUE @@ -131,7 +131,7 @@ to_chat(user, span_alert("No compatible DNA detected.")) return . stored_dna_animal[living_target.type] = TRUE - playsound(src, 'sound/misc/compiler-stage2.ogg', 50) + playsound(src, 'sound/machines/compiler/compiler-stage2.ogg', 50) balloon_alert(user, "data added") return TRUE @@ -162,7 +162,7 @@ /obj/item/dna_probe/carp_scanner/scan_dna(atom/target, mob/user) if(istype(target, /mob/living/basic/carp)) carp_dna_loaded = TRUE - playsound(src, 'sound/misc/compiler-stage2.ogg', 50) + playsound(src, 'sound/machines/compiler/compiler-stage2.ogg', 50) balloon_alert(user, "dna scanned") else return ..() diff --git a/code/game/objects/items/door_seal.dm b/code/game/objects/items/door_seal.dm index d3e80cdf16de1..a3189c94cfb00 100644 --- a/code/game/objects/items/door_seal.dm +++ b/code/game/objects/items/door_seal.dm @@ -21,6 +21,6 @@ /obj/item/door_seal/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is sealing [user.p_them()]self off from the world with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(src, 'sound/items/jaws_pry.ogg', 30, TRUE) + playsound(src, 'sound/items/tools/jaws_pry.ogg', 30, TRUE) return BRUTELOSS diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 86b99e8c47e4e..b25765a302443 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -24,7 +24,7 @@ attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_chance = 75 - block_sound = 'sound/weapons/block_blade.ogg' + block_sound = 'sound/items/weapons/block_blade.ogg' max_integrity = 200 armor_type = /datum/armor/item_dualsaber resistance_flags = FIRE_PROOF @@ -47,8 +47,8 @@ AddComponent(/datum/component/two_handed, \ force_unwielded = force, \ force_wielded = two_hand_force, \ - wieldsound = 'sound/weapons/saberon.ogg', \ - unwieldsound = 'sound/weapons/saberoff.ogg', \ + wieldsound = 'sound/items/weapons/saberon.ogg', \ + unwieldsound = 'sound/items/weapons/saberoff.ogg', \ wield_callback = CALLBACK(src, PROC_REF(on_wield)), \ unwield_callback = CALLBACK(src, PROC_REF(on_unwield)), \ ) @@ -60,7 +60,7 @@ to_chat(user, span_warning("You lack the grace to wield this!")) return COMPONENT_TWOHANDED_BLOCK_WIELD update_weight_class(w_class_on) - hitsound = 'sound/weapons/blade1.ogg' + hitsound = 'sound/items/weapons/blade1.ogg' START_PROCESSING(SSobj, src) set_light_on(TRUE) diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 4445cdd1b7277..40f08e78ffc77 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -153,7 +153,7 @@ /obj/item/toy/eightball/haunted/start_shaking(mob/user) // notify ghosts that someone's shaking a haunted eightball // and inform them of the message, (hopefully a yes/no question) - selected_message = tgui_input_text(user, "What is your question?", "Eightball") || initial(selected_message) + selected_message = tgui_input_text(user, "What is your question?", "Eightball", max_length = MAX_MESSAGE_LEN) || initial(selected_message) if (!(src in user.held_items)) return FALSE notify_ghosts( diff --git a/code/game/objects/items/emags.dm b/code/game/objects/items/emags.dm index ccb52b71bc3bc..2adfeb585ae5f 100644 --- a/code/game/objects/items/emags.dm +++ b/code/game/objects/items/emags.dm @@ -137,16 +137,16 @@ . = ..() type_blacklist = list(typesof(/obj/machinery/door/airlock) + typesof(/obj/machinery/door/window/) + typesof(/obj/machinery/door/firedoor) - typesof(/obj/machinery/door/airlock/tram)) //list of all typepaths that require a specialized emag to hack. -/obj/item/card/emag/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/living/user) - return !user.combat_mode - /obj/item/card/emag/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(SHOULD_SKIP_INTERACTION(interacting_with, src, user)) + return NONE // lets us put things in bags without trying to emag them if(!can_emag(interacting_with, user)) return ITEM_INTERACT_BLOCKING log_combat(user, interacting_with, "attempted to emag") if(interacting_with.emag_act(user, src)) SSblackbox.record_feedback("tally", "atom_emagged", 1, interacting_with.type) - return ITEM_INTERACT_SUCCESS + return ITEM_INTERACT_SUCCESS + return NONE // In a perfect world this would be blocking, but this is not a perfect world /obj/item/card/emag/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) return prox_check ? NONE : interact_with_atom(interacting_with, user) @@ -183,7 +183,7 @@ /obj/item/card/emag/doorjack/proc/recharge(mob/user) charges = min(charges+1, max_charges) - playsound(src,'sound/machines/twobeep.ogg',10,TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) + playsound(src,'sound/machines/beep/twobeep.ogg',10,TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) charge_timers.Remove(charge_timers[1]) /obj/item/card/emag/doorjack/examine(mob/user) diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index fe066bd1bf572..4eca1dc2fc0a7 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -1,5 +1,5 @@ /obj/item/etherealballdeployer - name = "Portable Ethereal Disco Ball" + name = "portable ethereal disco ball" desc = "Press the button for a deployment of slightly-unethical PARTY!" icon = 'icons/obj/devices/remote.dmi' icon_state = "ethdisco" @@ -11,7 +11,7 @@ qdel(src) /obj/structure/etherealball - name = "Ethereal Disco Ball" + name = "ethereal disco ball" desc = "The ethics of this discoball are questionable." icon = 'icons/obj/machines/floor.dmi' icon_state = "ethdisco_head_0" diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 764e2fc6173bf..9c4192116a003 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -5,7 +5,7 @@ icon_state = "fire_extinguisher0" worn_icon_state = "fire_extinguisher" inhand_icon_state = "fire_extinguisher" - hitsound = 'sound/weapons/smash.ogg' + hitsound = 'sound/items/weapons/smash.ogg' obj_flags = CONDUCTS_ELECTRICITY throwforce = 10 w_class = WEIGHT_CLASS_NORMAL @@ -207,13 +207,15 @@ else return FALSE -/obj/item/extinguisher/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/extinguisher/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - if (interacting_with.loc == user) + if(interacting_with.loc == user) return NONE + // Always skip interaction if it's a bag or table (that's not on fire) + if(!(interacting_with.resistance_flags & ON_FIRE) && HAS_TRAIT(interacting_with, TRAIT_COMBAT_MODE_SKIP_INTERACTION)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) +/obj/item/extinguisher/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(refilling) refilling = FALSE return NONE @@ -238,7 +240,7 @@ var/movementdirection = REVERSE_DIR(direction) addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_chair), B, movementdirection), 0.1 SECONDS) else - user.newtonian_move(REVERSE_DIR(direction)) + user.newtonian_move(dir2angle(REVERSE_DIR(direction))) //Get all the turfs that can be shot at var/turf/T = get_turf(interacting_with) diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 8a8f26b2c8995..265a05cfac74a 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -17,7 +17,7 @@ slot_flags = ITEM_SLOT_BACK attack_verb_continuous = list("attacks", "chops", "cleaves", "tears", "lacerates", "cuts") attack_verb_simple = list("attack", "chop", "cleave", "tear", "lacerate", "cut") - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' sharpness = SHARP_EDGED armor_type = /datum/armor/item_fireaxe resistance_flags = FIRE_PROOF @@ -83,7 +83,7 @@ demolition_mod = 2 tool_behaviour = TOOL_CROWBAR toolspeed = 1 - usesound = 'sound/items/crowbar.ogg' + usesound = 'sound/items/tools/crowbar.ogg' //boarding axe /obj/item/fireaxe/boardingaxe diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index ad03fe9ab4f10..cd41859307efb 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -32,8 +32,8 @@ var/create_full = FALSE var/create_with_tank = FALSE var/igniter_type = /obj/item/assembly/igniter - var/acti_sound = 'sound/items/welderactivate.ogg' - var/deac_sound = 'sound/items/welderdeactivate.ogg' + var/acti_sound = 'sound/items/tools/welderactivate.ogg' + var/deac_sound = 'sound/items/tools/welderdeactivate.ogg' /obj/item/flamethrower/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/food/bait.dm b/code/game/objects/items/food/bait.dm index f31eb44f308eb..711c6cb1e68ff 100644 --- a/code/game/objects/items/food/bait.dm +++ b/code/game/objects/items/food/bait.dm @@ -6,6 +6,8 @@ var/bait_quality = TRAIT_BASIC_QUALITY_BAIT /// Icon state added to main fishing rod icon when this bait is equipped var/rod_overlay_icon_state + /// Is this included in the autowiki? + var/show_on_wiki = TRUE /obj/item/food/bait/Initialize(mapload) . = ..() @@ -36,9 +38,14 @@ lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' inhand_icon_state = "pen" + bait_quality = TRAIT_GREAT_QUALITY_BAIT //this is only here for autowiki purposes, it's removed on init. food_reagents = list(/datum/reagent/drug/kronkaine = 2) //The kronkaine is the thing that makes this a great bait. tastes = list("hypocrisy" = 1) +/obj/item/food/bait/natural/Initialize(mapload) + . = ..() + REMOVE_TRAIT(src, bait_quality, INNATE_TRAIT) + /obj/item/food/bait/doughball name = "doughball" desc = "Small piece of dough. Simple but effective fishing bait." @@ -51,17 +58,12 @@ bait_quality = TRAIT_BASIC_QUALITY_BAIT rod_overlay_icon_state = "dough_overlay" -/** - * Bound to the tech fishing rod, from which cannot be removed, - * Bait-related preferences and traits, both negative and positive, - * should be ignored by this bait. - * Otherwise it'd be hard/impossible to cath some fish with it, - * making that rod a shoddy choice in the long run. - */ +///The abstract synthetic doughball type. /obj/item/food/bait/doughball/synthetic name = "synthetic doughball" icon_state = "doughball_blue" preserved_food = TRUE + show_on_wiki = FALSE //It's an abstract item. /obj/item/food/bait/doughball/synthetic/Initialize(mapload) . = ..() @@ -70,10 +72,17 @@ ///Found in the can of omni-baits, only available from the super fishing toolbox, from the fishing mystery box. /obj/item/food/bait/doughball/synthetic/super name = "super-doughball" - desc = "No fish will be able to resist this." + desc = "Be they herbivore or carnivores, no fish will be able to resist this." bait_quality = TRAIT_GREAT_QUALITY_BAIT + show_on_wiki = TRUE -///Used by the advanced fishing rod +/** + * Bound to the tech fishing rod, from which cannot be removed, + * Bait-related preferences and traits, both negative and positive, + * should be ignored by this bait. + * Otherwise it'd be hard/impossible to cath some fish with it, + * making that rod a shoddy choice in the long run. + */ /obj/item/food/bait/doughball/syntethic/unconsumable /obj/item/food/bait/doughball/synthetic/unconsumable/Initialize(mapload) diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm index 0f95aac6d8528..48e7a2a21b1ae 100644 --- a/code/game/objects/items/food/bread.dm +++ b/code/game/objects/items/food/bread.dm @@ -384,7 +384,7 @@ ADD_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND, SWORDPLAY_TRAIT) attack_verb_continuous = list("slashes", "cuts") attack_verb_simple = list("slash", "cut") - hitsound = 'sound/weapons/rapierhit.ogg' + hitsound = 'sound/items/weapons/rapierhit.ogg' fake_swordplay = TRUE RegisterSignal(src, COMSIG_ITEM_EQUIPPED, PROC_REF(on_sword_equipped)) @@ -418,7 +418,7 @@ /// Deadly bread used by a mime /obj/item/food/baguette/combat - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' sharpness = SHARP_EDGED /// Force when wielded as a sword by a mime var/active_force = 20 diff --git a/code/game/objects/items/food/burgers.dm b/code/game/objects/items/food/burgers.dm index eb73f4736b1c3..db493b341d16a 100644 --- a/code/game/objects/items/food/burgers.dm +++ b/code/game/objects/items/food/burgers.dm @@ -255,7 +255,7 @@ var/obj/machinery/light/light = locate(/obj/machinery/light) in view(4, src) light?.flicker() if(62 to 64) - playsound(loc, pick('sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE) + playsound(loc, pick('sound/effects/hallucinations/i_see_you1.ogg', 'sound/effects/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE) if(61) visible_message("[src] spews out a glob of ectoplasm!") new /obj/effect/decal/cleanable/greenglow/ecto(loc) diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm index ec3e0a0390caa..b161410bc3f6f 100644 --- a/code/game/objects/items/food/cake.dm +++ b/code/game/objects/items/food/cake.dm @@ -267,7 +267,7 @@ desc = "Just enough calories for a whole nuclear operative squad." icon_state = "energycake" force = 5 - hitsound = 'sound/weapons/blade1.ogg' + hitsound = 'sound/items/weapons/blade1.ogg' food_reagents = list( /datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/sprinkles = 10, @@ -285,7 +285,7 @@ /obj/item/food/cake/birthday/energy/proc/energy_bite(mob/living/user) to_chat(user, "As you eat the cake, you accidentally hurt yourself on the embedded energy sword!") user.apply_damage(30, BRUTE, BODY_ZONE_HEAD) - playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) + playsound(user, 'sound/items/weapons/blade1.ogg', 5, TRUE) /obj/item/food/cake/birthday/energy/attack(mob/living/target_mob, mob/living/user) . = ..() @@ -298,7 +298,7 @@ desc = "For the traitor on the go." icon_state = "energycakeslice" force = 2 - hitsound = 'sound/weapons/blade1.ogg' + hitsound = 'sound/items/weapons/blade1.ogg' food_reagents = list( /datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sprinkles = 2, @@ -325,7 +325,7 @@ if(eater != feeder) log_combat(feeder, eater, "fed an energy cake to", src) eater.apply_damage(18, BRUTE, BODY_ZONE_HEAD) - playsound(eater, 'sound/weapons/blade1.ogg', 5, TRUE) + playsound(eater, 'sound/items/weapons/blade1.ogg', 5, TRUE) /obj/item/food/cake/apple name = "apple cake" diff --git a/code/game/objects/items/food/donuts.dm b/code/game/objects/items/food/donuts.dm index 0d2e2f91d3008..922ed2eaa6674 100644 --- a/code/game/objects/items/food/donuts.dm +++ b/code/game/objects/items/food/donuts.dm @@ -79,7 +79,7 @@ reagents.add_reagent(extra_reagent, 3) /obj/item/food/donut/meat - name = "Meat Donut" + name = "meat donut" desc = "Tastes as gross as it looks." icon_state = "donut_meat" food_reagents = list( diff --git a/code/game/objects/items/food/egg.dm b/code/game/objects/items/food/egg.dm index bcc61e721e211..bbb7d6784e2e0 100644 --- a/code/game/objects/items/food/egg.dm +++ b/code/game/objects/items/food/egg.dm @@ -130,9 +130,9 @@ GLOBAL_VAR_INIT(chicks_from_eggs, 0) return ITEM_INTERACT_BLOCKING var/atom/broken_egg = new /obj/item/food/rawegg(interacting_with.loc) if(LAZYACCESS(modifiers, ICON_X)) - broken_egg.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) + broken_egg.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X/2), ICON_SIZE_X/2) if(LAZYACCESS(modifiers, ICON_Y)) - broken_egg.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) + broken_egg.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y/2), ICON_SIZE_Y/2) playsound(user, 'sound/items/sheath.ogg', 40, TRUE) reagents.copy_to(broken_egg, reagents.total_volume) @@ -340,4 +340,5 @@ GLOBAL_VAR_INIT(chicks_from_eggs, 0) ) tastes = list("custard" = 1) foodtypes = MEAT | VEGETABLES + venue_value = FOOD_PRICE_NORMAL crafting_complexity = FOOD_COMPLEXITY_3 diff --git a/code/game/objects/items/food/meatdish.dm b/code/game/objects/items/food/meatdish.dm index 5ad5cea20fae8..9bda586b2693f 100644 --- a/code/game/objects/items/food/meatdish.dm +++ b/code/game/objects/items/food/meatdish.dm @@ -57,7 +57,7 @@ food_reagents = list( /datum/reagent/consumable/nutriment/protein = 4, /datum/reagent/consumable/nutriment/vitamin = 3, - /datum/reagent/consumable/nutriment/fat/oil = 2, + /datum/reagent/consumable/nutriment/fat = 2, ) bite_consumption = 4.5 crafting_complexity = FOOD_COMPLEXITY_1 @@ -99,14 +99,20 @@ /obj/item/food/fishmeat/gunner_jellyfish name = "filleted gunner jellyfish" - desc = "A gunner jellyfish with the stingers removed. Mildly hallucinogenic." + desc = "A gunner jellyfish with the stingers removed. Mildly hallucinogenic when raw." icon = 'icons/obj/food/lizard.dmi' icon_state = "jellyfish_fillet" food_reagents = list( - /datum/reagent/consumable/nutriment/protein = 4, - /datum/reagent/toxin/mindbreaker = 2, + /datum/reagent/consumable/nutriment/protein = 4, //The halluginogen comes from the fish trait. ) +///Premade gunner jellyfish fillets from supply orders. Contains the halluginogen that'd be normally from the fish trait. +/obj/item/food/fishmeat/gunner_jellyfish/supply + +/obj/item/food/fishmeat/gunner_jellyfish/supply/Initialize(mapload) + food_reagents[/datum/reagent/toxin/mindbreaker/fish] = 2 + return ..() + /obj/item/food/fishmeat/armorfish name = "cleaned armorfish" desc = "An armorfish with its guts and shell removed, ready for use in cooking." @@ -284,6 +290,7 @@ tastes = list("rice and meat" = 4, "lettuce" = 2, "soy sauce" = 2) trash_type = /obj/item/reagent_containers/cup/bowl w_class = WEIGHT_CLASS_SMALL + venue_value = FOOD_PRICE_NORMAL crafting_complexity = FOOD_COMPLEXITY_4 /obj/item/food/fish_poke @@ -300,6 +307,7 @@ tastes = list("rice and fish" = 4, "lettuce" = 2, "soy sauce" = 2) trash_type = /obj/item/reagent_containers/cup/bowl w_class = WEIGHT_CLASS_SMALL + venue_value = FOOD_PRICE_NORMAL crafting_complexity = FOOD_COMPLEXITY_4 ////////////////////////////////////////////MEATS AND ALIKE//////////////////////////////////////////// @@ -746,13 +754,22 @@ w_class = WEIGHT_CLASS_TINY venue_value = FOOD_PRICE_CHEAP crafting_complexity = FOOD_COMPLEXITY_1 + var/meat_source = "\"chicken\"" /obj/item/food/nugget/Initialize(mapload) . = ..() var/shape = pick("lump", "star", "lizard", "corgi") - desc = "A \"chicken\" nugget vaguely shaped like a [shape]." + desc = "A [meat_source] nugget vaguely shaped like a [shape]." icon_state = "nugget_[shape]" +///subtype harvested from fish caught from, you guess it, the deepfryer +/obj/item/food/nugget/fish + name = "fish nugget" + tastes = list("fried fish" = 1) + foodtypes = MEAT|SEAFOOD|FRIED + venue_value = FOOD_PRICE_NORMAL + meat_source = "fish" + /obj/item/food/pigblanket name = "pig in a blanket" desc = "A tiny sausage wrapped in a flakey, buttery roll. Free this pig from its blanket prison by eating it." diff --git a/code/game/objects/items/food/mexican.dm b/code/game/objects/items/food/mexican.dm index fa66db1450c8f..3dc6adc107962 100644 --- a/code/game/objects/items/food/mexican.dm +++ b/code/game/objects/items/food/mexican.dm @@ -124,6 +124,7 @@ tastes = list("nachos" = 2, "hot pepper" = 1) foodtypes = VEGETABLES | FRIED | DAIRY w_class = WEIGHT_CLASS_SMALL + venue_value = FOOD_PRICE_CHEAP crafting_complexity = FOOD_COMPLEXITY_2 /obj/item/food/taco diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm index 53781e8a1ea8c..bfd26f534de23 100644 --- a/code/game/objects/items/food/misc.dm +++ b/code/game/objects/items/food/misc.dm @@ -328,7 +328,7 @@ throwforce = 15 block_chance = 55 armour_penetration = 80 - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' wound_bonus = -50 attack_verb_continuous = list("slaps", "slathers") attack_verb_simple = list("slap", "slather") @@ -339,7 +339,7 @@ crafting_complexity = FOOD_COMPLEXITY_5 /obj/item/food/branrequests - name = "Bran Requests Cereal" + name = "bran requests cereal" desc = "A dry cereal that satiates your requests for bran. Tastes uniquely like raisins and salt." icon_state = "bran_requests" food_reagents = list( @@ -422,7 +422,7 @@ w_class = WEIGHT_CLASS_TINY /obj/item/food/crab_rangoon - name = "Crab Rangoon" + name = "crab rangoon" desc = "Has many names, like crab puffs, cheese won'tons, crab dumplings? Whatever you call them, they're a fabulous blast of cream cheesy crab." icon = 'icons/obj/food/meat.dmi' icon_state = "crabrangoon" @@ -805,3 +805,30 @@ foodtypes = VEGETABLES | GRAIN w_class = WEIGHT_CLASS_TINY crafting_complexity = FOOD_COMPLEXITY_4 + +///Extracted from squids, or any fish with the ink fish trait. +/obj/item/food/ink_sac + name = "ink sac" + desc = "the ink sac from some sort of fish or mollusk. It could be canned with a processor." + icon_state = "ink_sac" + food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/salt = 5) + tastes = list("seafood" = 3) + foodtypes = SEAFOOD|RAW + +/obj/item/food/ink_sac/Initialize(mapload) + . = ..() + AddComponent(/datum/component/splat, \ + memory_type = /datum/memory/witnessed_inking, \ + smudge_type = /obj/effect/decal/cleanable/food/squid_ink, \ + moodlet_type = /datum/mood_event/inked, \ + splat_color = COLOR_NEARLY_ALL_BLACK, \ + hit_callback = CALLBACK(src, PROC_REF(blind_em)), \ + ) + +/obj/item/food/ink_sac/proc/blind_em(mob/living/victim, can_splat_on) + if(can_splat_on) + victim.adjust_temp_blindness_up_to(7 SECONDS, 10 SECONDS) + victim.adjust_confusion_up_to(3.5 SECONDS, 6 SECONDS) + victim.Paralyze(2 SECONDS) //splat! + victim.visible_message(span_warning("[victim] is inked by [src]!"), span_userdanger("You've been inked by [src]!")) + playsound(victim, SFX_DESECRATION, 50, TRUE) diff --git a/code/game/objects/items/food/packaged.dm b/code/game/objects/items/food/packaged.dm index 0f08fd8f57dd9..b3578204a2daa 100644 --- a/code/game/objects/items/food/packaged.dm +++ b/code/game/objects/items/food/packaged.dm @@ -156,6 +156,25 @@ tastes = list("seafood" = 7, "tin" = 1) foodtypes = SEAFOOD +/obj/item/food/canned/squid_ink/open_can(mob/user) + . = ..() + AddComponent(/datum/component/splat, \ + memory_type = /datum/memory/witnessed_inking, \ + smudge_type = /obj/effect/decal/cleanable/food/squid_ink, \ + moodlet_type = /datum/mood_event/inked, \ + splat_color = COLOR_NEARLY_ALL_BLACK, \ + hit_callback = CALLBACK(src, PROC_REF(blind_em)), \ + ) + ADD_TRAIT(src, TRAIT_UNCATCHABLE, INNATE_TRAIT) //good luck catching the liquid + +/obj/item/food/canned/squid_ink/proc/blind_em(mob/living/victim, can_splat_on) + if(can_splat_on) + victim.adjust_temp_blindness_up_to(7 SECONDS, 10 SECONDS) + victim.adjust_confusion_up_to(3.5 SECONDS, 6 SECONDS) + victim.Paralyze(2 SECONDS) //splat! + victim.visible_message(span_warning("[victim] is inked by [src]!"), span_userdanger("You've been inked by [src]!")) + playsound(victim, SFX_DESECRATION, 50, TRUE) + /obj/item/food/canned/chap name = "can of CHAP" desc = "CHAP: Chopped Ham And Pork. The classic American canned meat product that won a world war, then sent millions of servicemen home with heart congestion." diff --git a/code/game/objects/items/food/pancakes.dm b/code/game/objects/items/food/pancakes.dm index 52829ab4c3acd..488ba1e5eb5ad 100644 --- a/code/game/objects/items/food/pancakes.dm +++ b/code/game/objects/items/food/pancakes.dm @@ -52,7 +52,7 @@ /obj/item/food/pancakes/raw/examine(mob/user) . = ..() if(name == initial(name)) - . += "You can modify the pancake by adding blueberries or chocolate before finishing the griddle." + . += span_notice("You can modify the pancake by adding blueberries or chocolate before finishing the griddle.") /obj/item/food/pancakes/blueberry name = "blueberry pancake" diff --git a/code/game/objects/items/food/pie.dm b/code/game/objects/items/food/pie.dm index 0cb5af860e842..6d73bc2f5df21 100644 --- a/code/game/objects/items/food/pie.dm +++ b/code/game/objects/items/food/pie.dm @@ -74,32 +74,17 @@ var/stunning = TRUE crafting_complexity = FOOD_COMPLEXITY_3 -/obj/item/food/pie/cream/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/food/pie/cream/Initialize(mapload) . = ..() - if(!.) //if we're not being caught - splat(hit_atom) - -/obj/item/food/pie/cream/proc/splat(atom/movable/hit_atom) - if(isliving(loc)) //someone caught us! - return - var/turf/hit_turf = get_turf(hit_atom) - new/obj/effect/decal/cleanable/food/pie_smudge(hit_turf) - if(reagents?.total_volume) - reagents.expose(hit_atom, TOUCH) - var/is_creamable = TRUE - if(isliving(hit_atom)) - var/mob/living/living_target_getting_hit = hit_atom - if(stunning) - living_target_getting_hit.Paralyze(2 SECONDS) //splat! - if(iscarbon(living_target_getting_hit)) - is_creamable = !!(living_target_getting_hit.get_bodypart(BODY_ZONE_HEAD)) - if(is_creamable) - living_target_getting_hit.adjust_eye_blur(2 SECONDS) - living_target_getting_hit.visible_message(span_warning("[living_target_getting_hit] is creamed by [src]!"), span_userdanger("You've been creamed by [src]!")) - playsound(living_target_getting_hit, SFX_DESECRATION, 50, TRUE) - if(is_creamable && is_type_in_typecache(hit_atom, GLOB.creamable)) - hit_atom.AddComponent(/datum/component/face_decal/creampie, "creampie", EXTERNAL_FRONT) - qdel(src) + AddComponent(/datum/component/splat, hit_callback = CALLBACK(src, PROC_REF(stun_and_blur))) + +/obj/item/food/pie/cream/proc/stun_and_blur(mob/living/victim, can_splat_on) + if(stunning) + victim.Paralyze(2 SECONDS) //splat! + if(can_splat_on) + victim.adjust_eye_blur(2 SECONDS) + victim.visible_message(span_warning("[victim] is creamed by [src]!"), span_userdanger("You've been creamed by [src]!")) + playsound(victim, SFX_DESECRATION, 50, TRUE) /obj/item/food/pie/cream/nostun stunning = FALSE diff --git a/code/game/objects/items/food/sandwichtoast.dm b/code/game/objects/items/food/sandwichtoast.dm index 47a7b563e0895..e63127a6a219d 100644 --- a/code/game/objects/items/food/sandwichtoast.dm +++ b/code/game/objects/items/food/sandwichtoast.dm @@ -41,6 +41,7 @@ /datum/reagent/carbon = 4, ) tastes = list("toast" = 2, "cheese" = 3, "butter" = 1) + venue_value = FOOD_PRICE_NORMAL crafting_complexity = FOOD_COMPLEXITY_3 /obj/item/food/sandwich/jelly diff --git a/code/game/objects/items/frog_statue.dm b/code/game/objects/items/frog_statue.dm index 34c491d9dd72b..d1f65dc4b2ad5 100644 --- a/code/game/objects/items/frog_statue.dm +++ b/code/game/objects/items/frog_statue.dm @@ -41,7 +41,7 @@ if(isnull(contained_frog)) . += span_notice("There are currently no frogs linked to this statue!") else - . += span_notice("Using it will [contained_frog in src ? "release" : "recall"] the beast!") + . += span_notice("Using it will [(contained_frog in src) ? "release" : "recall"] the beast!") ///resummon the frog into its home /obj/item/frog_statue/proc/recall_frog(mob/user) @@ -76,7 +76,7 @@ SIGNAL_HANDLER contained_frog = null - playsound(src, 'sound/magic/demon_dies.ogg', 50, TRUE) + playsound(src, 'sound/effects/magic/demon_dies.ogg', 50, TRUE) UnregisterSignal(source, COMSIG_QDELETING) /obj/item/frog_statue/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) diff --git a/code/game/objects/items/granters/_granters.dm b/code/game/objects/items/granters/_granters.dm index b205a1f0ffa64..bfdb2013cfdac 100644 --- a/code/game/objects/items/granters/_granters.dm +++ b/code/game/objects/items/granters/_granters.dm @@ -18,9 +18,9 @@ var/reading_time = 5 SECONDS /// The sounds played as the user's reading the book. var/list/book_sounds = list( - 'sound/effects/pageturn1.ogg', - 'sound/effects/pageturn2.ogg', - 'sound/effects/pageturn3.ogg', + 'sound/effects/page_turn/pageturn1.ogg', + 'sound/effects/page_turn/pageturn2.ogg', + 'sound/effects/page_turn/pageturn3.ogg', ) /obj/item/book/granter/attack_self(mob/living/user) diff --git a/code/game/objects/items/granters/martial_arts/cqc.dm b/code/game/objects/items/granters/martial_arts/cqc.dm index b2191997586ba..7d3f7f2ef9e26 100644 --- a/code/game/objects/items/granters/martial_arts/cqc.dm +++ b/code/game/objects/items/granters/martial_arts/cqc.dm @@ -3,7 +3,7 @@ name = "old manual" martial_name = "close quarters combat" desc = "A small, black manual. There are drawn instructions of tactical hand-to-hand combat." - greet = "You've mastered the basics of CQC." + greet = span_boldannounce("You've mastered the basics of CQC.") icon_state = "cqcmanual" remarks = list( "Kick... Slam...", @@ -22,7 +22,7 @@ /obj/item/book/granter/martial/cqc/recoil(mob/living/user) to_chat(user, span_warning("[src] explodes!")) - playsound(src,'sound/effects/explosion1.ogg',40,TRUE) + playsound(src,'sound/effects/explosion/explosion1.ogg',40,TRUE) user.flash_act(1, 1) user.adjustBruteLoss(6) user.adjustFireLoss(6) diff --git a/code/game/objects/items/granters/martial_arts/plasma_fist.dm b/code/game/objects/items/granters/martial_arts/plasma_fist.dm index dab85637da5b2..22b6b4aefa18e 100644 --- a/code/game/objects/items/granters/martial_arts/plasma_fist.dm +++ b/code/game/objects/items/granters/martial_arts/plasma_fist.dm @@ -3,8 +3,8 @@ name = "frayed scroll" martial_name = "plasma fist" desc = "An aged and frayed scrap of paper written in shifting runes. There are hand-drawn illustrations of pugilism." - greet = "You have learned the ancient martial art of Plasma Fist. Your combos are extremely hard to pull off, but include some of the most deadly moves ever seen including \ - the plasma fist, which when pulled off will make someone violently explode." + greet = span_boldannounce("You have learned the ancient martial art of Plasma Fist. Your combos are extremely hard to pull off, but include some of the most deadly moves ever seen including \ + the plasma fist, which when pulled off will make someone violently explode.") icon = 'icons/obj/scrolls.dmi' icon_state ="plasmafist" remarks = list( diff --git a/code/game/objects/items/granters/martial_arts/sleeping_carp.dm b/code/game/objects/items/granters/martial_arts/sleeping_carp.dm index 3c66ce8affa15..88123439725f0 100644 --- a/code/game/objects/items/granters/martial_arts/sleeping_carp.dm +++ b/code/game/objects/items/granters/martial_arts/sleeping_carp.dm @@ -3,9 +3,9 @@ name = "mysterious scroll" martial_name = "sleeping carp" desc = "A scroll filled with strange markings. It seems to be drawings of some sort of martial art." - greet = "You have learned the ancient martial art of the Sleeping Carp! Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles \ + greet = span_sciradio("You have learned the ancient martial art of the Sleeping Carp! Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles \ directed toward you while in Combat Mode. Your body has also hardened itself, granting extra protection against lasting wounds that would otherwise mount during extended combat. \ - However, you are also unable to use any ranged weaponry. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab." + However, you are also unable to use any ranged weaponry. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab.") icon = 'icons/obj/scrolls.dmi' icon_state = "sleepingcarp" worn_icon_state = "scroll" diff --git a/code/game/objects/items/grenades/_grenade.dm b/code/game/objects/items/grenades/_grenade.dm index ca7da893bb4b4..780311fa4d149 100644 --- a/code/game/objects/items/grenades/_grenade.dm +++ b/code/game/objects/items/grenades/_grenade.dm @@ -17,8 +17,8 @@ obj_flags = CONDUCTS_ELECTRICITY slot_flags = ITEM_SLOT_BELT max_integrity = 40 - pickup_sound = 'sound/items/grenade_pick_up.ogg' - drop_sound = 'sound/items/grenade_drop.ogg' + pickup_sound = 'sound/items/handling/grenade/grenade_pick_up.ogg' + drop_sound = 'sound/items/handling/grenade/grenade_drop.ogg' sound_vary = TRUE /// Bitfields which prevent the grenade from detonating if set. Includes ([GRENADE_DUD]|[GRENADE_USED]) var/dud_flags = NONE @@ -51,6 +51,8 @@ var/shrapnel_radius ///Did we add the component responsible for spawning shrapnel to this? var/shrapnel_initialized + ///Possible timers that can be assigned for detonation. Values are strings in SECONDS + var/list/possible_fuse_time = list("Instant", "3", "4", "5") /obj/item/grenade/Initialize(mapload) . = ..() @@ -153,7 +155,7 @@ if(shrapnel_type && shrapnel_radius) shrapnel_initialized = TRUE AddComponent(/datum/component/pellet_cloud, projectile_type = shrapnel_type, magnitude = shrapnel_radius) - playsound(src, 'sound/weapons/armbomb.ogg', volume, TRUE) + playsound(src, 'sound/items/weapons/armbomb.ogg', volume, TRUE) if(istype(user)) user.add_mob_memory(/datum/memory/bomb_planted, antagonist = src) active = TRUE @@ -210,7 +212,10 @@ return FALSE if(change_det_time()) tool.play_tool_sound(src) - to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)].")) + if(det_time == 0) + to_chat(user, span_notice("You modify the time delay. It's set to be instantaneous.")) + else + to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)].")) return TRUE /obj/item/grenade/multitool_act(mob/living/user, obj/item/tool) @@ -220,7 +225,7 @@ . = TRUE - var/newtime = tgui_input_list(user, "Please enter a new detonation time", "Detonation Timer", list("Instant", 3, 4, 5)) + var/newtime = tgui_input_list(user, "Please enter a new detonation time", "Detonation Timer", possible_fuse_time) if (isnull(newtime)) return if(!user.can_perform_action(src)) @@ -228,25 +233,40 @@ if(newtime == "Instant" && change_det_time(0)) to_chat(user, span_notice("You modify the time delay. It's set to be instantaneous.")) return - newtime = round(newtime) + newtime = round(text2num(newtime)) if(change_det_time(newtime)) to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)].")) -/obj/item/grenade/proc/change_det_time(time) //Time uses real time. +/** + * Sets det_time to a number in SECONDS + * + * if time is passed as an argument, `det_time` will be `time SECONDS` + * + * Cycles the duration of the fuse of the grenade `det_time` based on the options provided in list/possible_fuse_time +*/ +/obj/item/grenade/proc/change_det_time(time) . = TRUE + //Multitool if(!isnull(time)) - det_time = round(clamp(time * 10, 0, 5 SECONDS)) + det_time = round(clamp(time SECONDS, 0, 5 SECONDS)) //This is fine for now but consider making this a variable if you want >5s fuse + return + + //Screwdriver + if(det_time == 0) + det_time = "Instant" + else + det_time = num2text(det_time * 0.1) + + var/old_selection = possible_fuse_time.Find(det_time) //Position of det_time in the list + if(old_selection >= possible_fuse_time.len) + det_time = possible_fuse_time[1] else - var/previous_time = det_time - switch(det_time) - if (0) - det_time = 3 SECONDS - if (3 SECONDS) - det_time = 5 SECONDS - if (5 SECONDS) - det_time = 0 - if(det_time == previous_time) - det_time = 5 SECONDS + det_time = possible_fuse_time[old_selection+1] + + if(det_time == "Instant") + det_time = 0 //String to num conversion because I hate coders + return + det_time = text2num(det_time) SECONDS /obj/item/grenade/attack_paw(mob/user, list/modifiers) return attack_hand(user, modifiers) diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 5aadc9fbb3f23..c193b9ab73b9c 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -234,7 +234,7 @@ active = TRUE update_icon_state() - playsound(src, 'sound/weapons/armbomb.ogg', volume, TRUE) + playsound(src, 'sound/items/weapons/armbomb.ogg', volume, TRUE) if(landminemode) landminemode.activate() return diff --git a/code/game/objects/items/grenades/clusterbuster.dm b/code/game/objects/items/grenades/clusterbuster.dm index b27285e07861c..fe5666267e07f 100644 --- a/code/game/objects/items/grenades/clusterbuster.dm +++ b/code/game/objects/items/grenades/clusterbuster.dm @@ -13,7 +13,7 @@ var/base_state = "clusterbang" var/payload = /obj/item/grenade/flashbang/cluster var/payload_spawner = /obj/effect/payload_spawner - var/prime_sound = 'sound/weapons/armbomb.ogg' + var/prime_sound = 'sound/items/weapons/armbomb.ogg' var/min_spawned = 4 var/max_spawned = 8 var/segment_chance = 35 @@ -207,7 +207,7 @@ icon_state = "slimebang" base_state = "slimebang" payload_spawner = /obj/effect/payload_spawner/random_slime - prime_sound = 'sound/effects/bubbles.ogg' + prime_sound = 'sound/effects/bubbles/bubbles.ogg' /obj/item/grenade/clusterbuster/slime/volatile payload_spawner = /obj/effect/payload_spawner/random_slime/volatile diff --git a/code/game/objects/items/grenades/festive.dm b/code/game/objects/items/grenades/festive.dm index e9acdd6cfd631..87c8e554213bc 100644 --- a/code/game/objects/items/grenades/festive.dm +++ b/code/game/objects/items/grenades/festive.dm @@ -29,7 +29,7 @@ lit = TRUE icon_state = "sparkler_on" force = 6 - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' name = "lit [initial(name)]" attack_verb_continuous = list("burns") attack_verb_simple = list("burn") @@ -92,7 +92,7 @@ if(det_time) det_time -= 10 to_chat(user, span_notice("You shorten the fuse of [src] with [item].")) - playsound(src, 'sound/items/wirecutter.ogg', 20, TRUE) + playsound(src, 'sound/items/tools/wirecutter.ogg', 20, TRUE) icon_state = initial(icon_state) + "_[det_time]" update_appearance() else diff --git a/code/game/objects/items/grenades/flashbang.dm b/code/game/objects/items/grenades/flashbang.dm index 98e7a4bab796e..c83801d81fc53 100644 --- a/code/game/objects/items/grenades/flashbang.dm +++ b/code/game/objects/items/grenades/flashbang.dm @@ -4,6 +4,7 @@ inhand_icon_state = "flashbang" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' + possible_fuse_time = list("3", "4", "5") var/flashbang_range = 7 //how many tiles away the mob will be stunned. /obj/item/grenade/flashbang/apply_grenade_fantasy_bonuses(quality) @@ -22,7 +23,7 @@ if(!flashbang_turf) return do_sparks(rand(5, 9), FALSE, src) - playsound(flashbang_turf, 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9) + playsound(flashbang_turf, 'sound/items/weapons/flashbang.ogg', 100, TRUE, 8, 0.9) new /obj/effect/dummy/lighting_obj (flashbang_turf, flashbang_range + 2, 4, COLOR_WHITE, 2) for(var/mob/living/living_mob in get_hearers_in_view(flashbang_range, flashbang_turf)) bang(get_turf(living_mob), living_mob) @@ -90,7 +91,7 @@ if(!flashbang_turf) return do_sparks(rand(5, 9), FALSE, src) - playsound(flashbang_turf, 'sound/weapons/flashbang.ogg', 50, TRUE, 8, 0.9) + playsound(flashbang_turf, 'sound/items/weapons/flashbang.ogg', 50, TRUE, 8, 0.9) new /obj/effect/dummy/lighting_obj (flashbang_turf, flashbang_range + 2, 2, COLOR_WHITE, 1) for(var/mob/living/living_mob in get_hearers_in_view(flashbang_range, flashbang_turf)) pop(get_turf(living_mob), living_mob) diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm index cf752bf82accb..93d4cd65f3452 100644 --- a/code/game/objects/items/hand_items.dm +++ b/code/game/objects/items/hand_items.dm @@ -187,7 +187,7 @@ log_combat(user, target, "given a noogie to", addition = "([damage] brute before armor)") target.apply_damage(damage, BRUTE, BODY_ZONE_HEAD) user.adjustStaminaLoss(iteration + 5) - playsound(get_turf(user), pick('sound/effects/rustle1.ogg','sound/effects/rustle2.ogg','sound/effects/rustle3.ogg','sound/effects/rustle4.ogg','sound/effects/rustle5.ogg'), 50) + playsound(get_turf(user), pick('sound/effects/rustle/rustle1.ogg','sound/effects/rustle/rustle2.ogg','sound/effects/rustle/rustle3.ogg','sound/effects/rustle/rustle4.ogg','sound/effects/rustle/rustle5.ogg'), 50) if(prob(33)) user.visible_message(span_danger("[user] continues noogie'ing [target]!"), span_warning("You continue giving [target] a noogie!"), vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=target) @@ -235,7 +235,7 @@ ) to_chat(slapped, span_userdanger("You see [user] scoff and pull back [user.p_their()] arm, then suddenly you're on the ground with an ungodly ringing in your ears!")) slap_volume = 120 - SEND_SOUND(slapped, sound('sound/weapons/flash_ring.ogg')) + SEND_SOUND(slapped, sound('sound/items/weapons/flash_ring.ogg')) shake_camera(slapped, 2, 2) slapped.Paralyze(2.5 SECONDS) slapped.adjust_confusion(7 SECONDS) @@ -278,7 +278,7 @@ span_notice("You slap [slapped]!"), span_hear("You hear a slap."), ) - playsound(slapped, 'sound/weapons/slap.ogg', slap_volume, TRUE, -1) + playsound(slapped, 'sound/items/weapons/slap.ogg', slap_volume, TRUE, -1) return /obj/item/hand_item/slapper/pre_attack_secondary(atom/target, mob/living/user, params) @@ -542,8 +542,8 @@ name = "kiss" icon = 'icons/mob/simple/animal.dmi' icon_state = "heart" - hitsound = 'sound/effects/kiss.ogg' - hitsound_wall = 'sound/effects/kiss.ogg' + hitsound = 'sound/effects/emotes/kiss.ogg' + hitsound_wall = 'sound/effects/emotes/kiss.ogg' pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE speed = 1.6 damage_type = BRUTE diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 9e8f1d7308860..e63085d65be52 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -48,8 +48,8 @@ breakouttime = 1 MINUTES armor_type = /datum/armor/restraints_handcuffs custom_price = PAYCHECK_COMMAND * 0.35 - pickup_sound = 'sound/items/handcuffs_pick_up.ogg' - drop_sound = 'sound/items/handcuffs_drop.ogg' + pickup_sound = 'sound/items/handling/handcuffs/handcuffs_pick_up.ogg' + drop_sound = 'sound/items/handling/handcuffs/handcuffs_drop.ogg' sound_vary = TRUE ///How long it takes to handcuff someone @@ -57,7 +57,7 @@ ///Multiplier for handcuff time var/handcuff_time_mod = 1 ///Sound that plays when starting to put handcuffs on someone - var/cuffsound = 'sound/weapons/handcuffs.ogg' + var/cuffsound = 'sound/items/weapons/handcuffs.ogg' ///Sound that plays when restrain is successful var/cuffsuccesssound = 'sound/items/handcuff_finish.ogg' ///If set, handcuffs will be destroyed on application and leave behind whatever this is set to. @@ -200,7 +200,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT * 1.5, /datum/material/glass= SMALL_MATERIAL_AMOUNT * 0.75) breakouttime = 30 SECONDS - cuffsound = 'sound/weapons/cablecuff.ogg' + cuffsound = 'sound/items/weapons/cablecuff.ogg' pickup_sound = null drop_sound = null restraint_strength = HANDCUFFS_TYPE_WEAK @@ -424,7 +424,7 @@ /obj/item/restraints/legcuffs/beartrap/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is sticking [user.p_their()] head in the [src.name]! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/bladeslice.ogg', 50, TRUE, -1) return BRUTELOSS /obj/item/restraints/legcuffs/beartrap/attack_self(mob/user) @@ -551,7 +551,7 @@ /obj/item/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, gentle = FALSE, quickstart = TRUE) if(!..()) return - playsound(src.loc,'sound/weapons/bolathrow.ogg', 75, TRUE) + playsound(src.loc,'sound/items/weapons/bolathrow.ogg', 75, TRUE) /obj/item/restraints/legcuffs/bola/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(..() || !iscarbon(hit_atom))//if it gets caught or the target can't be cuffed, @@ -606,7 +606,7 @@ desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests." icon_state = "ebola" inhand_icon_state = "ebola" - hitsound = 'sound/weapons/taserhit.ogg' + hitsound = 'sound/items/weapons/taserhit.ogg' w_class = WEIGHT_CLASS_SMALL breakouttime = 6 SECONDS custom_price = PAYCHECK_COMMAND * 0.35 diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index d1e128c0b5b10..b9dc441df724a 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -17,9 +17,9 @@ demolition_mod = 1.25 attack_verb_continuous = list("robusts") attack_verb_simple = list("robust") - hitsound = 'sound/weapons/smash.ogg' - drop_sound = 'sound/items/handling/toolbox_drop.ogg' - pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + hitsound = 'sound/items/weapons/smash.ogg' + drop_sound = 'sound/items/handling/toolbox/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox/toolbox_pickup.ogg' var/awakened = FALSE var/bloodthirst = HIS_GRACE_SATIATED var/prev_bloodthirst = HIS_GRACE_SATIATED @@ -133,8 +133,8 @@ if(!L.stat) L.visible_message(span_warning("[src] lunges at [L]!"), "[src] lunges at you!") do_attack_animation(L, null, src) - playsound(L, 'sound/weapons/smash.ogg', 50, TRUE) - playsound(L, 'sound/misc/desecration-01.ogg', 50, TRUE) + playsound(L, 'sound/items/weapons/smash.ogg', 50, TRUE) + playsound(L, 'sound/effects/desecration/desecration-01.ogg', 50, TRUE) L.adjustBruteLoss(force) adjust_bloodthirst(-5) //Don't stop attacking they're right there! else @@ -172,7 +172,7 @@ return var/turf/T = get_turf(src) T.visible_message(span_boldwarning("[src] slowly stops rattling and falls still, His latch snapping shut.")) - playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE) + playsound(loc, 'sound/items/weapons/batonextend.ogg', 100, TRUE) name = initial(name) desc = initial(desc) animate(src, transform=matrix()) @@ -189,7 +189,7 @@ var/victims = 0 meal.visible_message(span_warning("[src] swings open and devours [meal]!"), "[src] consumes you!") meal.adjustBruteLoss(200) - playsound(meal, 'sound/misc/desecration-02.ogg', 75, TRUE) + playsound(meal, 'sound/effects/desecration/desecration-02.ogg', 75, TRUE) playsound(src, 'sound/items/eatfood.ogg', 100, TRUE) meal.forceMove(src) force_bonus += HIS_GRACE_FORCE_BONUS @@ -259,7 +259,7 @@ desc = "A legendary toolbox and a distant artifact from The Age of Three Powers. On its three latches engraved are the words \"The Sun\", \"The Moon\", and \"The Stars\". The entire toolbox has the words \"The World\" engraved into its sides." ascended = TRUE update_appearance() - playsound(src, 'sound/effects/his_grace_ascend.ogg', 100) + playsound(src, 'sound/effects/his_grace/his_grace_ascend.ogg', 100) if(istype(master)) master.update_held_items() master.visible_message("Gods will be watching.") diff --git a/code/game/objects/items/implants/implant_deathrattle.dm b/code/game/objects/items/implants/implant_deathrattle.dm index 64f85c020c87a..f26eb4ab947c6 100644 --- a/code/game/objects/items/implants/implant_deathrattle.dm +++ b/code/game/objects/items/implants/implant_deathrattle.dm @@ -54,10 +54,10 @@ var/area = get_area_name(get_turf(owner)) // All "hearers" hear the same sound. var/sound = pick( - 'sound/items/knell1.ogg', - 'sound/items/knell2.ogg', - 'sound/items/knell3.ogg', - 'sound/items/knell4.ogg', + 'sound/items/knell/knell1.ogg', + 'sound/items/knell/knell2.ogg', + 'sound/items/knell/knell3.ogg', + 'sound/items/knell/knell4.ogg', ) diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index 50302173a796f..503a1a183e163 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -84,7 +84,7 @@ ready = FALSE addtimer(CALLBACK(src, PROC_REF(set_ready)),injection_cooldown) else - playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, TRUE) + playsound(get_turf(src), 'sound/machines/buzz/buzz-sigh.ogg', 25, TRUE) update_appearance() /obj/machinery/implantchair/proc/implant_action(mob/living/M) diff --git a/code/game/objects/items/implants/security/implant_noteleport.dm b/code/game/objects/items/implants/security/implant_noteleport.dm index b4795a7f797b7..a757e2cc0cd0f 100644 --- a/code/game/objects/items/implants/security/implant_noteleport.dm +++ b/code/game/objects/items/implants/security/implant_noteleport.dm @@ -17,6 +17,7 @@ if(!. || !isliving(target)) return FALSE RegisterSignal(target, COMSIG_MOVABLE_TELEPORTING, PROC_REF(on_teleport)) + RegisterSignal(target, COMSIG_MOB_PRE_JAUNT, PROC_REF(on_jaunt)) return TRUE /obj/item/implant/teleport_blocker/removed(mob/target, silent = FALSE, special = FALSE) @@ -24,6 +25,7 @@ if(!. || !isliving(target)) return FALSE UnregisterSignal(target, COMSIG_MOVABLE_TELEPORTING) + UnregisterSignal(target, COMSIG_MOB_PRE_JAUNT) return TRUE /// Signal for COMSIG_MOVABLE_TELEPORTED that blocks teleports and stuns the would-be-teleportee. @@ -38,6 +40,18 @@ spark_system.start() return COMPONENT_BLOCK_TELEPORT +/// Signal for COMSIG_MOB_PRE_JAUNT that prevents a user from entering a jaunt. +/obj/item/implant/teleport_blocker/proc/on_jaunt(mob/living/jaunter) + SIGNAL_HANDLER + + to_chat(jaunter, span_holoparasite("As you attempt to jaunt, you slam directly into the barrier between realities and are sent crashing back into corporeality!")) + + jaunter.apply_status_effect(/datum/status_effect/incapacitating/paralyzed, 5 SECONDS) + var/datum/effect_system/spark_spread/quantum/spark_system = new() + spark_system.set_up(5, TRUE, jaunter) + spark_system.start() + return COMPONENT_BLOCK_JAUNT + /obj/item/implantcase/teleport_blocker name = "implant case - 'Bluespace Grounding'" desc = "A glass case containing a bluespace grounding implant." diff --git a/code/game/objects/items/implants/security/implant_track.dm b/code/game/objects/items/implants/security/implant_track.dm index b95c0afa7d857..9b8050d7dade2 100644 --- a/code/game/objects/items/implants/security/implant_track.dm +++ b/code/game/objects/items/implants/security/implant_track.dm @@ -48,7 +48,7 @@ return if(params["implant_action"] == "warn") - var/warning = tgui_input_text(user, "What warning do you want to send to [imp_in.name]?", "Messaging") + var/warning = tgui_input_text(user, "What warning do you want to send to [imp_in.name]?", "Messaging", max_length = MAX_MESSAGE_LEN) if(!warning || QDELETED(src) || QDELETED(user) || QDELETED(console) || isnull(imp_in)) return TRUE if(!console.is_operational || !user.can_perform_action(console, NEED_DEXTERITY|ALLOW_SILICON_REACH)) diff --git a/code/game/objects/items/inspector.dm b/code/game/objects/items/inspector.dm index 4aff1f03388ab..c22bf5d2ac60d 100644 --- a/code/game/objects/items/inspector.dm +++ b/code/game/objects/items/inspector.dm @@ -121,7 +121,7 @@ return ITEM_INTERACT_BLOCKING if(contraband_scan(interacting_with, user)) - playsound(src, 'sound/machines/uplinkerror.ogg', 40) + playsound(src, 'sound/machines/uplink/uplinkerror.ogg', 40) balloon_alert(user, "contraband detected!") return ITEM_INTERACT_SUCCESS else @@ -195,10 +195,10 @@ */ /obj/item/inspector/proc/print_report(mob/user) if(!cell) - to_chat(user, "\The [src] doesn't seem to be on... It feels quite light. Perhaps it lacks a power cell?") + to_chat(user, span_info("\The [src] doesn't seem to be on... It feels quite light. Perhaps it lacks a power cell?")) return if(cell.charge == 0) - to_chat(user, "\The [src] doesn't seem to be on... Perhaps it ran out of power?") + to_chat(user, span_info("\The [src] doesn't seem to be on... Perhaps it ran out of power?")) return if(!cell.use(energy_per_print)) if(cell.use(ENERGY_TO_SPEAK)) @@ -389,7 +389,7 @@ if(cell.use(ENERGY_TO_SPEAK)) say("ERROR! OUT OF PAPER! MAXIMUM PRINTING SPEED UNAVAIBLE! SWITCH TO A SLOWER SPEED TO OR PROVIDE PAPER!") else - to_chat(user, "\The [src] doesn't seem to be on... Perhaps it ran out of power?") + to_chat(user, span_info("\The [src] doesn't seem to be on... Perhaps it ran out of power?")) return paper_charges-- return ..() diff --git a/code/game/objects/items/janitor_key.dm b/code/game/objects/items/janitor_key.dm index 8f96205984b42..d18ac7bd20db5 100644 --- a/code/game/objects/items/janitor_key.dm +++ b/code/game/objects/items/janitor_key.dm @@ -82,6 +82,6 @@ investigate_log("Access to the [department_access] department on [src] has expired.]", INVESTIGATE_ACCESSCHANGES) department_access = null say("Access revoked, time ran out.") - playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE) + playsound(src, 'sound/machines/scanner/scanbuzz.ogg', 25, TRUE) #undef ACCESS_TIMER_LIMIT diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 9a55b1cd57464..24506e006d81f 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -30,7 +30,7 @@ obj_flags = CONDUCTS_ELECTRICITY attack_verb_continuous = list("attacks", "stabs", "pokes") attack_verb_simple = list("attack", "stab", "poke") - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' armor_type = /datum/armor/kitchen_fork sharpness = SHARP_POINTY var/datum/reagent/forkload //used to eat omelette @@ -110,7 +110,7 @@ force = 0 throwforce = 0 sharpness = SHARP_EDGED - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("prods", "whiffs", "scratches", "pokes") attack_verb_simple = list("prod", "whiff", "scratch", "poke") tool_behaviour = TOOL_KNIFE @@ -123,7 +123,7 @@ . += " It's fitted with a [tool_behaviour] head." /obj/item/knife/kitchen/silicon/attack_self(mob/user) - playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE) + playsound(get_turf(user), 'sound/items/tools/change_drill.ogg', 50, TRUE) if(tool_behaviour != TOOL_ROLLINGPIN) tool_behaviour = TOOL_ROLLINGPIN to_chat(user, span_notice("You attach the rolling pin bit to the [src].")) @@ -140,7 +140,7 @@ icon_state = "sili_knife" force = 0 sharpness = SHARP_EDGED - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("prods", "whiffs", "scratches", "pokes") attack_verb_simple = list("prod", "whiff", "scratch", "poke") diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm index 848058a6a279e..e089a5bc55d7d 100644 --- a/code/game/objects/items/knives.dm +++ b/code/game/objects/items/knives.dm @@ -13,7 +13,7 @@ demolition_mod = 0.75 w_class = WEIGHT_CLASS_SMALL throwforce = 10 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' throw_speed = 3 throw_range = 6 custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 6) @@ -145,7 +145,7 @@ . = ..() if(user.get_item_by_slot(ITEM_SLOT_MASK) == src && !user.has_status_effect(/datum/status_effect/choke) && prob(20)) user.apply_damage(5, BRUTE, BODY_ZONE_HEAD) - playsound(user, 'sound/weapons/slice.ogg', 50, TRUE) + playsound(user, 'sound/items/weapons/slice.ogg', 50, TRUE) user.visible_message(span_danger("[user] accidentally cuts [user.p_them()]self while pulling [src] out of [user.p_them()] teeth! What a doofus!"), span_userdanger("You accidentally cut your mouth with [src]!")) /obj/item/knife/combat/equipped(mob/living/user, slot, initial = FALSE) diff --git a/code/game/objects/items/lighter.dm b/code/game/objects/items/lighter.dm new file mode 100644 index 0000000000000..a27db91909c3d --- /dev/null +++ b/code/game/objects/items/lighter.dm @@ -0,0 +1,362 @@ +/obj/item/lighter + name = "\improper Zippo lighter" + desc = "The zippo." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "zippo" + inhand_icon_state = "zippo" + worn_icon_state = "lighter" + w_class = WEIGHT_CLASS_TINY + obj_flags = CONDUCTS_ELECTRICITY + slot_flags = ITEM_SLOT_BELT + resistance_flags = FIRE_PROOF + grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/fuel/oil = 5) + custom_price = PAYCHECK_CREW * 1.1 + light_system = OVERLAY_LIGHT + light_range = 2 + light_power = 1.3 + light_color = LIGHT_COLOR_FIRE + light_on = FALSE + toolspeed = 1.5 + tool_behaviour = TOOL_WELDER + ///The amount of heat a lighter has while it's on. We're using the define to ensure lighters can't do things we don't want them to. + var/heat_while_on = HIGH_TEMPERATURE_REQUIRED - 100 + ///The amount of time the lighter has been on for, for fuel consumption. + var/burned_fuel_for = 0 + ///The max amount of fuel the lighter can hold. + var/maximum_fuel = 6 + /// Whether the lighter is lit. + var/lit = FALSE + /// Whether the lighter is fancy. Fancy lighters have fancier flavortext and won't burn thumbs. + var/fancy = TRUE + /// The engraving overlay used by this lighter. + var/overlay_state + /// A list of possible engraving overlays. + var/list/overlay_list = list( + "plain", + "dame", + "thirteen", + "snake", + ) + +/obj/item/lighter/Initialize(mapload) + . = ..() + create_reagents(maximum_fuel, REFILLABLE | DRAINABLE) + reagents.add_reagent(/datum/reagent/fuel, maximum_fuel) + if(!overlay_state) + overlay_state = pick(overlay_list) + AddComponent(\ + /datum/component/bullet_intercepting,\ + block_chance = 0.5,\ + active_slots = ITEM_SLOT_SUITSTORE,\ + on_intercepted = CALLBACK(src, PROC_REF(on_intercepted_bullet)),\ + ) + update_appearance() + +/// Destroy the lighter when it's shot by a bullet +/obj/item/lighter/proc/on_intercepted_bullet(mob/living/victim, obj/projectile/bullet) + victim.visible_message(span_warning("\The [bullet] shatters on [victim]'s lighter!")) + playsound(victim, SFX_RICOCHET, 100, TRUE) + new /obj/effect/decal/cleanable/oil(get_turf(src)) + do_sparks(1, TRUE, src) + victim.dropItemToGround(src, force = TRUE, silent = TRUE) + qdel(src) + +/obj/item/lighter/cyborg_unequip(mob/user) + if(!lit) + return + set_lit(FALSE) + +/obj/item/lighter/suicide_act(mob/living/carbon/user) + if (lit) + user.visible_message(span_suicide("[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!")) + playsound(src, 'sound/items/tools/welder.ogg', 50, TRUE) + return FIRELOSS + else + user.visible_message(span_suicide("[user] begins whacking [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) + return BRUTELOSS + +/obj/item/lighter/update_icon_state() + icon_state = "[initial(icon_state)][lit ? "-on" : ""]" + return ..() + +/obj/item/lighter/update_overlays() + . = ..() + . += create_lighter_overlay() + +/// Generates an overlay used by this lighter. +/obj/item/lighter/proc/create_lighter_overlay() + return mutable_appearance(icon, "lighter_overlay_[overlay_state][lit ? "-on" : ""]") + +/obj/item/lighter/ignition_effect(atom/A, mob/user) + if(get_temperature()) + . = span_infoplain(span_rose("With a single flick of [user.p_their()] wrist, [user] smoothly lights [A] with [src]. Damn [user.p_theyre()] cool.")) + +/obj/item/lighter/proc/set_lit(new_lit) + if(lit == new_lit) + return + + lit = new_lit + if(lit) + force = 5 + damtype = BURN + hitsound = 'sound/items/tools/welder.ogg' + attack_verb_continuous = string_list(list("burns", "singes")) + attack_verb_simple = string_list(list("burn", "singe")) + heat = heat_while_on + START_PROCESSING(SSobj, src) + if(fancy) + playsound(src.loc , 'sound/items/lighter/zippo_on.ogg', 100, 1) + else + playsound(src.loc, 'sound/items/lighter/lighter_on.ogg', 100, 1) + if(isliving(loc)) + var/mob/living/male_model = loc + if(male_model.fire_stacks && !(male_model.on_fire)) + male_model.ignite_mob() + else + hitsound = SFX_SWING_HIT + force = 0 + heat = 0 + attack_verb_continuous = null //human_defense.dm takes care of it + attack_verb_simple = null + STOP_PROCESSING(SSobj, src) + if(fancy) + playsound(src.loc , 'sound/items/lighter/zippo_off.ogg', 100, 1) + else + playsound(src.loc , 'sound/items/lighter/lighter_off.ogg', 100, 1) + set_light_on(lit) + update_appearance() + +/obj/item/lighter/extinguish() + . = ..() + set_lit(FALSE) + +/obj/item/lighter/attack_self(mob/living/user) + if(!user.is_holding(src)) + return ..() + if(lit) + set_lit(FALSE) + if(fancy) + user.visible_message( + span_notice("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow."), + span_notice("You quietly shut off [src] without even looking at what you're doing. Wow.") + ) + else + user.visible_message( + span_notice("[user] quietly shuts off [src]."), + span_notice("You quietly shut off [src].") + ) + return + + if(get_fuel() <= 0) + return + + set_lit(TRUE) + + if(fancy) + user.visible_message( + span_notice("Without even breaking stride, [user] flips open and lights [src] in one smooth movement."), + span_notice("Without even breaking stride, you flip open and light [src] in one smooth movement.") + ) + return + + var/hand_protected = FALSE + var/mob/living/carbon/human/human_user = user + if(!istype(human_user) || HAS_TRAIT(human_user, TRAIT_RESISTHEAT) || HAS_TRAIT(human_user, TRAIT_RESISTHEATHANDS)) + hand_protected = TRUE + else if(!istype(human_user.gloves, /obj/item/clothing/gloves)) + hand_protected = FALSE + else + var/obj/item/clothing/gloves/gloves = human_user.gloves + if(gloves.max_heat_protection_temperature) + hand_protected = (gloves.max_heat_protection_temperature > 360) + + if(hand_protected || prob(75)) + user.visible_message( + span_notice("After a few attempts, [user] manages to light [src]."), + span_notice("After a few attempts, you manage to light [src].") + ) + return + + var/hitzone = user.held_index_to_dir(user.active_hand_index) == "r" ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND + user.apply_damage(5, BURN, hitzone) + user.visible_message( + span_warning("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn[user.p_s()] [user.p_their()] finger in the process."), + span_warning("You burn yourself while lighting the lighter!") + ) + user.add_mood_event("burnt_thumb", /datum/mood_event/burnt_thumb) + +/obj/item/lighter/attack(mob/living/target_mob, mob/living/user, params) + if(lit) + use(0.5) + if(target_mob.ignite_mob()) + message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(target_mob)] on fire with [src] at [AREACOORD(user)]") + log_game("[key_name(user)] set [key_name(target_mob)] on fire with [src] at [AREACOORD(user)]") + var/obj/item/cigarette/cig = help_light_cig(target_mob) + if(!lit || !cig || user.combat_mode) + return ..() + + if(cig.lit) + to_chat(user, span_warning("The [cig.name] is already lit!")) + if(target_mob == user) + cig.attackby(src, user) + return + + if(fancy) + cig.light(span_rose("[user] whips the [name] out and holds it for [target_mob]. [user.p_Their()] arm is as steady as the unflickering flame [user.p_they()] light[user.p_s()] \the [cig] with.")) + else + cig.light(span_notice("[user] holds the [name] out for [target_mob], and lights [target_mob.p_their()] [cig.name].")) + +///Checks if the lighter is able to perform a welding task. +/obj/item/lighter/tool_use_check(mob/living/user, amount, heat_required) + if(!lit) + to_chat(user, span_warning("[src] has to be on to complete this task!")) + return FALSE + if(get_fuel() < amount) + to_chat(user, span_warning("You need more welding fuel to complete this task!")) + return FALSE + if(heat < heat_required) + return FALSE + return TRUE + +/obj/item/lighter/process(seconds_per_tick) + if(lit) + burned_fuel_for += seconds_per_tick + if(burned_fuel_for >= TOOL_FUEL_BURN_INTERVAL) + use(used = 0.25) + + open_flame(heat) + +/obj/item/lighter/get_temperature() + return lit * heat + +/// Uses fuel from the lighter. +/obj/item/lighter/use(used = 0) + if(!lit) + return FALSE + + if(used > 0) + burned_fuel_for = 0 + + if(get_fuel() >= used) + reagents.remove_reagent(/datum/reagent/fuel, used) + if(get_fuel() <= 0) + set_lit(FALSE) + return TRUE + return FALSE + +///Returns the amount of fuel +/obj/item/lighter/proc/get_fuel() + return reagents.get_reagent_amount(/datum/reagent/fuel) + +/obj/item/lighter/greyscale + name = "cheap lighter" + desc = "A cheap lighter." + icon_state = "lighter" + maximum_fuel = 3 + fancy = FALSE + overlay_list = list( + "transp", + "tall", + "matte", + "zoppo", //u cant stoppo th zoppo + ) + + /// The color of the lighter. + var/lighter_color + /// The set of colors this lighter can be autoset as on init. + var/static/list/color_list = list( //Same 16 color selection as electronic assemblies + COLOR_ASSEMBLY_BLACK, + COLOR_FLOORTILE_GRAY, + COLOR_ASSEMBLY_BGRAY, + COLOR_ASSEMBLY_WHITE, + COLOR_ASSEMBLY_RED, + COLOR_ASSEMBLY_ORANGE, + COLOR_ASSEMBLY_BEIGE, + COLOR_ASSEMBLY_BROWN, + COLOR_ASSEMBLY_GOLD, + COLOR_ASSEMBLY_YELLOW, + COLOR_ASSEMBLY_GURKHA, + COLOR_ASSEMBLY_LGREEN, + COLOR_ASSEMBLY_GREEN, + COLOR_ASSEMBLY_LBLUE, + COLOR_ASSEMBLY_BLUE, + COLOR_ASSEMBLY_PURPLE + ) + +/obj/item/lighter/greyscale/Initialize(mapload) + . = ..() + if(!lighter_color) + lighter_color = pick(color_list) + update_appearance() + +/obj/item/lighter/greyscale/create_lighter_overlay() + var/mutable_appearance/lighter_overlay = ..() + lighter_overlay.color = lighter_color + return lighter_overlay + +/obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user) + if(get_temperature()) + . = span_notice("After some fiddling, [user] manages to light [A] with [src].") + + +/obj/item/lighter/slime + name = "slime zippo" + desc = "A specialty zippo made from slimes and industry. Has a much hotter flame than normal." + icon_state = "slighter" + heat_while_on = parent_type::heat_while_on + 1000 //Blue flame is hotter, this means this does act as a welding tool. + light_color = LIGHT_COLOR_CYAN + overlay_state = "slime" + grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/medicine/pyroxadone = 5) + +/obj/item/lighter/skull + name = "badass zippo" + desc = "An absolutely badass zippo lighter. Just look at that skull!" + overlay_state = "skull" + +/obj/item/lighter/mime + name = "pale zippo" + desc = "In lieu of fuel, performative spirit can be used to light cigarettes." + icon_state = "mlighter" //These ones don't show a flame. + light_color = LIGHT_COLOR_HALOGEN + heat_while_on = 0 //I swear it's a real lighter dude you just can't see the flame dude I promise + overlay_state = "mime" + grind_results = list(/datum/reagent/iron = 1, /datum/reagent/toxin/mutetoxin = 5, /datum/reagent/consumable/nothing = 10) + light_range = 0 + light_power = 0 + fancy = FALSE + +/obj/item/lighter/mime/ignition_effect(atom/A, mob/user) + . = span_infoplain("[user] lifts the [name] to the [A], which miraculously lights!") + +/obj/item/lighter/bright + name = "illuminative zippo" + desc = "Sustains an incredibly bright chemical reaction when you spark it. Avoid looking directly at the igniter when lit." + icon_state = "slighter" + light_color = LIGHT_COLOR_ELECTRIC_CYAN + overlay_state = "bright" + grind_results = list(/datum/reagent/iron = 1, /datum/reagent/flash_powder = 10) + light_range = 8 + light_power = 3 //Irritatingly bright and large enough to cover a small room. + fancy = FALSE + +/obj/item/lighter/bright/examine(mob/user) + . = ..() + + if(lit && isliving(user)) + var/mob/living/current_viewer = user + current_viewer.flash_act(4) + +/obj/item/lighter/bright/ignition_effect(atom/A, mob/user) + if(get_temperature()) + . = span_infoplain(span_rose("[user] lifts the [src] to the [A], igniting it with a brilliant flash of light!")) + var/mob/living/current_viewer = user + current_viewer.flash_act(4) + +/obj/effect/spawner/random/special_lighter + name = "special lighter spawner" + icon_state = "lighter" + loot = list( + /obj/item/lighter/skull, + /obj/item/lighter/mime, + /obj/item/lighter/bright, + ) diff --git a/code/game/objects/items/machine_wand.dm b/code/game/objects/items/machine_wand.dm index 75c765730f78b..a4e1be08ee450 100644 --- a/code/game/objects/items/machine_wand.dm +++ b/code/game/objects/items/machine_wand.dm @@ -61,7 +61,7 @@ /obj/item/machine_remote/ui_interact(mob/user, datum/tgui/ui) if(!COOLDOWN_FINISHED(src, timeout_time)) - playsound(src, 'sound/machines/synth_no.ogg', 30 , TRUE) + playsound(src, 'sound/machines/synth/synth_no.ogg', 30 , TRUE) say("Remote control disabled temporarily. Please try again soon.") return FALSE if(!controlling_machine_or_bot) @@ -85,12 +85,14 @@ remove_old_machine() return CLICK_ACTION_SUCCESS -/obj/item/machine_remote/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/machine_remote/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(HAS_TRAIT(interacting_with, TRAIT_COMBAT_MODE_SKIP_INTERACTION) || (!ismachinery(interacting_with) && !isbot(interacting_with))) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) + +/obj/item/machine_remote/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!COOLDOWN_FINISHED(src, timeout_time)) - playsound(src, 'sound/machines/synth_no.ogg', 30 , TRUE) + playsound(src, 'sound/machines/synth/synth_no.ogg', 30 , TRUE) say("Remote control disabled temporarily. Please try again soon.") return ITEM_INTERACT_BLOCKING if(!ismachinery(interacting_with) && !isbot(interacting_with)) diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm index 2aec478162445..e11310b57e868 100644 --- a/code/game/objects/items/mail.dm +++ b/code/game/objects/items/mail.dm @@ -107,7 +107,7 @@ var/tag = uppertext(GLOB.TAGGERLOCATIONS[destination_tag.currTag]) to_chat(user, span_notice("*[tag]*")) sort_tag = destination_tag.currTag - playsound(loc, 'sound/machines/twobeep_high.ogg', vol = 100, vary = TRUE) + playsound(loc, 'sound/machines/beep/twobeep_high.ogg', vol = 100, vary = TRUE) /obj/item/mail/multitool_act(mob/living/user, obj/item/tool) if(user.get_inactive_held_item() == src) @@ -145,7 +145,7 @@ user.put_in_hands(stuff) else stuff.forceMove(drop_location()) - playsound(loc, 'sound/items/poster_ripped.ogg', vol = 50, vary = TRUE) + playsound(loc, 'sound/items/poster/poster_ripped.ogg', vol = 50, vary = TRUE) qdel(src) return TRUE @@ -402,7 +402,7 @@ /obj/item/mail/traitor/after_unwrap(mob/user) user.temporarilyRemoveItemFromInventory(src, force = TRUE) - playsound(loc, 'sound/items/poster_ripped.ogg', vol = 50, vary = TRUE) + playsound(loc, 'sound/items/poster/poster_ripped.ogg', vol = 50, vary = TRUE) for(var/obj/item/stuff as anything in contents) // Mail and envelope actually can have more than 1 item. if(user.put_in_hands(stuff) && armed) var/whomst = made_by_cached_name ? "[made_by_cached_name] ([made_by_cached_ckey])" : "no one in particular" @@ -419,7 +419,7 @@ if(!do_after(user, 2 SECONDS, target = src)) return FALSE balloon_alert(user, "disarmed") - playsound(src, 'sound/machines/defib_ready.ogg', vol = 100, vary = TRUE) + playsound(src, 'sound/machines/defib/defib_ready.ogg', vol = 100, vary = TRUE) armed = FALSE return TRUE else @@ -430,7 +430,7 @@ return FALSE if(prob(50)) balloon_alert(user, "disarmed something...?") - playsound(src, 'sound/machines/defib_ready.ogg', vol = 100, vary = TRUE) + playsound(src, 'sound/machines/defib/defib_ready.ogg', vol = 100, vary = TRUE) armed = FALSE return TRUE else @@ -548,10 +548,10 @@ shady_mail.made_by_cached_name = user.mind.name if(index == 1) - var/mail_name = tgui_input_text(user, "Enter mail title, or leave it blank", "Mail Counterfeiting") + var/mail_name = tgui_input_text(user, "Enter mail title, or leave it blank", "Mail Counterfeiting", max_length = MAX_LABEL_LEN) if(!(src in user.contents)) return FALSE - if(reject_bad_text(mail_name, ascii_only = FALSE)) + if(reject_bad_text(mail_name, max_length = MAX_LABEL_LEN, ascii_only = FALSE)) shady_mail.name = mail_name else shady_mail.name = mail_type diff --git a/code/game/objects/items/maintenance_loot.dm b/code/game/objects/items/maintenance_loot.dm index 74d908732a562..9d1c4fe676b84 100644 --- a/code/game/objects/items/maintenance_loot.dm +++ b/code/game/objects/items/maintenance_loot.dm @@ -20,8 +20,9 @@ wound_bonus = 20 demolition_mod = 1.25 grind_results = list(/datum/reagent/lead = 20) - pickup_sound = 'sound/items/lead_pipe_pickup.ogg' - drop_sound = 'sound/items/lead_pipe_drop.ogg' + pickup_sound = 'sound/items/handling/lead_pipe/lead_pipe_pickup.ogg' + drop_sound = 'sound/items/handling/materials/metal_drop.ogg' + throw_drop_sound = 'sound/items/handling/lead_pipe/lead_pipe_drop.ogg' hitsound = 'sound/items/lead_pipe_hit.ogg' //A good battery early in the shift. Source of lead & sulfuric acid reagents. diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index f7a243e058fe4..01e5983b7d7aa 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -12,6 +12,7 @@ force = 12 //9 hit crit w_class = WEIGHT_CLASS_NORMAL wound_bonus = 15 + sound_vary = TRUE /// Whether this baton is active or not var/active = TRUE @@ -176,7 +177,7 @@ /obj/item/melee/baton/proc/check_parried(mob/living/carbon/human/human_target, mob/living/user) if (human_target.check_block(src, 0, "[user]'s [name]", MELEE_ATTACK)) - playsound(human_target, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(human_target, 'sound/items/weapons/genhit.ogg', 50, TRUE) return TRUE return FALSE @@ -318,12 +319,15 @@ bare_wound_bonus = 5 clumsy_knockdown_time = 15 SECONDS active = FALSE - pickup_sound = 'sound/items/stun_baton_pick_up.ogg' - drop_sound = 'sound/items/stun_baton_drop.ogg' + var/folded_drop_sound = 'sound/items/baton/telescopic_baton_folded_drop.ogg' + var/folded_pickup_sound = 'sound/items/baton/telescopic_baton_folded_pickup.ogg' + var/unfolded_drop_sound = 'sound/items/baton/telescopic_baton_unfolded_drop.ogg' + var/unfolded_pickup_sound = 'sound/items/baton/telescopic_baton_unfolded_pickup.ogg' + pickup_sound = 'sound/items/baton/telescopic_baton_folded_pickup.ogg' + drop_sound = 'sound/items/baton/telescopic_baton_folded_drop.ogg' sound_vary = TRUE - /// The sound effecte played when our baton is extended. - var/on_sound = 'sound/weapons/batonextend.ogg' + var/on_sound = 'sound/items/weapons/batonextend.ogg' /// The inhand iconstate used when our baton is extended. var/on_inhand_icon_state = "nullrod" /// The force on extension. @@ -377,6 +381,12 @@ inhand_icon_state = active ? on_inhand_icon_state : null // When inactive, there is no inhand icon_state. if(user) balloon_alert(user, active ? "extended" : "collapsed") + if(!active) + drop_sound = folded_drop_sound + pickup_sound = folded_pickup_sound + else + drop_sound = unfolded_drop_sound + pickup_sound = unfolded_pickup_sound playsound(src, on_sound, 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE @@ -397,10 +407,12 @@ stamina_damage = 85 clumsy_knockdown_time = 24 SECONDS affect_cyborg = TRUE - on_stun_sound = 'sound/effects/contractorbatonhit.ogg' + on_stun_sound = 'sound/items/weapons/contractor_baton/contractorbatonhit.ogg' + unfolded_drop_sound = 'sound/items/baton/contractor_baton_unfolded_pickup.ogg' + unfolded_pickup_sound = 'sound/items/baton/contractor_baton_unfolded_pickup.ogg' on_inhand_icon_state = "contractor_baton_on" - on_sound = 'sound/weapons/contractorbatonextend.ogg' + on_sound = 'sound/items/weapons/contractorbatonextend.ogg' active_force = 16 /obj/item/melee/baton/telescopic/contractor_baton/get_wait_description() @@ -430,7 +442,7 @@ knockdown_time = 5 SECONDS clumsy_knockdown_time = 15 SECONDS cooldown = 2.5 SECONDS - on_stun_sound = 'sound/weapons/egloves.ogg' + on_stun_sound = 'sound/items/weapons/egloves.ogg' on_stun_volume = 50 active = FALSE context_living_rmb_active = "Harmful Stun" @@ -439,11 +451,14 @@ light_on = FALSE light_color = LIGHT_COLOR_ORANGE light_power = 0.5 - pickup_sound = 'sound/items/stun_baton_pick_up.ogg' - drop_sound = 'sound/items/stun_baton_drop.ogg' + var/inactive_drop_sound = 'sound/items/baton/stun_baton_inactive_drop.ogg' + var/inactive_pickup_sound = 'sound/items/baton/stun_baton_inactive_pickup.ogg' + var/active_drop_sound = 'sound/items/baton/stun_baton_active_drop.ogg' + var/active_pickup_sound = 'sound/items/baton/stun_baton_active_pickup.ogg' + drop_sound = 'sound/items/baton/stun_baton_inactive_drop.ogg' + pickup_sound = 'sound/items/baton/stun_baton_inactive_pickup.ogg' sound_vary = TRUE - var/throw_stun_chance = 35 var/obj/item/stock_parts/power_store/cell var/preload_cell_type //if not empty the baton starts with this type of cell @@ -464,7 +479,6 @@ else cell = new preload_cell_type(src) RegisterSignal(src, COMSIG_ATOM_ATTACKBY, PROC_REF(convert)) - RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) update_appearance() /obj/item/melee/baton/security/get_cell() @@ -493,25 +507,25 @@ var/turf/source_turf = get_turf(src) var/obj/item/melee/baton/baton = new (source_turf) baton.alpha = 20 - playsound(source_turf, 'sound/items/drill_use.ogg', 80, TRUE, -1) + playsound(source_turf, 'sound/items/tools/drill_use.ogg', 80, TRUE, -1) animate(src, alpha = 0, time = 1 SECONDS) animate(baton, alpha = 255, time = 1 SECONDS) qdel(item) qdel(src) -/obj/item/melee/baton/security/proc/on_saboteur(datum/source, disrupt_duration) - SIGNAL_HANDLER +/obj/item/melee/baton/security/on_saboteur(datum/source, disrupt_duration) + . = ..() if(!active) return - toggle_light() - active = FALSE + turn_off() update_appearance() - return COMSIG_SABOTEUR_SUCCESS + return TRUE + /obj/item/melee/baton/security/Exited(atom/movable/mov_content) . = ..() if(mov_content == cell) cell = null - active = FALSE + turn_off() update_appearance() /obj/item/melee/baton/security/update_icon_state() @@ -561,26 +575,41 @@ return FALSE /obj/item/melee/baton/security/attack_self(mob/user) - if(cell?.charge >= cell_hit_cost) - active = !active - balloon_alert(user, "turned [active ? "on" : "off"]") - playsound(src, SFX_SPARKS, 75, TRUE, -1) - toggle_light(user) - do_sparks(1, TRUE, src) + if(cell?.charge >= cell_hit_cost && !active) + turn_on(user) + balloon_alert(user, "turned on") else - active = FALSE + turn_off() if(!cell) balloon_alert(user, "no power source!") - else + else if(cell?.charge < cell_hit_cost) balloon_alert(user, "out of charge!") - update_appearance() + else + balloon_alert(user, "turned off") add_fingerprint(user) /// Toggles the stun baton's light -/obj/item/melee/baton/security/proc/toggle_light(mob/user) +/obj/item/melee/baton/security/proc/toggle_light() set_light_on(!light_on) return +/obj/item/melee/baton/security/proc/turn_on(mob/user) + active = TRUE + playsound(src, SFX_SPARKS, 75, TRUE, -1) + update_appearance() + toggle_light() + do_sparks(1, TRUE, src) + drop_sound = active_drop_sound + pickup_sound = active_pickup_sound + +/obj/item/melee/baton/security/proc/turn_off() + active = FALSE + set_light_on(FALSE) + update_appearance() + playsound(src, SFX_SPARKS, 75, TRUE, -1) + drop_sound = inactive_drop_sound + pickup_sound = inactive_pickup_sound + /obj/item/melee/baton/security/proc/deductcharge(deducted_charge) if(!cell) return @@ -589,10 +618,7 @@ . = cell.use(deducted_charge) if(active && cell.charge < cell_hit_cost) //we're below minimum, turn off - active = FALSE - set_light_on(FALSE) - update_appearance() - playsound(src, SFX_SPARKS, 75, TRUE, -1) + turn_off() /obj/item/melee/baton/security/clumsy_check(mob/living/carbon/human/user) . = ..() diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index dd70bd08c2161..f78eec3898799 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -24,7 +24,7 @@ /// Sharpness while active. var/active_sharpness = SHARP_EDGED /// Hitsound played attacking while active. - var/active_hitsound = 'sound/weapons/blade1.ogg' + var/active_hitsound = 'sound/items/weapons/blade1.ogg' /// Weight class while active. var/active_w_class = WEIGHT_CLASS_BULKY /// The heat given off when active. @@ -122,7 +122,7 @@ tool_behaviour = (active ? TOOL_SAW : NONE) //Lets energy weapons cut trees. Also lets them do bonecutting surgery, which is kinda metal! if(user) balloon_alert(user, "[name] [active ? "enabled":"disabled"]") - playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) + playsound(src, active ? 'sound/items/weapons/saberon.ogg' : 'sound/items/weapons/saberoff.ogg', 35, TRUE) set_light_on(active) update_appearance(UPDATE_ICON_STATE) return COMPONENT_NO_DEFAULT_MESSAGE @@ -136,7 +136,7 @@ base_icon_state = "axe" lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "chops", "cleaves", "tears", "lacerates", "cuts") attack_verb_simple = list("attack", "chop", "cleave", "tear", "lacerate", "cut") force = 40 @@ -188,7 +188,7 @@ throw_range = 5 armour_penetration = 35 block_chance = 50 - block_sound = 'sound/weapons/block_blade.ogg' + block_sound = 'sound/items/weapons/block_blade.ogg' embed_type = /datum/embed_data/esword /obj/item/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) @@ -227,7 +227,7 @@ desc = "For heavy duty cutting. It has a carbon-fiber blade in addition to a toggleable hard-light edge to dramatically increase sharpness." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "esaw" - hitsound = 'sound/weapons/circsawhit.ogg' + hitsound = 'sound/items/weapons/circsawhit.ogg' force = 18 hitcost = 0.075 * STANDARD_CELL_CHARGE // Costs more than a standard cyborg esword. w_class = WEIGHT_CLASS_NORMAL @@ -321,7 +321,7 @@ base_icon_state = "blade" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - hitsound = 'sound/weapons/blade1.ogg' + hitsound = 'sound/items/weapons/blade1.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") force = 30 diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 855484c3066d4..813ace6ced89e 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -21,7 +21,7 @@ w_class = WEIGHT_CLASS_NORMAL attack_verb_continuous = list("flogs", "whips", "lashes", "disciplines") attack_verb_simple = list("flog", "whip", "lash", "discipline") - hitsound = 'sound/weapons/chainhit.ogg' + hitsound = 'sound/items/weapons/chainhit.ogg' custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT) /obj/item/melee/chainofcommand/suicide_act(mob/living/user) @@ -39,7 +39,7 @@ w_class = WEIGHT_CLASS_HUGE force = 20 throwforce = 10 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") sharpness = SHARP_EDGED @@ -70,8 +70,8 @@ sharpness = SHARP_EDGED attack_verb_continuous = list("slashes", "cuts") attack_verb_simple = list("slash", "cut") - block_sound = 'sound/weapons/parry.ogg' - hitsound = 'sound/weapons/rapierhit.ogg' + block_sound = 'sound/items/weapons/parry.ogg' + hitsound = 'sound/items/weapons/rapierhit.ogg' custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT) wound_bonus = 10 bare_wound_bonus = 25 @@ -182,8 +182,8 @@ sharpness = SHARP_EDGED attack_verb_continuous = list("slashes", "cuts") attack_verb_simple = list("slash", "cut") - block_sound = 'sound/weapons/parry.ogg' - hitsound = 'sound/weapons/rapierhit.ogg' + block_sound = 'sound/items/weapons/parry.ogg' + hitsound = 'sound/items/weapons/rapierhit.ogg' custom_materials = null wound_bonus = 5 bare_wound_bonus = 15 @@ -224,8 +224,8 @@ armour_penetration = 65 attack_verb_continuous = list("slashes", "stings", "prickles", "pokes") attack_verb_simple = list("slash", "sting", "prickle", "poke") - hitsound = 'sound/weapons/rapierhit.ogg' - block_sound = 'sound/weapons/parry.ogg' + hitsound = 'sound/items/weapons/rapierhit.ogg' + block_sound = 'sound/items/weapons/parry.ogg' /obj/item/melee/beesword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) if(attack_type == PROJECTILE_ATTACK || attack_type == LEAP_ATTACK) @@ -370,7 +370,7 @@ w_class = WEIGHT_CLASS_NORMAL attack_verb_continuous = list("flogs", "whips", "lashes", "disciplines") attack_verb_simple = list("flog", "whip", "lash", "discipline") - hitsound = 'sound/weapons/whip.ogg' + hitsound = 'sound/items/weapons/whip.ogg' /obj/item/melee/curator_whip/afterattack(atom/target, mob/user, click_parameters) if(ishuman(target)) @@ -434,7 +434,7 @@ inhand_icon_state = active ? "nullrod" : null if(user) balloon_alert(user, "[active ? "extended" : "collapsed"] [src]") - playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/batonextend.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/melee/roastingstick/attackby(atom/target, mob/user) @@ -475,7 +475,7 @@ return NONE if (istype(interacting_with, /obj/singularity) && get_dist(user, interacting_with) < 10) to_chat(user, span_notice("You send [held_sausage] towards [interacting_with].")) - playsound(src, 'sound/items/rped.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/rped.ogg', 50, TRUE) beam = user.Beam(interacting_with, icon_state = "rped_upgrade", time = 10 SECONDS) return ITEM_INTERACT_SUCCESS return NONE @@ -486,21 +486,21 @@ if (!is_type_in_typecache(interacting_with, ovens)) return NONE to_chat(user, span_notice("You extend [src] towards [interacting_with].")) - playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/batonextend.ogg', 50, TRUE) finish_roasting(user, interacting_with) return ITEM_INTERACT_SUCCESS /obj/item/melee/roastingstick/proc/finish_roasting(user, atom/target) if(do_after(user, 10 SECONDS, target = user)) to_chat(user, span_notice("You finish roasting [held_sausage].")) - playsound(src, 'sound/items/welder2.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/welder2.ogg', 50, TRUE) held_sausage.add_atom_colour(rgb(103, 63, 24), FIXED_COLOUR_PRIORITY) held_sausage.name = "[target.name]-roasted [held_sausage.name]" held_sausage.desc = "[held_sausage.desc] It has been cooked to perfection on \a [target]." update_appearance() else QDEL_NULL(beam) - playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/batonextend.ogg', 50, TRUE) to_chat(user, span_notice("You put [src] away.")) /obj/item/melee/cleric_mace @@ -524,7 +524,7 @@ w_class = WEIGHT_CLASS_BULKY throwforce = 8 block_chance = 10 - block_sound = 'sound/weapons/genhit.ogg' + block_sound = 'sound/items/weapons/genhit.ogg' armour_penetration = 50 attack_verb_continuous = list("smacks", "strikes", "cracks", "beats") attack_verb_simple = list("smack", "strike", "crack", "beat") diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 2e2e622ff6c1b..0148076f529ec 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -57,14 +57,14 @@ /obj/item/pet_carrier/attack_self(mob/living/user) if(open) to_chat(user, span_notice("You close [src]'s door.")) - playsound(user, 'sound/effects/bin_close.ogg', 50, TRUE) + playsound(user, 'sound/effects/bin/bin_close.ogg', 50, TRUE) open = FALSE else if(locked) to_chat(user, span_warning("[src] is locked!")) return to_chat(user, span_notice("You open [src]'s door.")) - playsound(user, 'sound/effects/bin_open.ogg', 50, TRUE) + playsound(user, 'sound/effects/bin/bin_open.ogg', 50, TRUE) open = TRUE update_appearance() @@ -74,9 +74,9 @@ locked = !locked to_chat(user, span_notice("You flip the lock switch [locked ? "down" : "up"].")) if(locked) - playsound(user, 'sound/machines/boltsdown.ogg', 30, TRUE) + playsound(user, 'sound/machines/airlock/boltsdown.ogg', 30, TRUE) else - playsound(user, 'sound/machines/boltsup.ogg', 30, TRUE) + playsound(user, 'sound/machines/airlock/boltsup.ogg', 30, TRUE) update_appearance() return CLICK_ACTION_SUCCESS @@ -129,7 +129,7 @@ loc.visible_message(span_warning("[user] flips the lock switch on [src] by reaching through!"), null, null, null, user) to_chat(user, span_boldannounce("Bingo! The lock pops open!")) locked = FALSE - playsound(src, 'sound/machines/boltsup.ogg', 30, TRUE) + playsound(src, 'sound/machines/airlock/boltsup.ogg', 30, TRUE) update_appearance() else loc.visible_message(span_warning("[src] starts rattling as something pushes against the door!"), null, null, null, user) @@ -182,7 +182,7 @@ add_occupant(target) /obj/item/pet_carrier/proc/add_occupant(mob/living/occupant) - if(occupant in occupants || !istype(occupant)) + if((occupant in occupants) || !istype(occupant)) return occupant.forceMove(src) occupants += occupant diff --git a/code/game/objects/items/pillow.dm b/code/game/objects/items/pillow.dm index b924983a4272f..af2096a9c2caa 100644 --- a/code/game/objects/items/pillow.dm +++ b/code/game/objects/items/pillow.dm @@ -51,9 +51,9 @@ if(!iscarbon(target_mob)) return if(bricked || HAS_TRAIT(src, TRAIT_WIELDED)) - hit_sound = 'sound/items/pillow_hit2.ogg' + hit_sound = 'sound/items/pillow/pillow_hit2.ogg' else - hit_sound = 'sound/items/pillow_hit.ogg' + hit_sound = 'sound/items/pillow/pillow_hit.ogg' user.apply_damage(5, STAMINA) //Had to be done so one person cannot keep multiple people stam critted last_fighter = user playsound(user, hit_sound, 80) //the basic 50 vol is barely audible @@ -116,7 +116,7 @@ user.put_in_hands(pillow_trophy) pillow_trophy = null balloon_alert(user, "tag removed") - playsound(user,'sound/items/poster_ripped.ogg', 50) + playsound(user,'sound/items/poster/poster_ripped.ogg', 50) update_appearance() return CLICK_ACTION_SUCCESS diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 526b5ca2e985e..878fd0ad3bb77 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -44,7 +44,7 @@ /obj/item/pinpointer/proc/toggle_on() active = !active - playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/screwdriver2.ogg', 50, TRUE) if(active) START_PROCESSING(SSfastprocess, src) else diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm index 63c4db34b3969..1ece740d4a6df 100644 --- a/code/game/objects/items/pitchfork.dm +++ b/code/game/objects/items/pitchfork.dm @@ -17,7 +17,7 @@ w_class = WEIGHT_CLASS_BULKY attack_verb_continuous = list("attacks", "impales", "pierces") attack_verb_simple = list("attack", "impale", "pierce") - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' sharpness = SHARP_EDGED max_integrity = 200 armor_type = /datum/armor/item_pitchfork diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 93fd6cb947a5d..7c7f998251c12 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -393,7 +393,7 @@ inhand_icon_state = "carp_plushie" attack_verb_continuous = list("bites", "eats", "fin slaps") attack_verb_simple = list("bite", "eat", "fin slap") - squeak_override = list('sound/weapons/bite.ogg'=1) + squeak_override = list('sound/items/weapons/bite.ogg'=1) /obj/item/toy/plush/bubbleplush name = "\improper Bubblegum plushie" @@ -401,7 +401,7 @@ icon_state = "bubbleplush" attack_verb_continuous = list("rents") attack_verb_simple = list("rent") - squeak_override = list('sound/magic/demon_attack1.ogg'=1) + squeak_override = list('sound/effects/magic/demon_attack1.ogg'=1) /obj/item/toy/plush/ratplush name = "\improper Ratvar plushie" @@ -438,7 +438,7 @@ clash_target = null P.clashing = FALSE return - playsound(src, 'sound/magic/clockwork/ratvar_attack.ogg', 50, TRUE, frequency = 2) + playsound(src, 'sound/effects/magic/clockwork/ratvar_attack.ogg', 50, TRUE, frequency = 2) sleep(0.24 SECONDS) if(QDELETED(src)) P.clashing = FALSE @@ -457,7 +457,7 @@ if(QDELETED(P)) clash_target = null return - playsound(P, 'sound/magic/clockwork/narsie_attack.ogg', 50, TRUE, frequency = 2) + playsound(P, 'sound/effects/magic/clockwork/narsie_attack.ogg', 50, TRUE, frequency = 2) sleep(0.33 SECONDS) if(QDELETED(src)) P.clashing = FALSE @@ -476,16 +476,16 @@ if(a_winnar_is == src) say(pick("DIE.", "ROT.")) P.say(pick("Nooooo...", "Not die. To y-", "Die. Ratv-", "Sas tyen re-")) - playsound(src, 'sound/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE, frequency = 2) - playsound(P, 'sound/magic/demon_dies.ogg', 50, TRUE, frequency = 2) + playsound(src, 'sound/effects/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE, frequency = 2) + playsound(P, 'sound/effects/magic/demon_dies.ogg', 50, TRUE, frequency = 2) explosion(P, light_impact_range = 1) qdel(P) clash_target = null else say("NO! I will not be banished again...") P.say(pick("Ha.", "Ra'sha fonn dest.", "You fool. To come here.")) - playsound(src, 'sound/magic/clockwork/anima_fragment_death.ogg', 62, TRUE, frequency = 2) - playsound(P, 'sound/magic/demon_attack1.ogg', 50, TRUE, frequency = 2) + playsound(src, 'sound/effects/magic/clockwork/anima_fragment_death.ogg', 62, TRUE, frequency = 2) + playsound(P, 'sound/effects/magic/demon_attack1.ogg', 50, TRUE, frequency = 2) explosion(src, light_impact_range = 1) qdel(src) P.clashing = FALSE @@ -511,7 +511,7 @@ greyscale_config = /datum/greyscale_config/plush_lizard attack_verb_continuous = list("claws", "hisses", "tail slaps") attack_verb_simple = list("claw", "hiss", "tail slap") - squeak_override = list('sound/weapons/slash.ogg' = 1) + squeak_override = list('sound/items/weapons/slash.ogg' = 1) /obj/item/toy/plush/lizard_plushie/Initialize(mapload) . = ..() @@ -559,7 +559,7 @@ inhand_icon_state = null attack_verb_continuous = list("bites", "hisses", "tail slaps") attack_verb_simple = list("bite", "hiss", "tail slap") - squeak_override = list('sound/weapons/bite.ogg' = 1) + squeak_override = list('sound/items/weapons/bite.ogg' = 1) /obj/item/toy/plush/nukeplushie name = "operative plushie" @@ -588,7 +588,7 @@ inhand_icon_state = null attack_verb_continuous = list("blorbles", "slimes", "absorbs") attack_verb_simple = list("blorble", "slime", "absorb") - squeak_override = list('sound/effects/blobattack.ogg' = 1) + squeak_override = list('sound/effects/blob/blobattack.ogg' = 1) gender = FEMALE //given all the jokes and drawings, I'm not sure the xenobiologists would make a slimeboy // This is supposed to be only in the bus ruin, don't spawn it elsewhere @@ -657,13 +657,13 @@ attack_verb_continuous = list("stings") attack_verb_simple = list("sting") gender = FEMALE - squeak_override = list('sound/voice/moth/scream_moth.ogg'=1) + squeak_override = list('sound/mobs/humanoids/moth/scream_moth.ogg'=1) /obj/item/toy/plush/goatplushie name = "strange goat plushie" icon_state = "goat" desc = "Despite its cuddly appearance and plush nature, it will beat you up all the same. Goats never change." - squeak_override = list('sound/weapons/punch1.ogg'=1) + squeak_override = list('sound/items/weapons/punch1.ogg'=1) /// Whether or not this goat is currently taking in a monsterous doink var/going_hard = FALSE /// Whether or not this goat has been flattened like a funny pancake @@ -724,7 +724,7 @@ inhand_icon_state = null attack_verb_continuous = list("flutters", "flaps") attack_verb_simple = list("flutter", "flap") - squeak_override = list('sound/voice/moth/scream_moth.ogg'=1) + squeak_override = list('sound/mobs/humanoids/moth/scream_moth.ogg'=1) ///Used to track how many people killed themselves with item/toy/plush/moth var/suicide_count = 0 @@ -737,7 +737,7 @@ desc = "A plushie depicting a creepy mothperson. It's killed [suicide_count] people! I don't think I want to hug it any more!" divine = TRUE resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF - playsound(src, 'sound/hallucinations/wail.ogg', 50, TRUE, -1) + playsound(src, 'sound/effects/hallucinations/wail.ogg', 50, TRUE, -1) var/list/available_spots = get_adjacent_open_turfs(loc) if(available_spots.len) //If the user is in a confined space the plushie will drop normally as the user dies, but in the open the plush is placed one tile away from the user to prevent squeak spam var/turf/open/random_open_spot = pick(available_spots) @@ -751,7 +751,7 @@ icon_state = "pkplush" attack_verb_continuous = list("hugs", "squeezes") attack_verb_simple = list("hug", "squeeze") - squeak_override = list('sound/weapons/thudswoosh.ogg'=1) + squeak_override = list('sound/items/weapons/thudswoosh.ogg'=1) /obj/item/toy/plush/rouny name = "runner plushie" @@ -770,7 +770,7 @@ inhand_icon_state = null attack_verb_continuous = list("abducts", "probes") attack_verb_continuous = list("abduct", "probe") - squeak_override = list('sound/weather/ashstorm/inside/weak_end.ogg' = 1) //very faint sound since abductors are silent as far as "speaking" is concerned. + squeak_override = list('sound/ambience/weather/ashstorm/inside/weak_end.ogg' = 1) //very faint sound since abductors are silent as far as "speaking" is concerned. /obj/item/toy/plush/abductor/agent name = "abductor agent plushie" @@ -780,8 +780,8 @@ attack_verb_continuous = list("abducts", "probes", "stuns") attack_verb_continuous = list("abduct", "probe", "stun") squeak_override = list( - 'sound/weapons/egloves.ogg' = 2, - 'sound/weapons/cablecuff.ogg' = 1, + 'sound/items/weapons/egloves.ogg' = 2, + 'sound/items/weapons/cablecuff.ogg' = 1, ) /obj/item/toy/plush/shark diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index b49fb7ec26051..f9e63d7ee3f74 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -39,7 +39,7 @@ var/charge_tick = 0 var/charge_type var/selfcharge = FALSE - var/fire_sound = 'sound/weapons/sonic_jackhammer.ogg' + var/fire_sound = 'sound/items/weapons/sonic_jackhammer.ogg' var/spin_item = TRUE //Do the projectiles spin when launched? trigger_guard = TRIGGER_GUARD_NORMAL @@ -103,7 +103,7 @@ /obj/item/pneumatic_cannon/wrench_act(mob/living/user, obj/item/tool) if(needs_air == FALSE) return - playsound(src, 'sound/items/ratchet.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/ratchet.ogg', 50, TRUE) pressure_setting = pressure_setting >= HIGH_PRESSURE ? LOW_PRESSURE : pressure_setting + 1 balloon_alert(user, "output level set to [pressure_setting_to_text(pressure_setting)]") return TRUE diff --git a/code/game/objects/items/powerfist.dm b/code/game/objects/items/powerfist.dm index 0054520c957ee..77810ff3a89b6 100644 --- a/code/game/objects/items/powerfist.dm +++ b/code/game/objects/items/powerfist.dm @@ -117,7 +117,7 @@ if(!gas_used) to_chat(user, span_warning("\The [src]'s tank is empty!")) target.apply_damage((force / 5), BRUTE) - playsound(loc, 'sound/weapons/punch1.ogg', 50, TRUE) + playsound(loc, 'sound/items/weapons/punch1.ogg', 50, TRUE) target.visible_message(span_danger("[user]'s powerfist lets out a dull thunk as [user.p_they()] punch[user.p_es()] [target.name]!"), \ span_userdanger("[user]'s punches you!")) return @@ -125,7 +125,7 @@ if(!molar_cmp_equals(gas_used.total_moles(), gas_per_fist * fist_pressure_setting)) our_turf.assume_air(gas_used) to_chat(user, span_warning("\The [src]'s piston-ram lets out a weak hiss, it needs more gas!")) - playsound(loc, 'sound/weapons/punch4.ogg', 50, TRUE) + playsound(loc, 'sound/items/weapons/punch4.ogg', 50, TRUE) target.apply_damage((force / 2), BRUTE) target.visible_message(span_danger("[user]'s powerfist lets out a weak hiss as [user.p_they()] punch[user.p_es()] [target.name]!"), \ span_userdanger("[user]'s punch strikes with force!")) @@ -135,8 +135,8 @@ span_userdanger("You cry out in pain as [user]'s punch flings you backwards!")) new /obj/effect/temp_visual/kinetic_blast(target.loc) target.apply_damage(force * fist_pressure_setting, BRUTE, wound_bonus = CANT_WOUND) - playsound(src, 'sound/weapons/resonator_blast.ogg', 50, TRUE) - playsound(src, 'sound/weapons/genhit2.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/resonator_blast.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit2.ogg', 50, TRUE) if(!QDELETED(target)) var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src))) diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 335e7b3d5fbd7..a008acedb6d1c 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -305,7 +305,7 @@ visible_message(span_boldnotice("[src] becomes fully charged!")) powered = TRUE SEND_SIGNAL(src, COMSIG_PUZZLE_COMPLETED) - playsound(src, 'sound/machines/synth_yes.ogg', 100, TRUE) + playsound(src, 'sound/machines/synth/synth_yes.ogg', 100, TRUE) // // literally just buttons @@ -363,7 +363,7 @@ used = single_use update_icon_state() visible_message(span_notice("[user] presses a button on [src]."), span_notice("You press a button on [src].")) - playsound(src, 'sound/machines/terminal_button07.ogg', 45, TRUE) + playsound(src, 'sound/machines/terminal/terminal_button07.ogg', 45, TRUE) on_puzzle_complete() MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/button, 32) @@ -386,7 +386,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/button, 32) return used = TRUE update_icon_state() - playsound(src, 'sound/machines/beep.ogg', 45, TRUE) + playsound(src, 'sound/machines/beep/beep.ogg', 45, TRUE) on_puzzle_complete() MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/keycardpad, 32) @@ -419,11 +419,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/keycardpad, 32) var/correct = pass_input == password balloon_alert_to_viewers("[correct ? "correct" : "wrong"] password[correct ? "" : "!"]") if(!correct) - playsound(src, 'sound/machines/buzz-sigh.ogg', 45, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 45, TRUE) return used = single_use update_icon_state() - playsound(src, 'sound/machines/terminal_button07.ogg', 45, TRUE) + playsound(src, 'sound/machines/terminal/terminal_button07.ogg', 45, TRUE) on_puzzle_complete() MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/password, 32) diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index 669d7e3bab6a6..961e0fff88afd 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -16,8 +16,8 @@ item_flags = NO_MAT_REDEMPTION | NOBLUDGEON has_ammobar = TRUE actions_types = list(/datum/action/item_action/rcd_scan) - drop_sound = 'sound/items/handling/rcd_drop.ogg' - pickup_sound = 'sound/items/handling/rcd_pickup.ogg' + drop_sound = 'sound/items/handling/tools/rcd_drop.ogg' + pickup_sound = 'sound/items/handling/tools/rcd_pickup.ogg' sound_vary = TRUE /// main category of currently selected design[Structures, Airlocks, Airlock Access] @@ -80,10 +80,6 @@ GLOB.rcd_list -= src . = ..() -/obj/item/construction/rcd/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - . = ..() - playsound(src, SFX_TOOL_SWITCH, 20, TRUE) - /obj/item/construction/rcd/ui_action_click(mob/user, actiontype) if (!COOLDOWN_FINISHED(src, destructive_scan_cooldown)) to_chat(user, span_warning("[src] lets out a low buzz.")) @@ -130,7 +126,7 @@ var/atom/movable/rcd_structure = rcd_results["[RCD_DESIGN_PATH]"] /** *For anything that does not go an a wall we have to make sure that turf is clear for us to put the structure on it - *If we are just trying to destory something then this check is not nessassary + *If we are just trying to destroy something then this check is not necessary *RCD_WALLFRAME is also returned as the rcd_mode when upgrading apc, airalarm, firealarm using simple circuits upgrade */ if(rcd_mode != RCD_WALLFRAME && rcd_mode != RCD_DECONSTRUCT) @@ -146,7 +142,7 @@ structures_to_ignore = list(/obj/structure/grille) else //when building directional windows we ignore the grill and other directional windows structures_to_ignore = list(/obj/structure/grille, /obj/structure/window) - else //for directional windows we ignore other directional windows as they can be in diffrent directions on the turf. + else //for directional windows we ignore other directional windows as they can be in different directions on the turf. structures_to_ignore = list(/obj/structure/window) //check if we can build our window on the grill @@ -156,7 +152,7 @@ return FALSE /** - * if we are trying to create plating on turf which is not a proper floor then dont check for objects on top of the turf just allow that turf to be converted into plating. e.g. create plating beneath a player or underneath a machine frame/any dense object + * if we are trying to create plating on turf which is not a proper floor then don't check for objects on top of the turf just allow that turf to be converted into plating. e.g. create plating beneath a player or underneath a machine frame/any dense object * if we are trying to finish a wall girder then let it finish then make sure no one/nothing is stuck in the girder */ else if(rcd_mode == RCD_TURF && rcd_structure == /turf/open/floor/plating/rcd && (!istype(target_turf, /turf/open/floor) || istype(target, /obj/structure/girder))) @@ -188,10 +184,10 @@ ignored_types = list(/obj/structure/window) //if we are trying to create grills/windoors we can go ahead and further ignore other windoors on the turf if(rcd_mode == RCD_WINDOWGRILLE || (rcd_mode == RCD_AIRLOCK && ispath(rcd_structure, /obj/machinery/door/window))) - //only ignore mobs if we are trying to create windoors and not grills. We dont want to drop a grill on top of somebody + //only ignore mobs if we are trying to create windoors and not grills. We don't want to drop a grill on top of somebody ignore_mobs = rcd_mode == RCD_AIRLOCK ignored_types += /obj/machinery/door/window - //if we are trying to create full airlock doors then we do the regular checks and make sure we have the full space for them. i.e. dont ignore anything dense on the turf + //if we are trying to create full airlock doors then we do the regular checks and make sure we have the full space for them. i.e. don't ignore anything dense on the turf else if(rcd_mode == RCD_AIRLOCK) ignored_types = list() @@ -211,15 +207,15 @@ * * [mob][user]- the user building this structure */ /obj/item/construction/rcd/proc/rcd_create(atom/target, mob/user) - //straight up cant touch this + var/list/rcd_results = target.rcd_vals(user, src) // does this atom allow for rcd actions? + if(!rcd_results) // nope + return NONE + + //straight up can't touch this if(mode == RCD_DECONSTRUCT && (target.resistance_flags & INDESTRUCTIBLE)) balloon_alert(user, "too durable!") - return + return ITEM_INTERACT_BLOCKING - //does this atom allow for rcd actions? - var/list/rcd_results = target.rcd_vals(user, src) - if(!rcd_results) - return FALSE rcd_results["[RCD_DESIGN_MODE]"] = mode rcd_results["[RCD_DESIGN_PATH]"] = rcd_design_path @@ -241,6 +237,7 @@ log_tool("[key_name(user)] used [src] to [rcd_results["[RCD_DESIGN_MODE]"] != RCD_DECONSTRUCT ? "construct [initial(design_path.name)]([design_path])" : "deconstruct [target_name]([target_path])"] at [location]") current_active_effects -= 1 + return ITEM_INTERACT_SUCCESS /** * Internal proc which creates the rcd effects & creates the structure @@ -348,6 +345,7 @@ return data /obj/item/construction/rcd/handle_ui_act(action, params, datum/tgui/ui, datum/ui_state/state) + playsound(src, SFX_TOOL_SWITCH, 20, TRUE) switch(action) if("root_category") @@ -371,10 +369,10 @@ * The advantage of organizing designs into categories is that * You can ignore an complete category if the design disk upgrade for that category isn't installed. */ - //You can't select designs from the Machines category if you dont have the frames upgrade installed. + //You can't select designs from the Machines category if you don't have the frames upgrade installed. if(category == "Machines" && !(upgrade & RCD_UPGRADE_FRAMES)) return TRUE - //You can't select designs from the Furniture category if you dont have the furnishing upgrade installed. + //You can't select designs from the Furniture category if you don't have the furnishing upgrade installed. if(category == "Furniture" && !(upgrade & RCD_UPGRADE_FURNISHING)) return TRUE @@ -404,37 +402,32 @@ return . mode = construction_mode - rcd_create(interacting_with, user) - return ITEM_INTERACT_SUCCESS + return rcd_create(interacting_with, user) /obj/item/construction/rcd/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!ranged || !range_check(interacting_with, user)) return ITEM_INTERACT_BLOCKING mode = construction_mode - rcd_create(interacting_with, user) - return ITEM_INTERACT_SUCCESS + return rcd_create(interacting_with, user) /obj/item/construction/rcd/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) mode = RCD_DECONSTRUCT - rcd_create(interacting_with, user) - return ITEM_INTERACT_SUCCESS + return rcd_create(interacting_with, user) /obj/item/construction/rcd/ranged_interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) if(!ranged || !range_check(interacting_with, user)) return ITEM_INTERACT_BLOCKING mode = RCD_DECONSTRUCT - rcd_create(interacting_with, user) - return ITEM_INTERACT_SUCCESS + return rcd_create(interacting_with, user) /obj/item/construction/rcd/handle_openspace_click(turf/target, mob/user, list/modifiers) interact_with_atom(target, user, modifiers) /obj/item/construction/rcd/proc/detonate_pulse() - audible_message("[src] begins to vibrate and \ - buzz loudly!","[src] begins \ - vibrating violently!") + audible_message(span_danger("[src] begins to vibrate and buzz loudly!"), \ + span_danger("[src] begins vibrating violently!")) // 5 seconds to get rid of it addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 5 SECONDS) diff --git a/code/game/objects/items/rcd/RHD.dm b/code/game/objects/items/rcd/RHD.dm index a212274ce46be..8007fac4dd4c7 100644 --- a/code/game/objects/items/rcd/RHD.dm +++ b/code/game/objects/items/rcd/RHD.dm @@ -71,7 +71,7 @@ return silo_mats.mat_container.get_material_amount(/datum/material/iron) / SILO_USE_AMOUNT return 0 -///returns local matter units available. overriden by rcd borg to return power units available +///returns local matter units available. overridden by rcd borg to return power units available /obj/item/construction/proc/get_matter(mob/user) return matter diff --git a/code/game/objects/items/rcd/RPD.dm b/code/game/objects/items/rcd/RPD.dm index ba01f38280c78..07db9978e3e09 100644 --- a/code/game/objects/items/rcd/RPD.dm +++ b/code/game/objects/items/rcd/RPD.dm @@ -185,8 +185,8 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*37.5, /datum/material/glass=SHEET_MATERIAL_AMOUNT*18.75) armor_type = /datum/armor/item_pipe_dispenser resistance_flags = FIRE_PROOF - drop_sound = 'sound/items/handling/rpd_drop.ogg' - pickup_sound = 'sound/items/handling/rpd_pickup.ogg' + drop_sound = 'sound/items/handling/tools/rpd_drop.ogg' + pickup_sound = 'sound/items/handling/tools/rpd_pickup.ogg' sound_vary = TRUE ///Sparks system used when changing device in the UI var/datum/effect_system/spark_spread/spark_system @@ -365,10 +365,11 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( /obj/item/pipe_dispenser/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - playsound(src, SFX_TOOL_SWITCH, 20, TRUE) if(.) return + playsound(src, SFX_TOOL_SWITCH, 20, TRUE) + var/playeffect = TRUE switch(action) if("color") diff --git a/code/game/objects/items/rcd/RPLD.dm b/code/game/objects/items/rcd/RPLD.dm index 9a046bd8461e6..a41e86584af81 100644 --- a/code/game/objects/items/rcd/RPLD.dm +++ b/code/game/objects/items/rcd/RPLD.dm @@ -12,6 +12,9 @@ banned_upgrades = RCD_ALL_UPGRADES & ~RCD_UPGRADE_SILO_LINK matter = 200 max_matter = 200 + drop_sound = 'sound/items/handling/tools/rcd_drop.ogg' + pickup_sound = 'sound/items/handling/tools/rcd_pickup.ogg' + sound_vary = TRUE ///category of design selected var/selected_category @@ -152,11 +155,9 @@ return data -/obj/item/construction/plumbing/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - . = ..() +/obj/item/construction/plumbing/handle_ui_act(action, params, datum/tgui/ui, datum/ui_state/state) playsound(src, SFX_TOOL_SWITCH, 20, TRUE) -/obj/item/construction/plumbing/handle_ui_act(action, params, datum/tgui/ui, datum/ui_state/state) switch(action) if("color") var/color = params["paint_color"] diff --git a/code/game/objects/items/rcd/RTD.dm b/code/game/objects/items/rcd/RTD.dm index 45b9c9e3687dd..1925b3e6ffc66 100644 --- a/code/game/objects/items/rcd/RTD.dm +++ b/code/game/objects/items/rcd/RTD.dm @@ -24,6 +24,9 @@ item_flags = NO_MAT_REDEMPTION | NOBLUDGEON has_ammobar = TRUE banned_upgrades = RCD_ALL_UPGRADES & ~RCD_UPGRADE_SILO_LINK + drop_sound = 'sound/items/handling/tools/rcd_drop.ogg' + pickup_sound = 'sound/items/handling/tools/rcd_pickup.ogg' + sound_vary = TRUE /// main category for tile design var/root_category = "Conventional" @@ -195,6 +198,7 @@ return data /obj/item/construction/rtd/handle_ui_act(action, params, datum/tgui/ui, datum/ui_state/state) + playsound(src, SFX_TOOL_SWITCH, 20, TRUE) var/floor_designs = GLOB.floor_designs switch(action) diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 232de4c461930..ecf43fdfab776 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -75,7 +75,7 @@ inspired_human.AdjustImmobilized(-40) inspired_human.AdjustParalyzed(-40) inspired_human.AdjustUnconscious(-40) - playsound(inspired_human, 'sound/magic/staff_healing.ogg', 25, FALSE) + playsound(inspired_human, 'sound/effects/magic/staff_healing.ogg', 25, FALSE) /obj/item/banner/proc/special_inspiration(mob/living/carbon/human/H) //Any banner-specific inspiration effects go here return @@ -343,10 +343,12 @@ var/staffcooldown = 0 var/staffwait = 30 -/obj/item/godstaff/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/godstaff/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(SHOULD_SKIP_INTERACTION(interacting_with, src, user)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) + +/obj/item/godstaff/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(staffcooldown + staffwait > world.time) return ITEM_INTERACT_BLOCKING diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index f6357b229efb9..b630a3b8a4231 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -1,4 +1,45 @@ ///AI Upgrades +/obj/item/aiupgrade + name = "ai upgrade disk" + desc = "You really shouldn't be seeing this" + icon = 'icons/obj/devices/circuitry_n_data.dmi' + icon_state = "datadisk3" + ///The upgrade that will be applied to the AI when installed + var/datum/ai_module/to_gift = /datum/ai_module + +/obj/item/aiupgrade/pre_attack(atom/target, mob/living/user, proximity) + if(!proximity) + return ..() + if(!isAI(target)) + return ..() + var/mob/living/silicon/ai/AI = target + var/datum/action/innate/ai/action = locate(to_gift.power_type) in AI.actions + var/datum/ai_module/gifted_ability = new to_gift + if(!to_gift.upgrade) + if(!action) + var/ability = to_gift.power_type + var/datum/action/gifted_action = new ability + gifted_action.Grant(AI) + else if(gifted_ability.one_purchase) + to_chat(user, "[AI] already has an [src] installed!") + return + else + action.uses += initial(action.uses) + action.desc = "[initial(action.desc)] It has [action.uses] use\s remaining." + action.build_all_button_icons() + else + if(!action) + gifted_ability.upgrade(AI) + if(gifted_ability.unlock_text) + to_chat(AI, gifted_ability.unlock_text) + if(gifted_ability.unlock_sound) + AI.playsound_local(AI, gifted_ability.unlock_sound, 50, 0) + update_static_data(AI) + to_chat(user, span_notice("You install [src], upgrading [AI].")) + to_chat(AI, span_userdanger("[user] has upgraded you with [src]!")) + user.log_message("has upgraded [key_name(AI)] with a [src].", LOG_GAME) + qdel(src) + return TRUE //Malf Picker @@ -34,28 +75,21 @@ //Lipreading -/obj/item/surveillance_upgrade +/obj/item/aiupgrade/surveillance_upgrade name = "surveillance software upgrade" desc = "An illegal software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading and hidden microphones." - icon = 'icons/obj/devices/circuitry_n_data.dmi' - icon_state = "datadisk3" + to_gift = /datum/ai_module/malf/upgrade/eavesdrop -/obj/item/surveillance_upgrade/Initialize(mapload) +/obj/item/aiupgrade/surveillance_upgrade/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_CONTRABAND, INNATE_TRAIT) -/obj/item/surveillance_upgrade/pre_attack(atom/A, mob/living/user, proximity) - if(!proximity) - return ..() - if(!isAI(A)) - return ..() - var/mob/living/silicon/ai/AI = A - if(AI.eyeobj) - AI.eyeobj.relay_speech = TRUE - to_chat(AI, span_userdanger("[user] has upgraded you with surveillance software!")) - to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.") - to_chat(user, span_notice("You upgrade [AI]. [src] is consumed in the process.")) - user.log_message("has upgraded [key_name(AI)] with a [src].", LOG_GAME) - message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") - qdel(src) - return TRUE + +/obj/item/aiupgrade/power_transfer + name = "power transfer upgrade" + desc = "A legal upgrade that allows an artificial intelligence to directly provide power to APCs from a distance" + to_gift = /datum/ai_module/power_apc + + + + diff --git a/code/game/objects/items/robot/items/food.dm b/code/game/objects/items/robot/items/food.dm index b7b018362c73c..3dd15b508cc97 100644 --- a/code/game/objects/items/robot/items/food.dm +++ b/code/game/objects/items/robot/items/food.dm @@ -112,7 +112,7 @@ gumball = new /obj/item/ammo_casing/gumball(src) gumball.loaded_projectile.color = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) - playsound(src.loc, 'sound/weapons/bulletflyby3.ogg', 50, TRUE) + playsound(src.loc, 'sound/items/weapons/bulletflyby3.ogg', 50, TRUE) gumball.fire_casing(target, user, params, 0, 0, null, 0, src) user.visible_message(span_warning("[user] shoots a high-velocity gumball at [target]!")) check_amount() diff --git a/code/game/objects/items/robot/items/generic.dm b/code/game/objects/items/robot/items/generic.dm index a98d13770b7ab..385baa0381ae9 100644 --- a/code/game/objects/items/robot/items/generic.dm +++ b/code/game/objects/items/robot/items/generic.dm @@ -30,7 +30,7 @@ if(ishuman(attacked_mob)) var/mob/living/carbon/human/human = attacked_mob if(human.check_block(src, 0, "[attacked_mob]'s [name]", MELEE_ATTACK)) - playsound(attacked_mob, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(attacked_mob, 'sound/items/weapons/genhit.ogg', 50, TRUE) return FALSE if(iscyborg(user)) var/mob/living/silicon/robot/robot_user = user @@ -54,7 +54,7 @@ span_userdanger("[user] prods you with [src]!"), ) - playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/egloves.ogg', 50, TRUE, -1) cooldown_check = world.time + cooldown log_combat(user, attacked_mob, "stunned", src, "(Combat mode: [user.combat_mode ? "On" : "Off"])") @@ -88,9 +88,9 @@ mode = HUG_MODE_NICE switch(mode) if(HUG_MODE_NICE) - to_chat(user, "Power reset. Hugs!") + to_chat(user, span_infoplain("Power reset. Hugs!")) if(HUG_MODE_HUG) - to_chat(user, "Power increased!") + to_chat(user, span_infoplain("Power increased!")) if(HUG_MODE_SHOCK) to_chat(user, "BZZT. Electrifying arms...") if(HUG_MODE_CRUSH) @@ -114,7 +114,7 @@ span_notice("You playfully boop [attacked_mob] on the head!"), ) user.do_attack_animation(attacked_mob, ATTACK_EFFECT_BOOP) - playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/tap.ogg', 50, TRUE, -1) else if(ishuman(attacked_mob)) if(user.body_position == LYING_DOWN) user.visible_message( @@ -133,7 +133,7 @@ span_notice("[user] pets [attacked_mob]!"), span_notice("You pet [attacked_mob]!"), ) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/thudswoosh.ogg', 50, TRUE, -1) if(HUG_MODE_HUG) if(ishuman(attacked_mob)) attacked_mob.adjust_status_effects_on_shake_up() @@ -160,7 +160,7 @@ span_warning("[user] bops [attacked_mob] on the head!"), span_warning("You bop [attacked_mob] on the head!"), ) - playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/tap.ogg', 50, TRUE, -1) if(HUG_MODE_SHOCK) if (!COOLDOWN_FINISHED(src, shock_cooldown)) return @@ -184,7 +184,7 @@ span_userdanger("[user] shocks [attacked_mob]. It does not seem to have an effect"), span_danger("You shock [attacked_mob] to no effect."), ) - playsound(loc, 'sound/effects/sparks2.ogg', 50, TRUE, -1) + playsound(loc, 'sound/effects/sparks/sparks2.ogg', 50, TRUE, -1) user.cell.use(0.5 * STANDARD_CELL_CHARGE, force = TRUE) COOLDOWN_START(src, shock_cooldown, HUG_SHOCK_COOLDOWN) if(HUG_MODE_CRUSH) @@ -200,7 +200,7 @@ span_userdanger("[user] crushes [attacked_mob]!"), span_danger("You crush [attacked_mob]!"), ) - playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/smash.ogg', 50, TRUE, -1) attacked_mob.adjustBruteLoss(15) user.cell.use(0.3 * STANDARD_CELL_CHARGE, force = TRUE) COOLDOWN_START(src, crush_cooldown, HUG_CRUSH_COOLDOWN) @@ -378,7 +378,7 @@ carbon.adjust_confusion(6 SECONDS) audible_message("HUMAN HARM") - playsound(get_turf(src), 'sound/ai/harmalarm.ogg', 70, 3) + playsound(get_turf(src), 'sound/mobs/non-humanoids/cyborg/harmalarm.ogg', 70, 3) COOLDOWN_START(src, alarm_cooldown, HARM_ALARM_SAFETY_COOLDOWN) user.log_message("used a Cyborg Harm Alarm", LOG_ATTACK) if(iscyborg(user)) diff --git a/code/game/objects/items/robot/items/tools.dm b/code/game/objects/items/robot/items/tools.dm index f16cd0844901d..beaca11b695b9 100644 --- a/code/game/objects/items/robot/items/tools.dm +++ b/code/game/objects/items/robot/items/tools.dm @@ -9,8 +9,8 @@ resistance_flags = FIRE_PROOF //if it's channeling a cyborg's excess heat, it's probably fireproof force = 5 damtype = BURN - usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') //the usesounds of a lit welder - hitsound = 'sound/items/welder.ogg' //the hitsound of a lit welder + usesound = list('sound/items/tools/welder.ogg', 'sound/items/tools/welder2.ogg') //the usesounds of a lit welder + hitsound = 'sound/items/tools/welder.ogg' //the hitsound of a lit welder //Peacekeeper Cyborg Projectile Dampenening Field /obj/item/borg/projectile_dampen @@ -247,7 +247,7 @@ if(initial(tool.tool_behaviour) == new_tool_behaviour) reference = tool update_appearance(UPDATE_ICON_STATE) - playsound(src, 'sound/items/change_jaws.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/change_jaws.ogg', 50, TRUE) break /obj/item/borg/cyborg_omnitool/update_icon_state() @@ -267,7 +267,7 @@ /obj/item/borg/cyborg_omnitool/proc/set_upgraded(upgrade) upgraded = upgraded - playsound(src, 'sound/items/change_jaws.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/change_jaws.ogg', 50, TRUE) /obj/item/borg/cyborg_omnitool/medical name = "surgical omni-toolset" diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 7a8196799d87d..ce350ecb788f8 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -121,14 +121,11 @@ if(chest) chest.forceMove(drop_to) - new /obj/item/stack/cable_coil(drop_to, 1) - chest.wired = FALSE - chest.cell?.forceMove(drop_to) + chest.drop_organs() if(head) - head.flash1?.forceMove(drop_to) - head.flash2?.forceMove(drop_to) head.forceMove(drop_to) + head.drop_organs() /obj/item/robot_suit/proc/put_in_hand_or_drop(mob/living/user, obj/item/I) //normal put_in_hands() drops the item ontop of the player, this drops it at the suit's loc if(!user.put_in_hands(I)) @@ -322,7 +319,7 @@ // This canonizes that MMI'd cyborgs have memories of their previous life brainmob.add_mob_memory(/datum/memory/was_cyborged, protagonist = brainmob.mind, deuteragonist = user) brainmob.mind.transfer_to(O) - playsound(O.loc, 'sound/voice/liveagain.ogg', 75, TRUE) + playsound(O.loc, 'sound/mobs/non-humanoids/cyborg/liveagain.ogg', 75, TRUE) if(O.mind && O.mind.special_role) to_chat(O, span_userdanger("You have been robotized!")) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 3fb2cc990e3b5..c7245aece566c 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -218,6 +218,17 @@ items_to_add = list(/obj/item/plunger/cyborg) +/obj/item/borg/upgrade/high_capacity_light_replacer + name = "janitor cyborg high capacity replacer" + desc = "Increases the amount of lights that can be stored in the replacer." + icon_state = "module_janitor" + require_model = TRUE + model_type = list(/obj/item/robot_model/janitor) + model_flags = BORG_MODEL_JANITOR + + items_to_add = list (/obj/item/lightreplacer/cyborg/advanced) + items_to_remove = list(/obj/item/lightreplacer/cyborg) + /obj/item/borg/upgrade/syndicate name = "illegal equipment module" desc = "Unlocks the hidden, deadlier functions of a cyborg." @@ -596,7 +607,7 @@ smoke.start() sleep(0.2 SECONDS) for(var/i in 1 to 4) - playsound(borg, pick('sound/items/drill_use.ogg', 'sound/items/jaws_cut.ogg', 'sound/items/jaws_pry.ogg', 'sound/items/welder.ogg', 'sound/items/ratchet.ogg'), 80, TRUE, -1) + playsound(borg, pick('sound/items/tools/drill_use.ogg', 'sound/items/tools/jaws_cut.ogg', 'sound/items/tools/jaws_pry.ogg', 'sound/items/tools/welder.ogg', 'sound/items/tools/ratchet.ogg'), 80, TRUE, -1) sleep(1.2 SECONDS) if(!prev_lockcharge) borg.SetLockdown(FALSE) @@ -816,7 +827,7 @@ if(borgo.mind) borgo.mind.grab_ghost() - playsound(loc, 'sound/voice/liveagain.ogg', 75, TRUE) + playsound(loc, 'sound/mobs/non-humanoids/cyborg/liveagain.ogg', 75, TRUE) else playsound(loc, 'sound/machines/ping.ogg', 75, TRUE) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index b5646b5164ce0..acab30562cdaf 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -15,7 +15,7 @@ attack_verb_continuous = list("shoves", "bashes") attack_verb_simple = list("shove", "bash") armor_type = /datum/armor/item_shield - block_sound = 'sound/weapons/block_shield.ogg' + block_sound = 'sound/items/weapons/block_shield.ogg' /// makes beam projectiles pass through the shield var/transparent = FALSE /// if the shield will break by sustaining damage @@ -26,6 +26,10 @@ var/shield_break_sound = 'sound/effects/bang.ogg' /// baton bash cooldown COOLDOWN_DECLARE(baton_bash) + /// is shield bashable? + var/is_bashable = TRUE + /// sound when a shield is bashed + var/shield_bash_sound = 'sound/effects/shieldbash.ogg' /datum/armor/item_shield melee = 50 @@ -61,6 +65,19 @@ if(0 to 25) . += span_warning("It's falling apart!") +/obj/item/shield/item_interaction(mob/living/user, obj/item/tool, list/modifiers, is_right_clicking) + . = ..() + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(!istype(tool, /obj/item/melee/baton) || !is_bashable) + return . + if(!COOLDOWN_FINISHED(src, baton_bash)) + return ITEM_INTERACT_BLOCKING + user.visible_message(span_warning("[user] bashes [src] with [tool]!")) + playsound(src, shield_bash_sound, 50, TRUE) + COOLDOWN_START(src, baton_bash, BATON_BASH_COOLDOWN) + return ITEM_INTERACT_SUCCESS + /obj/item/shield/proc/on_shield_block(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) if(!breakable_by_damage || (damage_type != BRUTE && damage_type != BURN)) return TRUE @@ -146,11 +163,11 @@ custom_materials = list(/datum/material/glass= SHEET_MATERIAL_AMOUNT * 3.75, /datum/material/iron= HALF_SHEET_MATERIAL_AMOUNT) transparent = TRUE max_integrity = 75 - shield_break_sound = 'sound/effects/glassbr3.ogg' + shield_break_sound = 'sound/effects/glass/glassbr3.ogg' shield_break_leftover = /obj/item/shard armor_type = /datum/armor/item_shield/riot - pickup_sound = 'sound/items/plastic_shield_pick_up.ogg' - drop_sound = 'sound/items/plastic_shield_drop.ogg' + pickup_sound = 'sound/items/handling/shield/plastic_shield_pick_up.ogg' + drop_sound = 'sound/items/handling/shield/plastic_shield_drop.ogg' /obj/item/shield/riot/Initialize(mapload) . = ..() @@ -162,13 +179,6 @@ ) /obj/item/shield/riot/attackby(obj/item/attackby_item, mob/user, params) - if(istype(attackby_item, /obj/item/melee/baton)) - if(!COOLDOWN_FINISHED(src, baton_bash)) - return - user.visible_message(span_warning("[user] bashes [src] with [attackby_item]!")) - playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, TRUE) - COOLDOWN_START(src, baton_bash, BATON_BASH_COOLDOWN) - return if(istype(attackby_item, /obj/item/stack/sheet/mineral/titanium)) if (atom_integrity >= max_integrity) to_chat(user, span_warning("[src] is already in perfect condition.")) @@ -295,7 +305,9 @@ throwforce = 3 throw_speed = 3 breakable_by_damage = FALSE - block_sound = 'sound/weapons/block_blade.ogg' + block_sound = 'sound/items/weapons/block_blade.ogg' + is_bashable = FALSE // Gotta wait till it activates y'know + shield_bash_sound = 'sound/effects/energyshieldbash.ogg' /// Force of the shield when active. var/active_force = 10 /// Throwforce of the shield when active. @@ -343,7 +355,8 @@ if(user) balloon_alert(user, active ? "activated" : "deactivated") - playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) + playsound(src, active ? 'sound/items/weapons/saberon.ogg' : 'sound/items/weapons/saberoff.ogg', 35, TRUE) + is_bashable = !is_bashable return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/shield/energy/proc/can_disarm_attack(datum/source, mob/living/victim, mob/living/user, send_message = TRUE) @@ -407,7 +420,7 @@ slot_flags = active ? ITEM_SLOT_BACK : null if(user) balloon_alert(user, active ? "extended" : "collapsed") - playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/batonextend.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/shield/riot/tele/proc/can_disarm_attack(datum/source, mob/living/victim, mob/living/user, send_message = TRUE) @@ -459,6 +472,6 @@ max_integrity = 35 shield_break_leftover = /obj/item/stack/rods/two armor_type = /datum/armor/item_shield/improvised - block_sound = 'sound/items/trayhit2.ogg' + block_sound = 'sound/items/trayhit/trayhit2.ogg' #undef BATON_BASH_COOLDOWN diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index 53e307e31d6e0..6ad49bf836f4f 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -15,7 +15,7 @@ embed_type = /datum/embed_data/spear armour_penetration = 10 custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/glass= HALF_SHEET_MATERIAL_AMOUNT * 2) - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "pokes", "jabs", "tears", "lacerates", "gores") attack_verb_simple = list("attack", "poke", "jab", "tear", "lacerate", "gore") sharpness = SHARP_EDGED // i know the whole point of spears is that they're pointy, but edged is more devastating at the moment so @@ -177,10 +177,8 @@ return if(target.resistance_flags & INDESTRUCTIBLE) //due to the lich incident of 2021, embedding grenades inside of indestructible structures is forbidden return - if(ismob(target)) - var/mob/mob_target = target - if(mob_target.status_flags & GODMODE) //no embedding grenade phylacteries inside of ghost poly either - return + if(HAS_TRAIT(target, TRAIT_GODMODE)) + return if(iseffect(target)) //and no accidentally wasting your moment of glory on graffiti return user.say("[war_cry]", forced="spear warcry") diff --git a/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm b/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm index e4b65e033975e..00606ba3e6d77 100644 --- a/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm +++ b/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm @@ -35,7 +35,7 @@ qdel(src) return ITEM_INTERACT_BLOCKING - playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/sonic_jackhammer.ogg', 50, TRUE) held_gibtonite.forceMove(get_turf(src)) held_gibtonite.det_time = 2 SECONDS held_gibtonite.GibtoniteReaction(user, "A [src] has targeted [interacting_with] with a thrown and primed") diff --git a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm index f54a83a8d8ec5..db77c63d375f4 100644 --- a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm +++ b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm @@ -215,7 +215,7 @@ /// Shoot a beam at the target atom /datum/status_effect/golem/plasma/proc/zap_effect(atom/target) owner.Beam(target, icon_state = "lightning[rand(1,12)]", time = 0.5 SECONDS) - playsound(owner, 'sound/magic/lightningshock.ogg', vol = 50, vary = TRUE) + playsound(owner, 'sound/effects/magic/lightningshock.ogg', vol = 50, vary = TRUE) /// Makes you spaceproof /datum/status_effect/golem/plasteel @@ -298,8 +298,8 @@ arm.unarmed_attack_verbs = list("slash") arm.grappled_attack_verb = "lacerate" arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW - arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' - arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + arm.unarmed_attack_sound = 'sound/items/weapons/slash.ogg' + arm.unarmed_miss_sound = 'sound/items/weapons/slashmiss.ogg' RegisterSignal(arm, COMSIG_QDELETING, PROC_REF(on_arm_destroyed)) LAZYADD(modified_arms, arm) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index d76861b6c4932..cb3bb78f65683 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -133,7 +133,7 @@ if(!try_heal_checks(patient, user, heal_brute, heal_burn)) return FALSE if(patient.heal_bodypart_damage((heal_brute * patient.maxHealth/100))) - user.visible_message("[user] applies [src] on [patient].", "You apply [src] on [patient].") + user.visible_message(span_infoplain(span_green("[user] applies [src] on [patient].")), span_infoplain(span_green("You apply [src] on [patient]."))) return TRUE patient.balloon_alert(user, "can't heal [patient]!") return FALSE @@ -279,7 +279,7 @@ if(!do_after(user, treatment_delay, target = patient)) return - user.visible_message("[user] applies [src] to [patient]'s [limb.plaintext_zone].", "You bandage the wounds on [user == patient ? "your" : "[patient]'s"] [limb.plaintext_zone].") + user.visible_message(span_infoplain(span_green("[user] applies [src] to [patient]'s [limb.plaintext_zone].")), span_infoplain(span_green("You bandage the wounds on [user == patient ? "your" : "[patient]'s"] [limb.plaintext_zone]."))) limb.apply_gauze(src) /obj/item/stack/medical/gauze/twelve @@ -436,7 +436,7 @@ is_open = TRUE balloon_alert(user, "opened") update_appearance() - playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) + playsound(src, 'sound/items/poster/poster_ripped.ogg', 20, TRUE) return return ..() diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 69dbe87cd5cc9..9e91ba2aaaca2 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -32,15 +32,15 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ max_amount = 50 attack_verb_continuous = list("hits", "bludgeons", "whacks") attack_verb_simple = list("hit", "bludgeon", "whack") - hitsound = 'sound/weapons/gun/general/grenade_launch.ogg' + hitsound = 'sound/items/weapons/gun/general/grenade_launch.ogg' embed_type = /datum/embed_data/rods novariants = TRUE matter_amount = 2 cost = HALF_SHEET_MATERIAL_AMOUNT source = /datum/robot_energy_storage/material/iron merge_type = /obj/item/stack/rods - pickup_sound = 'sound/items/iron_rod_pick_up.ogg' - drop_sound = 'sound/items/metal_drop.ogg' + pickup_sound = 'sound/items/handling/materials/iron_rod_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/metal_drop.ogg' sound_vary = TRUE /datum/embed_data/rods diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 19e290170f8af..8415ffa3f407f 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -32,8 +32,8 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ cost = SHEET_MATERIAL_AMOUNT source = /datum/robot_energy_storage/material/glass sniffable = TRUE - pickup_sound = 'sound/items/glass_pick_up.ogg' - drop_sound = 'sound/items/glass_drop.ogg' + pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/glass_drop.ogg' /datum/armor/sheet_glass fire = 50 @@ -104,8 +104,8 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10) material_flags = NONE tableVariant = /obj/structure/table/glass/plasmaglass - pickup_sound = 'sound/items/glass_pick_up.ogg' - drop_sound = 'sound/items/glass_drop.ogg' + pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/glass_drop.ogg' /obj/item/stack/sheet/plasmaglass/fifty amount = 50 @@ -164,8 +164,8 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10) matter_amount = 6 tableVariant = /obj/structure/table/reinforced/rglass - pickup_sound = 'sound/items/glass_pick_up.ogg' - drop_sound = 'sound/items/glass_drop.ogg' + pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/glass_drop.ogg' /obj/item/stack/sheet/rglass/fifty amount = 50 @@ -204,8 +204,8 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ gulag_valid = TRUE matter_amount = 8 tableVariant = /obj/structure/table/reinforced/plasmarglass - pickup_sound = 'sound/items/glass_pick_up.ogg' - drop_sound = 'sound/items/glass_drop.ogg' + pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/glass_drop.ogg' /datum/armor/sheet_plasmarglass melee = 20 @@ -236,8 +236,8 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass tableVariant = /obj/structure/table/reinforced/titaniumglass - pickup_sound = 'sound/items/glass_pick_up.ogg' - drop_sound = 'sound/items/glass_drop.ogg' + pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/glass_drop.ogg' /obj/item/stack/sheet/titaniumglass/fifty amount = 50 @@ -268,8 +268,8 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass tableVariant = /obj/structure/table/reinforced/plastitaniumglass - pickup_sound = 'sound/items/glass_pick_up.ogg' - drop_sound = 'sound/items/glass_drop.ogg' + pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/glass_drop.ogg' /obj/item/stack/sheet/plastitaniumglass/fifty amount = 50 @@ -296,7 +296,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( custom_materials = list(/datum/material/glass=SHEET_MATERIAL_AMOUNT) attack_verb_continuous = list("stabs", "slashes", "slices", "cuts") attack_verb_simple = list("stab", "slash", "slice", "cut") - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' resistance_flags = ACID_PROOF armor_type = /datum/armor/item_shard max_integrity = 40 diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 9dff36dca2dde..3956051d89bc7 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -5,8 +5,8 @@ inhand_icon_state = null novariants = TRUE merge_type = /obj/item/stack/sheet/animalhide - pickup_sound = 'sound/items/skin_pick_up.ogg' - drop_sound = 'sound/items/skin_drop.ogg' + pickup_sound = 'sound/items/handling/materials/skin_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/skin_drop.ogg' /obj/item/stack/sheet/animalhide/human name = "human skin" @@ -193,8 +193,8 @@ GLOBAL_LIST_INIT(carp_recipes, list ( \ icon_state = "sheet-leather" inhand_icon_state = null merge_type = /obj/item/stack/sheet/leather - pickup_sound = 'sound/items/skin_pick_up.ogg' - drop_sound = 'sound/items/skin_drop.ogg' + pickup_sound = 'sound/items/handling/materials/skin_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/skin_drop.ogg' GLOBAL_LIST_INIT(leather_recipes, list ( \ new/datum/stack_recipe("wallet", /obj/item/storage/wallet, 1, crafting_flags = NONE, category = CAT_CONTAINERS), \ @@ -326,7 +326,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ /obj/item/stack/sheet/animalhide/attackby(obj/item/W, mob/user, params) if(W.get_sharpness()) - playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/slice.ogg', 50, TRUE, -1) user.visible_message(span_notice("[user] starts cutting hair off \the [src]."), span_notice("You start cutting the hair off \the [src]..."), span_hear("You hear the sound of a knife rubbing against flesh.")) if(do_after(user, 5 SECONDS, target = src)) to_chat(user, span_notice("You cut the hair from [src.name].")) @@ -348,8 +348,8 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ icon_state = "sheet-hairlesshide" inhand_icon_state = null merge_type = /obj/item/stack/sheet/hairlesshide - pickup_sound = 'sound/items/skin_pick_up.ogg' - drop_sound = 'sound/items/skin_drop.ogg' + pickup_sound = 'sound/items/handling/materials/skin_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/skin_drop.ogg' /obj/item/stack/sheet/hairlesshide/examine(mob/user) . = ..() @@ -363,8 +363,8 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ icon_state = "sheet-wetleather" inhand_icon_state = null merge_type = /obj/item/stack/sheet/wethide - pickup_sound = 'sound/items/skin_pick_up.ogg' - drop_sound = 'sound/items/skin_drop.ogg' + pickup_sound = 'sound/items/handling/materials/skin_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/skin_drop.ogg' /// Reduced when exposed to high temperatures var/wetness = 30 /// Kelvin to start drying diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 877460edfaf7a..c32919094391a 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -385,8 +385,8 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ grind_results = list(/datum/reagent/cellulose = 20) //no lignocellulose or lignin reagents yet, walltype = /turf/closed/wall/mineral/wood stairs_type = /obj/structure/stairs/wood - pickup_sound = 'sound/items/wood_pick_up.ogg' - drop_sound = 'sound/items/wood_drop.ogg' + pickup_sound = 'sound/items/handling/materials/wood_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/wood_drop.ogg' /datum/armor/mineral_wood fire = 50 @@ -684,8 +684,8 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ merge_type = /obj/item/stack/sheet/cardboard grind_results = list(/datum/reagent/cellulose = 10) material_type = /datum/material/cardboard - pickup_sound = 'sound/items/cardboard_pick_up.ogg' - drop_sound = 'sound/items/cardboard_drop.ogg' + pickup_sound = 'sound/items/handling/materials/cardboard_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/cardboard_drop.ogg' /obj/item/stack/sheet/cardboard/Initialize(mapload, new_amount, merge, list/mat_override, mat_amt) . = ..() @@ -863,8 +863,8 @@ GLOBAL_LIST_INIT(plastic_recipes, list( throwforce = 7 material_type = /datum/material/plastic merge_type = /obj/item/stack/sheet/plastic - pickup_sound = 'sound/items/plastic_pick_up.ogg' - drop_sound = 'sound/items/plastic_drop.ogg' + pickup_sound = 'sound/items/handling/materials/plastic_pick_up.ogg' + drop_sound = 'sound/items/handling/materials/plastic_drop.ogg' /obj/item/stack/sheet/plastic/fifty amount = 50 diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 568fd2f49aa29..b9a66202a16e3 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -13,8 +13,8 @@ attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "smash") novariants = FALSE material_flags = MATERIAL_EFFECTS - pickup_sound = 'sound/items/metal_pick_up.ogg' - drop_sound = 'sound/items/metal_drop.ogg' + 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 ///If true, this is worth points in the gulag labour stacker var/gulag_valid = FALSE @@ -63,7 +63,7 @@ * Facilitates sheets being smacked on the floor * * This is used for crafting by hitting the floor with items. - * The inital use case is glass sheets breaking in to shards when the floor is hit. + * The initial use case is glass sheets breaking in to shards when the floor is hit. * Args: * * user: The user that did the action * * params: paramas passed in from attackby diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 5eb651b2905d4..e2a8e10c4df49 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -177,7 +177,7 @@ /** * use available_amount of sheets/pieces, return TRUE only if all sheets/pieces of this stack were used * we don't delete this stack when it reaches 0 because we expect the all in one grinder, etc to delete - * this stack if grinding was successfull + * this stack if grinding was successful */ use(available_amount, check = FALSE) return available_amount == current_amount @@ -546,7 +546,7 @@ update_weight() return TRUE -/obj/item/stack/tool_use_check(mob/living/user, amount) +/obj/item/stack/tool_use_check(mob/living/user, amount, heat_required) if(get_amount() < amount) // general balloon alert that says they don't have enough user.balloon_alert(user, "not enough material!") diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm index acfc59b64d037..a1394bbad4fd9 100644 --- a/code/game/objects/items/stacks/tape.dm +++ b/code/game/objects/items/stacks/tape.dm @@ -29,14 +29,14 @@ if(user.get_inactive_held_item() == src) if(is_zero_amount(delete_if_zero = TRUE)) return - playsound(user, 'sound/items/duct_tape_rip.ogg', 50, TRUE) + playsound(user, 'sound/items/duct_tape/duct_tape_rip.ogg', 50, TRUE) if(!do_after(user, 1 SECONDS)) return var/new_tape_gag = new tape_gag(src) user.put_in_hands(new_tape_gag) use(1) to_chat(user, span_notice("You rip off a piece of tape.")) - playsound(user, 'sound/items/duct_tape_snap.ogg', 50, TRUE) + playsound(user, 'sound/items/duct_tape/duct_tape_snap.ogg', 50, TRUE) return TRUE return ..() @@ -53,10 +53,10 @@ return ITEM_INTERACT_BLOCKING user.visible_message(span_notice("[user] begins wrapping [target] with [src]."), span_notice("You begin wrapping [target] with [src].")) - playsound(user, 'sound/items/duct_tape_rip.ogg', 50, TRUE) + playsound(user, 'sound/items/duct_tape/duct_tape_rip.ogg', 50, TRUE) if(do_after(user, 3 SECONDS, target=target)) - playsound(user, 'sound/items/duct_tape_snap.ogg', 50, TRUE) + playsound(user, 'sound/items/duct_tape/duct_tape_snap.ogg', 50, TRUE) use(1) if(istype(target, /obj/item/clothing/gloves/fingerless)) var/obj/item/clothing/gloves/tackler/offbrand/O = new /obj/item/clothing/gloves/tackler/offbrand diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 4b89719998c8f..8d8b38c039294 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -68,7 +68,7 @@ * Place our tile on a plating, or replace it. * * Arguments: - * * target_plating - Instance of the plating we want to place on. Replaced during sucessful executions. + * * target_plating - Instance of the plating we want to place on. Replaced during successful executions. * * user - The mob doing the placing. */ /obj/item/stack/tile/proc/place_tile(turf/open/floor/plating/target_plating, mob/user) @@ -83,7 +83,7 @@ return target_plating = target_plating.place_on_top(placed_turf_path, flags = CHANGETURF_INHERIT_AIR) target_plating.setDir(turf_dir) - playsound(target_plating, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(target_plating, 'sound/items/weapons/genhit.ogg', 50, TRUE) return target_plating // Most executions should end here. // If we and the target tile share the same initial baseturf and they consent, replace em. @@ -98,7 +98,7 @@ target_plating = target_plating.ChangeTurf(placed_turf_path, target_plating.baseturfs, CHANGETURF_INHERIT_AIR) target_plating.setDir(turf_dir) - playsound(target_plating, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(target_plating, 'sound/items/weapons/genhit.ogg', 50, TRUE) return target_plating /obj/item/stack/tile/handle_openspace_click(turf/target, mob/user, list/modifiers) @@ -1259,7 +1259,7 @@ inhand_icon_state = "tile-catwalk" mats_per_unit = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT) turf_type = /turf/open/floor/catwalk_floor - merge_type = /obj/item/stack/tile/catwalk_tile //Just to be cleaner, these all stack with eachother + merge_type = /obj/item/stack/tile/catwalk_tile //Just to be cleaner, these all stack with each other tile_reskin_types = list( /obj/item/stack/tile/catwalk_tile, /obj/item/stack/tile/catwalk_tile/iron, diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index d7fcd17f2950d..0b6c26899f21c 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -11,12 +11,28 @@ icon_state = "wrap_paper" inhand_icon_state = "wrap_paper" greyscale_config = /datum/greyscale_config/wrap_paper - item_flags = NOBLUDGEON amount = 25 max_amount = 25 resistance_flags = FLAMMABLE merge_type = /obj/item/stack/wrapping_paper singular_name = "wrapping paper" + throwforce = 0 + w_class = WEIGHT_CLASS_TINY + throw_speed = 3 + throw_range = 5 + hitsound = 'sound/effects/bonk.ogg' + +/obj/item/stack/wrapping_paper/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND, INNATE_TRAIT) + +/obj/item/stack/wrapping_paper/attack(mob/living/target_mob, mob/living/user, params) + . = ..() + user.visible_message( + span_warning("[user] baps [target_mob] on the head with [src]!"), + span_warning("You bap [target_mob] on the head with [src]!"), + ) + target_mob.add_mood_event("roll", /datum/mood_event/bapped) /obj/item/stack/wrapping_paper/Initialize(mapload) . = ..() @@ -102,13 +118,6 @@ /obj/item/delivery/can_be_package_wrapped() return FALSE -/obj/item/stack/package_wrap/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/user) - if(isitem(storage_holder)) - // Don't insert if the target can be wrapped - var/obj/item/item = storage_holder - return !item.can_be_package_wrapped() - return TRUE - /obj/item/stack/package_wrap/interact_with_atom(obj/interacting_with, mob/living/user, list/modifiers) if(!isobj(interacting_with)) return NONE @@ -118,6 +127,8 @@ if(isitem(interacting_with)) var/obj/item/item = interacting_with if(!item.can_be_package_wrapped()) + if(SHOULD_SKIP_INTERACTION(interacting_with, src, user)) + return NONE // put it in the bag instead of yelling balloon_alert(user, "can't be wrapped!") return ITEM_INTERACT_BLOCKING if(user.is_holding(item)) @@ -160,7 +171,6 @@ else balloon_alert(user, "not enough paper!") return ITEM_INTERACT_BLOCKING - else if(istype(interacting_with, /obj/machinery/portable_atmospherics)) var/obj/machinery/portable_atmospherics/portable_atmospherics = interacting_with if(portable_atmospherics.anchored) @@ -208,3 +218,17 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 5 + hitsound = 'sound/effects/bonk.ogg' + +/obj/item/c_tube/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND, INNATE_TRAIT) + +/obj/item/c_tube/attack(mob/living/target_mob, mob/living/user, params) + . = ..() + user.visible_message( + span_warning("[user] baps [target_mob] on the head with [src]!"), + span_warning("You bap [target_mob] on the head with [src]!"), + ) + target_mob.add_mood_event("roll", /datum/mood_event/bapped) + diff --git a/code/game/objects/items/stickers.dm b/code/game/objects/items/stickers.dm index 447e202247367..9924749379573 100644 --- a/code/game/objects/items/stickers.dm +++ b/code/game/objects/items/stickers.dm @@ -25,7 +25,7 @@ throw_range = 3 pressure_resistance = 0 - item_flags = NOBLUDGEON | XENOMORPH_HOLDABLE //funny ~Jimmyl + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_TINY /// `list` or `null`, contains possible alternate `icon_states`. diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index a88da6537b64e..52c4d13def241 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -250,7 +250,7 @@ attack_verb_simple = list("MEAT", "MEAT MEAT") custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 25) // MEAT ///Sounds used in the squeak component - var/list/meat_sounds = list('sound/effects/blobattack.ogg' = 1) + var/list/meat_sounds = list('sound/effects/blob/blobattack.ogg' = 1) ///Reagents added to the edible component, ingested when you EAT the MEAT var/list/meat_reagents = list( /datum/reagent/consumable/nutriment/protein = 10, @@ -417,11 +417,11 @@ // How much time it takes to zip up (close) the duffelbag var/zip_up_duration = 0.5 SECONDS // Audio played during zipup - var/zip_up_sfx = 'sound/items/zip_up.ogg' + var/zip_up_sfx = 'sound/items/zip/zip_up.ogg' // How much time it takes to unzip the duffel var/unzip_duration = 2.1 SECONDS // Audio played during unzip - var/unzip_sfx = 'sound/items/un_zip.ogg' + var/unzip_sfx = 'sound/items/zip/un_zip.ogg' /obj/item/storage/backpack/duffelbag/Initialize(mapload) . = ..() @@ -642,7 +642,7 @@ zip_slowdown = 0.3 // Faster unzipping. Utilizes the same noise as zipping up to fit the unzip duration. unzip_duration = 0.5 SECONDS - unzip_sfx = 'sound/items/zip_up.ogg' + unzip_sfx = 'sound/items/zip/zip_up.ogg' /obj/item/storage/backpack/duffelbag/syndie/hitman desc = "A large duffel bag for holding extra things. There is a Nanotrasen logo on the back." diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 15db8bd6bf28f..864078c4b0839 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -155,13 +155,13 @@ UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) listeningTo = null -/obj/item/storage/bag/ore/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(istype(inserted, /obj/item/boulder)) - to_chat(user, span_warning("You can't fit [inserted] into [src]. \ +/obj/item/storage/bag/ore/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/boulder)) + to_chat(user, span_warning("You can't fit [tool] into [src]. \ Perhaps you should break it down first, or find an ore box.")) - return FALSE + return ITEM_INTERACT_BLOCKING - return TRUE + return NONE /obj/item/storage/bag/ore/proc/pickup_ores(mob/living/user) SIGNAL_HANDLER @@ -274,8 +274,6 @@ . += span_notice("Ctrl-click to activate seed extraction.") /obj/item/storage/bag/plants/portaseeder/item_ctrl_click(mob/user) - if(user.incapacitated) - return for(var/obj/item/plant in contents) seedify(plant, 1) return CLICK_ACTION_SUCCESS @@ -398,9 +396,9 @@ do_scatter(tray_item) if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, TRUE) + playsound(M, 'sound/items/trayhit/trayhit1.ogg', 50, TRUE) else - playsound(M, 'sound/items/trayhit2.ogg', 50, TRUE) + playsound(M, 'sound/items/trayhit/trayhit2.ogg', 50, TRUE) if(ishuman(M)) if(prob(10)) @@ -577,7 +575,7 @@ new /obj/item/ammo_casing/harpoon(src) /obj/item/storage/bag/rebar_quiver - name = "Rebar Storage Quiver" + name = "rebar quiver" icon = 'icons/obj/weapons/bows/quivers.dmi' icon_state = "rebar_quiver" worn_icon_state = "rebar_quiver" @@ -607,6 +605,7 @@ desc = "A specialized quiver meant to hold any kind of bolts intended for use with the rebar crossbow. \ Clearly a better design than a cut up oxygen tank..." slot_flags = ITEM_SLOT_NECK + w_class = WEIGHT_CLASS_NORMAL resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF actions_types = list(/datum/action/item_action/reload_rebar) @@ -648,7 +647,7 @@ if(held_crossbow.magazine.contents.len >= held_crossbow.magazine.max_ammo) user.balloon_alert(user, "no more room!") return - if(!do_after(user, 0.8 SECONDS, user, IGNORE_USER_LOC_CHANGE)) + if(!do_after(user, 1.2 SECONDS, user)) return var/obj/item/ammo_casing/rebar/ammo_to_load = contents[1] diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 5386718d94718..558689f70b048 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -374,7 +374,7 @@ /obj/item/restraints/handcuffs, /obj/item/restraints/legcuffs/bola, )) - atom_storage.open_sound = 'sound/items/holster.ogg' + atom_storage.open_sound = 'sound/items/handling/holster_open.ogg' atom_storage.open_sound_vary = TRUE atom_storage.rustle_sound = FALSE @@ -515,6 +515,7 @@ . = ..() atom_storage.max_slots = 1 atom_storage.set_holdable(/obj/item/clothing/mask/luchador) + AddComponent(/datum/component/adjust_fishing_difficulty, -2) /obj/item/storage/belt/military name = "chest rig" diff --git a/code/game/objects/items/storage/boxes/_boxes.dm b/code/game/objects/items/storage/boxes/_boxes.dm index 9401527299689..58e68b4487ab7 100644 --- a/code/game/objects/items/storage/boxes/_boxes.dm +++ b/code/game/objects/items/storage/boxes/_boxes.dm @@ -8,8 +8,8 @@ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' resistance_flags = FLAMMABLE - drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' - pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + drop_sound = 'sound/items/handling/cardboard_box/cardboardbox_drop.ogg' + pickup_sound = 'sound/items/handling/cardboard_box/cardboardbox_pickup.ogg' /// What material do we get when we fold this box? var/foldable_result = /obj/item/stack/sheet/cardboard /// What drawing will we get on the face of the box? @@ -19,8 +19,8 @@ . = ..() atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL update_appearance() - atom_storage.open_sound = 'sound/items/cardboard_box_open.ogg' - atom_storage.rustle_sound = 'sound/items/cardboard_box_rustle.ogg' + atom_storage.open_sound = 'sound/items/handling/cardboard_box/cardboard_box_open.ogg' + atom_storage.rustle_sound = 'sound/items/handling/cardboard_box/cardboard_box_rustle.ogg' /obj/item/storage/box/suicide_act(mob/living/carbon/user) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) diff --git a/code/game/objects/items/storage/boxes/clothes_boxes.dm b/code/game/objects/items/storage/boxes/clothes_boxes.dm index 582b611186c56..86cd3931f1e20 100644 --- a/code/game/objects/items/storage/boxes/clothes_boxes.dm +++ b/code/game/objects/items/storage/boxes/clothes_boxes.dm @@ -38,8 +38,8 @@ new /obj/item/stack/sticky_tape(src) /obj/item/storage/box/fakesyndiesuit - name = "boxed space suit and helmet" - desc = "A sleek, sturdy box used to hold replica spacesuits." + name = "boxed replica space suit and helmet" + desc = "A sleek, sturdy box used to hold toy spacesuits." icon_state = "syndiebox" illustration = "syndiesuit" diff --git a/code/game/objects/items/storage/boxes/food_boxes.dm b/code/game/objects/items/storage/boxes/food_boxes.dm index 86d59123c72aa..bac558ce3be78 100644 --- a/code/game/objects/items/storage/boxes/food_boxes.dm +++ b/code/game/objects/items/storage/boxes/food_boxes.dm @@ -301,7 +301,7 @@ new /obj/item/food/fishmeat/armorfish(src) new /obj/item/food/fishmeat/carp(src) new /obj/item/food/fishmeat/moonfish(src) - new /obj/item/food/fishmeat/gunner_jellyfish(src) + new /obj/item/food/fishmeat/gunner_jellyfish/supply(src) /obj/item/storage/box/ingredients/salads theme_name = "salads" diff --git a/code/game/objects/items/storage/boxes/service_boxes.dm b/code/game/objects/items/storage/boxes/service_boxes.dm index 767f351635d3a..f50629818ecab 100644 --- a/code/game/objects/items/storage/boxes/service_boxes.dm +++ b/code/game/objects/items/storage/boxes/service_boxes.dm @@ -47,7 +47,7 @@ /obj/item/storage/box/mousetraps name = "box of Pest-B-Gon mousetraps" - desc = "Keep out of reach of children." + desc = span_alert("Keep out of reach of children.") illustration = "mousetrap" /obj/item/storage/box/mousetraps/PopulateContents() diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index bd474808446af..a0b6e892e0591 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -110,3 +110,12 @@ new /obj/item/clothing/mask/balaclava(src) new /obj/item/bodybag(src) new /obj/item/soap/nanotrasen(src) + +/obj/item/storage/briefcase/hitchiker/PopulateContents() + new /obj/item/food/sandwich/peanut_butter_jelly(src) + new /obj/item/food/sandwich/peanut_butter_jelly(src) + new /obj/item/reagent_containers/cup/glass/waterbottle/large(src) + new /obj/item/soap(src) + new /obj/item/pillow/random(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/tank/internals/emergency_oxygen(src) diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index cc8a790c8ef34..010cc7ffd7f5a 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -33,7 +33,7 @@ /obj/item/gun/energy/laser/captain, /obj/item/gun/energy/e_gun/hos, )) - atom_storage.open_sound = 'sound/items/holster.ogg' + atom_storage.open_sound = 'sound/items/handling/holster_open.ogg' atom_storage.open_sound_vary = TRUE /obj/item/storage/belt/holster/energy diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index 368ef9c0b406a..643a1275b6f59 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -18,8 +18,8 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' throw_speed = 3 throw_range = 7 - drop_sound = 'sound/items/medkit_drop.ogg' - pickup_sound = 'sound/items/medkit_pick_up.ogg' + drop_sound = 'sound/items/handling/medkit/medkit_drop.ogg' + pickup_sound = 'sound/items/handling/medkit/medkit_pick_up.ogg' sound_vary = TRUE var/empty = FALSE /// Defines damage type of the medkit. General ones stay null. Used for medibot healing bonuses @@ -82,9 +82,9 @@ /obj/item/storage/medkit/Initialize(mapload) . = ..() atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL - atom_storage.open_sound = 'sound/items/medkit_open.ogg' + atom_storage.open_sound = 'sound/items/handling/medkit/medkit_open.ogg' atom_storage.open_sound_vary = TRUE - atom_storage.rustle_sound = 'sound/items/medkit_rustle.ogg' + atom_storage.rustle_sound = 'sound/items/handling/medkit/medkit_rustle.ogg' /obj/item/storage/medkit/regular icon_state = "medkit" @@ -818,3 +818,8 @@ /obj/item/storage/test_tube_rack/update_icon_state() icon_state = "[base_icon_state][contents.len > 0 ? contents.len : null]" return ..() + +/obj/item/storage/test_tube_rack/full/PopulateContents() + for(var/i in 1 to atom_storage.max_slots) + new /obj/item/reagent_containers/cup/tube(src) + diff --git a/code/game/objects/items/storage/sixpack.dm b/code/game/objects/items/storage/sixpack.dm index a6e36bf05925f..f1a950f025b8c 100644 --- a/code/game/objects/items/storage/sixpack.dm +++ b/code/game/objects/items/storage/sixpack.dm @@ -42,9 +42,9 @@ new /obj/item/reagent_containers/cup/soda_cans/cola(src) /obj/item/storage/cans/sixbeer - name = "beer bottle ring" - desc = "Holds six beer bottles. Remember to recycle when you're done!" + name = "beer can ring" + desc = "Holds six beers. Remember to recycle when you're done!" /obj/item/storage/cans/sixbeer/PopulateContents() for(var/i in 1 to 6) - new /obj/item/reagent_containers/cup/glass/bottle/beer(src) + new /obj/item/reagent_containers/cup/soda_cans/beer(src) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index d2bb90e69e445..c939e3d0dd9f4 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -16,9 +16,9 @@ custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT*5) attack_verb_continuous = list("robusts") attack_verb_simple = list("robust") - hitsound = 'sound/weapons/smash.ogg' - drop_sound = 'sound/items/handling/toolbox_drop.ogg' - pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + hitsound = 'sound/items/weapons/smash.ogg' + drop_sound = 'sound/items/handling/toolbox/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox/toolbox_pickup.ogg' material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR var/latches = "single_latch" var/has_latches = TRUE @@ -33,8 +33,8 @@ if(prob(1)) latches = "triple_latch" update_appearance() - atom_storage.open_sound = 'sound/items/toolbox_open.ogg' - atom_storage.rustle_sound = 'sound/items/toolbox_rustle.ogg' + atom_storage.open_sound = 'sound/items/handling/toolbox/toolbox_open.ogg' + atom_storage.rustle_sound = 'sound/items/handling/toolbox/toolbox_rustle.ogg' AddElement(/datum/element/falling_hazard, damage = force, wound_bonus = wound_bonus, hardhat_safety = TRUE, crushes = FALSE, impact_sound = hitsound) /obj/item/storage/toolbox/update_overlays() @@ -410,6 +410,7 @@ desc = "A bandana. It seems to have a little carp embroidered on the inside, as well as the kanji '魚'." icon_state = "snake_eater" inhand_icon_state = null + clothing_traits = list(TRAIT_FISH_EATER) /obj/item/clothing/head/costume/knight name = "fake medieval helmet" diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index e8c1fc6d19245..b4cd92665de23 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -111,10 +111,8 @@ cached_flat_icon = getFlatIcon(src) return cached_flat_icon -/obj/item/storage/wallet/get_examine_string(mob/user, thats = FALSE) - if(front_id) - return "[icon2html(get_cached_flat_icon(), user)] [thats? "That's ":""][get_examine_name(user)]" //displays all overlays in chat - return ..() +/obj/item/storage/wallet/get_examine_icon(mob/user) + return icon2html(get_cached_flat_icon(), user) /obj/item/storage/wallet/proc/update_label() if(front_id) @@ -175,4 +173,3 @@ /obj/item/storage/wallet/money/PopulateContents() for(var/iteration in 1 to pick(3, 4)) new /obj/item/holochip(src, rand(50, 450)) - diff --git a/code/game/objects/items/syndie_spraycan.dm b/code/game/objects/items/syndie_spraycan.dm index fb6192c6e3990..5690ecb7a28cc 100644 --- a/code/game/objects/items/syndie_spraycan.dm +++ b/code/game/objects/items/syndie_spraycan.dm @@ -157,7 +157,8 @@ mergeable_decal = FALSE resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF clean_type = CLEAN_TYPE_HARD_DECAL - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER var/slip_time = 6 SECONDS var/slip_flags = NO_SLIP_WHEN_WALKING diff --git a/code/game/objects/items/tail_pin.dm b/code/game/objects/items/tail_pin.dm index 71bd50b1dda21..dc2ffaefea0a9 100644 --- a/code/game/objects/items/tail_pin.dm +++ b/code/game/objects/items/tail_pin.dm @@ -8,7 +8,7 @@ throwforce = 0 throw_speed = 1 custom_materials = list(/datum/material/iron= HALF_SHEET_MATERIAL_AMOUNT) - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("pokes", "jabs", "pins the tail on") attack_verb_simple = list("poke", "jab") sharpness = SHARP_POINTY @@ -44,6 +44,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/party_game, 32) var/list/modifiers = params2list(params) if(!LAZYACCESS(modifiers, ICON_X) || !LAZYACCESS(modifiers, ICON_Y)) return - I.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) - I.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) + I.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X/2), ICON_SIZE_X/2) + I.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y/2), ICON_SIZE_Y/2) return TRUE diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index a7a577c77cf16..6976c936b665f 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -14,10 +14,16 @@ var/on = FALSE /// If the jetpack will stop when you stop moving var/stabilize = FALSE + /// If the jetpack will have a speedboost in space/nograv or not + var/full_speed = TRUE /// If our jetpack is disabled, from getting EMPd var/disabled = FALSE /// Callback for the jetpack component var/thrust_callback + /// How much force out jetpack can output per tick + var/drift_force = 1.5 NEWTONS + /// How much force this jetpack can output per tick to stabilize the user + var/stabilizer_force = 1.2 NEWTONS /obj/item/tank/jetpack/Initialize(mapload) . = ..() @@ -35,19 +41,27 @@ * Arguments * stabilize - Should this jetpack be stabalized */ -/obj/item/tank/jetpack/proc/configure_jetpack(stabilize) +/obj/item/tank/jetpack/proc/configure_jetpack(stabilize, mob/user = null) src.stabilize = stabilize AddComponent( \ /datum/component/jetpack, \ src.stabilize, \ + drift_force, \ + stabilizer_force, \ COMSIG_JETPACK_ACTIVATED, \ COMSIG_JETPACK_DEACTIVATED, \ JETPACK_ACTIVATION_FAILED, \ thrust_callback, \ - /datum/effect_system/trail_follow/ion \ + /datum/effect_system/trail_follow/ion, \ ) + if (!isnull(user) && user.get_item_by_slot(slot_flags) == src) + if (!stabilize) + ADD_TRAIT(user, TRAIT_NOGRAV_ALWAYS_DRIFT, JETPACK_TRAIT) + else + REMOVE_TRAIT(user, TRAIT_NOGRAV_ALWAYS_DRIFT, JETPACK_TRAIT) + /obj/item/tank/jetpack/item_action_slot_check(slot) if(slot & slot_flags) return TRUE @@ -73,7 +87,7 @@ cycle(user) else if(istype(action, /datum/action/item_action/jetpack_stabilization)) if(on) - configure_jetpack(!stabilize) + configure_jetpack(!stabilize, user) to_chat(user, span_notice("You turn the jetpack stabilization [stabilize ? "on" : "off"].")) else toggle_internals(user) @@ -105,12 +119,19 @@ return FALSE on = TRUE update_icon(UPDATE_ICON_STATE) + if(full_speed) + user.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/full_speed) + if (!stabilize) + ADD_TRAIT(user, TRAIT_NOGRAV_ALWAYS_DRIFT, JETPACK_TRAIT) return TRUE /obj/item/tank/jetpack/proc/turn_off(mob/user) SEND_SIGNAL(src, COMSIG_JETPACK_DEACTIVATED, user) on = FALSE update_icon(UPDATE_ICON_STATE) + if(user) + user.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/full_speed) + REMOVE_TRAIT(user, TRAIT_NOGRAV_ALWAYS_DRIFT, JETPACK_TRAIT) /obj/item/tank/jetpack/proc/allow_thrust(num, use_fuel = TRUE) if(!ismob(loc)) @@ -168,6 +189,9 @@ worn_icon_state = "jetpack-improvised" volume = 20 //normal jetpacks have 70 volume gas_type = null //it starts empty + full_speed = FALSE + drift_force = 1 NEWTONS + stabilizer_force = 0.5 NEWTONS /obj/item/tank/jetpack/improvised/allow_thrust(num) if(!ismob(loc)) @@ -210,6 +234,8 @@ volume = 90 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //steal objective items are hard to destroy. slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE + drift_force = 2 NEWTONS + stabilizer_force = 2 NEWTONS /obj/item/tank/jetpack/oxygen/security name = "security jetpack (oxygen)" diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 9c7138e00dee0..8a7f18ed2cc5d 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -21,9 +21,9 @@ obj_flags = CONDUCTS_ELECTRICITY slot_flags = ITEM_SLOT_BACK worn_icon = 'icons/mob/clothing/back.dmi' //since these can also get thrown into suit storage slots. if something goes on the belt, set this to null. - hitsound = 'sound/weapons/smash.ogg' - pickup_sound = 'sound/items/gas_tank_pick_up.ogg' - drop_sound = 'sound/items/gas_tank_drop.ogg' + hitsound = 'sound/items/weapons/smash.ogg' + pickup_sound = 'sound/items/handling/gas_tank/gas_tank_pick_up.ogg' + drop_sound = 'sound/items/handling/gas_tank/gas_tank_drop.ogg' sound_vary = TRUE pressure_resistance = ONE_ATMOSPHERE * 5 force = 5 @@ -86,13 +86,13 @@ /// Called by carbons after they connect the tank to their breathing apparatus. /obj/item/tank/proc/after_internals_opened(mob/living/carbon/carbon_target) breathing_mob = carbon_target - playsound(loc, 'sound/items/internals_on.ogg', 15, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(loc, 'sound/items/internals/internals_on.ogg', 15, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) RegisterSignal(carbon_target, COMSIG_MOB_GET_STATUS_TAB_ITEMS, PROC_REF(get_status_tab_item)) /// Called by carbons after they disconnect the tank from their breathing apparatus. /obj/item/tank/proc/after_internals_closed(mob/living/carbon/carbon_target) breathing_mob = null - playsound(loc, 'sound/items/internals_off.ogg', 15, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(loc, 'sound/items/internals/internals_off.ogg', 15, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) UnregisterSignal(carbon_target, COMSIG_MOB_GET_STATUS_TAB_ITEMS) /obj/item/tank/proc/get_status_tab_item(mob/living/source, list/items) @@ -443,7 +443,7 @@ /obj/item/tank/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here. audible_message(span_warning("[icon2html(src, hearers(src))] *beep* *beep* *beep*")) - playsound(src, 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE) + playsound(src, 'sound/machines/beep/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE) addtimer(CALLBACK(src, PROC_REF(ignite)), 1 SECONDS) /// Attaches an assembly holder to the tank to create a bomb. diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 15db2a5d3edf2..1c23937d2b589 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -371,7 +371,7 @@ qdel(src) // Please don't spacedrift thanks -/obj/effect/resin_container/newtonian_move(direction, instant = FALSE, start_delay = 0) +/obj/effect/resin_container/newtonian_move(inertia_angle, instant = FALSE, start_delay = 0, drift_force = 0, controlled_cap = null) return TRUE #undef EXTINGUISHER diff --git a/code/game/objects/items/taster.dm b/code/game/objects/items/taster.dm index 599b78971db11..cdd67ceae5654 100644 --- a/code/game/objects/items/taster.dm +++ b/code/game/objects/items/taster.dm @@ -16,4 +16,4 @@ else var/message = interacting_with.reagents.generate_taste_message(user, taste_sensitivity) to_chat(user, span_notice("[src] tastes [message] in [interacting_with].")) - return ITEM_INTERACT_SUCCESS + return user.combat_mode ? NONE : ITEM_INTERACT_SUCCESS diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index 23204b4809ff8..1f6c334c9921b 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -3,7 +3,7 @@ /obj/item/tcgcard name = "Coder" - desc = "Wow, a mint condition coder card! Better tell the Github all about this!" + desc = "Wow, a mint condition coder card! Better tell the GitHub all about this!" icon = DEFAULT_TCG_DMI_ICON icon_state = "runtime" w_class = WEIGHT_CLASS_TINY @@ -332,11 +332,11 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) /obj/item/cardpack name = "Trading Card Pack: Coder" - desc = "Contains six complete fuckups by the coders. Report this on github please!" + desc = "Contains six complete fuckups by the coders. Report this on GitHub please!" icon = 'icons/obj/toys/tcgmisc.dmi' icon_state = "error" w_class = WEIGHT_CLASS_TINY - custom_price = PAYCHECK_CREW * 0.75 //Price reduced from * 2 to * 0.75, this is planned as a temporary measure until card persistance is added. + custom_price = PAYCHECK_CREW * 0.75 //Price reduced from * 2 to * 0.75, this is planned as a temporary measure until card persistence is added. ///The card series to look in var/series = "MEME" ///Chance of the pack having a coin in it out of 10 @@ -351,7 +351,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) "epic" = 30, "legendary" = 5, "misprint" = 1) - ///The amount of cards to draw from the guarenteed rarity table + ///The amount of cards to draw from the guaranteed rarity table var/guaranteed_count = 1 ///The guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like var/list/guar_rarity = list( @@ -400,7 +400,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) new /obj/item/tcgcard(get_turf(user), series, template) to_chat(user, span_notice("Wow! Check out these cards!")) new /obj/effect/decal/cleanable/wrapping(get_turf(user)) - playsound(loc, 'sound/items/poster_ripped.ogg', 20, TRUE) + playsound(loc, 'sound/items/poster/poster_ripped.ogg', 20, TRUE) if(prob(contains_coin)) to_chat(user, span_notice("...and it came with a flipper, too!")) new /obj/item/coin/thunderdome(get_turf(user)) @@ -434,7 +434,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) atom_storage.max_total_storage = 120 atom_storage.max_slots = 60 -///Returns a list of cards ids of card_cnt weighted by rarity from the pack's tables that have matching series, with gnt_cnt of the guarenteed table. +///Returns a list of cards ids of card_cnt weighted by rarity from the pack's tables that have matching series, with gnt_cnt of the guaranteed table. /obj/item/cardpack/proc/buildCardListWithRarity(card_cnt, rarity_cnt) var/list/toReturn = list() //You can always get at least one of some rarity @@ -453,7 +453,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) weight += rarity_table[chance] var/random = rand(weight) for(var/bracket in rarity_table) - //Steals blatently from pick_weight(), sorry buddy I need the index + //Steals blatantly from pick_weight(), sorry buddy I need the index random -= rarity_table[bracket] if(random <= 0) rarity = bracket @@ -469,12 +469,12 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) log_runtime("The index [rarity] of rarity_table does not exist in the global cache") return toReturn -//All of these values should be overriden by either a template or a card itself +//All of these values should be overridden by either a template or a card itself /datum/card ///Unique ID, for use in lookups and (eventually) for persistence. MAKE SURE THIS IS UNIQUE FOR EACH CARD IN AS SERIES, OR THE ENTIRE SYSTEM WILL BREAK, AND I WILL BE VERY DISAPPOINTED. var/id = "coder" var/name = "Coder" - var/desc = "Wow, a mint condition coder card! Better tell the Github all about this!" + var/desc = "Wow, a mint condition coder card! Better tell the GitHub all about this!" ///This handles any extra rules for the card, i.e. extra attributes, special effects, etc. If you've played any other card game, you know how this works. var/rules = "There are no rules here. There is no escape. No Recall or Intervention can work in this place." var/icon = DEFAULT_TCG_DMI diff --git a/code/game/objects/items/tcg/tcg_machines.dm b/code/game/objects/items/tcg/tcg_machines.dm index 77b6891e4c17a..7a55e2e9554f7 100644 --- a/code/game/objects/items/tcg/tcg_machines.dm +++ b/code/game/objects/items/tcg/tcg_machines.dm @@ -90,7 +90,7 @@ GLOBAL_LIST_EMPTY(tcgcard_machine_radial_choices) /obj/machinery/trading_card_holder/attack_hand_secondary(mob/user) if(isnull(current_summon)) - var/card_name = tgui_input_text(user, "Insert card name", "Blank Card Naming", "blank card", MAX_NAME_LEN) + var/card_name = tgui_input_text(user, "Insert card name", "Blank Card Naming", "blank card", max_length = MAX_NAME_LEN) if(isnull(card_name) || !user.can_perform_action(src)) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN current_summon = new /obj/structure/trading_card_summon/blank(locate(x + summon_offset_x, y + summon_offset_y, z)) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 6fa7e8d23b340..5b5c930f04718 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -339,6 +339,8 @@ var/maximum_teleport_distance = 8 //How far the emergency teleport checks for a safe position var/parallel_teleport_distance = 3 + // How much blood lost per teleport (out of base 560 blood) + var/bleed_amount = 20 /obj/item/syndicate_teleporter/Initialize(mapload) . = ..() @@ -365,7 +367,7 @@ if(ishuman(loc)) var/mob/living/carbon/human/holder = loc balloon_alert(holder, "teleporter beeps") - playsound(src, 'sound/machines/twobeep.ogg', 10, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) + playsound(src, 'sound/machines/beep/twobeep.ogg', 10, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) /obj/item/syndicate_teleporter/emp_act(severity) . = ..() @@ -427,7 +429,10 @@ charges = max(charges - 1, 0) new /obj/effect/temp_visual/teleport_abductor/syndi_teleporter(current_location) new /obj/effect/temp_visual/teleport_abductor/syndi_teleporter(destination) - make_bloods(current_location, destination, user) + if(make_bloods(current_location, destination, user)) + new /obj/effect/temp_visual/circle_wave/syndi_teleporter/bloody(destination) + else + new /obj/effect/temp_visual/circle_wave/syndi_teleporter(destination) playsound(current_location, SFX_PORTAL_ENTER, 50, 1, SHORT_RANGE_SOUND_EXTRARANGE) playsound(destination, 'sound/effects/phasein.ogg', 25, 1, SHORT_RANGE_SOUND_EXTRARANGE) playsound(destination, SFX_PORTAL_ENTER, 50, 1, SHORT_RANGE_SOUND_EXTRARANGE) @@ -463,11 +468,14 @@ new /obj/effect/temp_visual/teleport_abductor/syndi_teleporter(mobloc) new /obj/effect/temp_visual/teleport_abductor/syndi_teleporter(emergency_destination) balloon_alert(user, "emergency teleport triggered!") - if (!HAS_TRAIT(user, TRAIT_NOBLOOD)) - make_bloods(mobloc, emergency_destination, user) + if(make_bloods(destination, emergency_destination, user)) + new /obj/effect/temp_visual/circle_wave/syndi_teleporter/bloody(destination) + else + new /obj/effect/temp_visual/circle_wave/syndi_teleporter(destination) playsound(mobloc, SFX_PORTAL_ENTER, 50, 1, SHORT_RANGE_SOUND_EXTRARANGE) playsound(emergency_destination, 'sound/effects/phasein.ogg', 25, 1, SHORT_RANGE_SOUND_EXTRARANGE) playsound(emergency_destination, SFX_PORTAL_ENTER, 50, 1, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(src, 'sound/machines/warning-buzzer.ogg', 25, TRUE) else //We tried to save. We failed. Death time. get_fragged(user, destination) @@ -479,7 +487,7 @@ new /obj/effect/temp_visual/teleport_abductor/syndi_teleporter(destination) playsound(mobloc, SFX_PORTAL_ENTER, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) playsound(destination, SFX_PORTAL_ENTER, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - playsound(destination, 'sound/magic/disintegrate.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(destination, 'sound/effects/magic/disintegrate.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(!not_holding_tele) to_chat(victim, span_userdanger("You teleport into [destination], [src] tries to save you, but...")) else @@ -495,16 +503,45 @@ victim.apply_damage(20, BRUTE) victim.Paralyze(6 SECONDS) to_chat(victim, span_warning("[user] teleports into you, knocking you to the floor with the bluespace wave!")) + victim.throw_at(get_step_rand(victim), 1, 1, user, spin = TRUE) ///Bleed and make blood splatters at tele start and end points /obj/item/syndicate_teleporter/proc/make_bloods(turf/old_location, turf/new_location, mob/living/user) + if(HAS_TRAIT(user, TRAIT_NOBLOOD)) + return FALSE user.add_splatter_floor(old_location) user.add_splatter_floor(new_location) if(!iscarbon(user)) - return + return FALSE var/mob/living/carbon/carbon_user = user - carbon_user.bleed(10) + // always lose a bit + carbon_user.bleed(bleed_amount * 0.25) + // sometimes lose a lot + // average evens out to 10 per teleport, but the randomness spices things up + if(prob(25) && bleed_amount) + playsound(src, 'sound/effects/wounds/pierce1.ogg', 40, vary = TRUE) + visible_message(span_warning("Blood visibly spurts out of [user] as [src] fails to teleport [user.p_their()] body properly!"), \ + span_boldwarning("Blood visibly spurts out of you as [src] fails to teleport your body properly!")) + carbon_user.bleed(bleed_amount * 0.75) + carbon_user.spray_blood(pick(GLOB.alldirs), rand(1, 3)) + return TRUE + + return FALSE + // retval used for picking wave type + +/// Visual effect spawned when teleporting +/obj/effect/temp_visual/circle_wave/syndi_teleporter + duration = 0.25 SECONDS + color = COLOR_SYNDIE_RED + max_alpha = 100 + amount_to_scale = 0.8 + +/obj/effect/temp_visual/circle_wave/syndi_teleporter/bloody + duration = 0.25 SECONDS + color = COLOR_VIVID_RED + max_alpha = 160 + amount_to_scale = 1 /obj/item/paper/syndicate_teleporter name = "Teleporter Guide" diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index e13251fe8e5ea..a2efbe2d4beba 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -187,7 +187,7 @@ if(!isliving(hit_atom)) return ..() var/mob/living/victim = hit_atom - if(victim.incorporeal_move || victim.status_flags & GODMODE) //try to keep this in sync with supermatter's consume fail conditions + if(victim.incorporeal_move || HAS_TRAIT(victim, TRAIT_GODMODE)) //try to keep this in sync with supermatter's consume fail conditions return ..() var/mob/thrower = throwingdatum?.get_thrower() if(thrower) @@ -208,7 +208,7 @@ /obj/item/nuke_core/supermatter_sliver/pickup(mob/living/user) ..() - if(!isliving(user) || user.status_flags & GODMODE) //try to keep this in sync with supermatter's consume fail conditions + if(!isliving(user) || HAS_TRAIT(user, TRAIT_GODMODE)) //try to keep this in sync with supermatter's consume fail conditions return FALSE user.visible_message(span_danger("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"),\ span_userdanger("You reach for [src] with your hands. That was dumb."),\ @@ -254,7 +254,7 @@ icon_state = "supermatter_scalpel" toolspeed = 0.5 damtype = BURN - usesound = 'sound/weapons/bladeslice.ogg' + usesound = 'sound/items/weapons/bladeslice.ogg' var/usesLeft /obj/item/scalpel/supermatter/Initialize(mapload) @@ -311,7 +311,7 @@ if(!isliving(AM)) return var/mob/living/victim = AM - if(victim.incorporeal_move || victim.status_flags & GODMODE) //try to keep this in sync with supermatter's consume fail conditions + if(victim.incorporeal_move || HAS_TRAIT(victim, TRAIT_GODMODE)) //try to keep this in sync with supermatter's consume fail conditions return victim.investigate_log("has been dusted by [src].", INVESTIGATE_DEATHS) victim.dust() diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 20e3846adefab..b98ace86cf006 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -6,8 +6,8 @@ inhand_icon_state = "crowbar" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - usesound = 'sound/items/crowbar.ogg' - operating_sound = 'sound/items/crowbar_prying.ogg' + usesound = 'sound/items/tools/crowbar.ogg' + operating_sound = 'sound/items/tools/crowbar_prying.ogg' obj_flags = CONDUCTS_ELECTRICITY slot_flags = ITEM_SLOT_BELT force = 5 @@ -15,8 +15,8 @@ demolition_mod = 1.25 w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.5) - drop_sound = 'sound/items/handling/crowbar_drop.ogg' - pickup_sound = 'sound/items/handling/crowbar_pickup.ogg' + drop_sound = 'sound/items/handling/tools/crowbar_drop.ogg' + pickup_sound = 'sound/items/handling/tools/crowbar_pickup.ogg' attack_verb_continuous = list("attacks", "bashes", "batters", "bludgeons", "whacks") attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack") @@ -35,7 +35,7 @@ /obj/item/crowbar/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/genhit.ogg', 50, TRUE, -1) return BRUTELOSS /obj/item/crowbar/red @@ -47,7 +47,7 @@ name = "alien crowbar" desc = "A hard-light crowbar. It appears to pry by itself, without any effort required." icon = 'icons/obj/antags/abductor.dmi' - usesound = 'sound/weapons/sonic_jackhammer.ogg' + usesound = 'sound/items/weapons/sonic_jackhammer.ogg' custom_materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/silver = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/plasma =HALF_SHEET_MATERIAL_AMOUNT, /datum/material/titanium =SHEET_MATERIAL_AMOUNT, /datum/material/diamond =SHEET_MATERIAL_AMOUNT) icon_state = "crowbar" belt_icon_state = "crowbar_alien" @@ -115,7 +115,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*2.25, /datum/material/silver = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/titanium = SHEET_MATERIAL_AMOUNT*1.75) - usesound = 'sound/items/jaws_pry.ogg' + usesound = 'sound/items/tools/jaws_pry.ogg' force = 15 w_class = WEIGHT_CLASS_NORMAL toolspeed = 0.7 @@ -152,7 +152,7 @@ tool_behaviour = (active ? TOOL_WIRECUTTER : TOOL_CROWBAR) if(user) balloon_alert(user, "attached [active ? "cutting" : "prying"]") - playsound(src, 'sound/items/change_jaws.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/change_jaws.ogg', 50, TRUE) if(tool_behaviour == TOOL_CROWBAR) RemoveElement(/datum/element/cuffsnapping, snap_time_weak_handcuffs, snap_time_strong_handcuffs) else @@ -174,10 +174,10 @@ /obj/item/crowbar/power/suicide_act(mob/living/user) if(tool_behaviour == TOOL_CROWBAR) user.visible_message(span_suicide("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!")) - playsound(loc, 'sound/items/jaws_pry.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/tools/jaws_pry.ogg', 50, TRUE, -1) else user.visible_message(span_suicide("[user] is wrapping \the [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!")) - playsound(loc, 'sound/items/jaws_cut.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/tools/jaws_cut.ogg', 50, TRUE, -1) if(iscarbon(user)) var/mob/living/carbon/suicide_victim = user var/obj/item/bodypart/target_bodypart = suicide_victim.get_bodypart(BODY_ZONE_HEAD) @@ -192,7 +192,7 @@ icon = 'icons/obj/items_cyborg.dmi' icon_state = "toolkit_engiborg_crowbar" worn_icon_state = "toolkit_engiborg_crowbar" //error sprite - this shouldn't have been dropped - usesound = 'sound/items/jaws_pry.ogg' + usesound = 'sound/items/tools/jaws_pry.ogg' force = 10 toolspeed = 0.5 @@ -234,7 +234,7 @@ user.log_message("tried to pry open [mech], located at [loc_name(mech)], which is currently occupied by [mech.occupants.Join(", ")].", LOG_ATTACK) var/mech_dir = mech.dir mech.balloon_alert(user, "prying open...") - playsound(mech, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) + playsound(mech, 'sound/machines/airlock/airlock_alien_prying.ogg', 100, TRUE) if(!use_tool(mech, user, (mech.mecha_flags & IS_ENCLOSED) ? 5 SECONDS : 3 SECONDS, volume = 0, extra_checks = CALLBACK(src, PROC_REF(extra_checks), mech, mech_dir))) mech.balloon_alert(user, "interrupted!") return @@ -243,7 +243,7 @@ if(isAI(occupant)) continue mech.mob_exit(occupant, randomstep = TRUE) - playsound(mech, 'sound/machines/airlockforced.ogg', 75, TRUE) + playsound(mech, 'sound/machines/airlock/airlockforced.ogg', 75, TRUE) /obj/item/crowbar/mechremoval/proc/extra_checks(obj/vehicle/sealed/mecha/mech, mech_dir) return HAS_TRAIT(src, TRAIT_WIELDED) && LAZYLEN(mech.occupants) && mech.dir == mech_dir diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index b9e0d15e69f6e..8cf9005d19137 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -20,14 +20,14 @@ custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.75) attack_verb_continuous = list("stabs") attack_verb_simple = list("stab") - hitsound = 'sound/weapons/bladeslice.ogg' - usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg') - operating_sound = 'sound/items/screwdriver_operating.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' + usesound = list('sound/items/tools/screwdriver.ogg', 'sound/items/tools/screwdriver2.ogg') + operating_sound = 'sound/items/tools/screwdriver_operating.ogg' tool_behaviour = TOOL_SCREWDRIVER toolspeed = 1 armor_type = /datum/armor/item_screwdriver - drop_sound = 'sound/items/handling/screwdriver_drop.ogg' - pickup_sound = 'sound/items/handling/screwdriver_pickup.ogg' + drop_sound = 'sound/items/handling/tools/screwdriver_drop.ogg' + pickup_sound = 'sound/items/handling/tools/screwdriver_pickup.ogg' sharpness = SHARP_POINTY greyscale_config = /datum/greyscale_config/screwdriver greyscale_config_inhand_left = /datum/greyscale_config/screwdriver_inhand_left @@ -68,7 +68,7 @@ icon_state = "screwdriver_a" inhand_icon_state = "screwdriver_nuke" custom_materials = list(/datum/material/iron=HALF_SHEET_MATERIAL_AMOUNT*5, /datum/material/silver=SHEET_MATERIAL_AMOUNT*1.25, /datum/material/plasma =HALF_SHEET_MATERIAL_AMOUNT, /datum/material/titanium =SHEET_MATERIAL_AMOUNT, /datum/material/diamond =SHEET_MATERIAL_AMOUNT) - usesound = 'sound/items/pshoom.ogg' + usesound = 'sound/items/pshoom/pshoom.ogg' toolspeed = 0.1 random_color = FALSE greyscale_config_inhand_left = null @@ -93,8 +93,8 @@ throw_range = 3//it's heavier than a screw driver/wrench, so it does more damage, but can't be thrown as far attack_verb_continuous = list("drills", "screws", "jabs", "whacks") attack_verb_simple = list("drill", "screw", "jab", "whack") - hitsound = 'sound/items/drill_hit.ogg' - usesound = 'sound/items/drill_use.ogg' + hitsound = 'sound/items/tools/drill_hit.ogg' + usesound = 'sound/items/tools/drill_use.ogg' w_class = WEIGHT_CLASS_NORMAL toolspeed = 0.7 random_color = FALSE @@ -130,7 +130,7 @@ tool_behaviour = (active ? TOOL_WRENCH : TOOL_SCREWDRIVER) if(user) balloon_alert(user, "attached [active ? "bolt bit" : "screw bit"]") - playsound(src, 'sound/items/change_drill.ogg', 50, TRUE) + playsound(src, 'sound/items/tools/change_drill.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/screwdriver/power/examine() @@ -142,7 +142,7 @@ user.visible_message(span_suicide("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!")) else user.visible_message(span_suicide("[user] is pressing [src] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(loc, 'sound/items/drill_use.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/tools/drill_use.ogg', 50, TRUE, -1) return BRUTELOSS /obj/item/screwdriver/cyborg @@ -150,8 +150,8 @@ desc = "A powerful automated screwdriver, designed to be both precise and quick." icon = 'icons/obj/items_cyborg.dmi' icon_state = "toolkit_engiborg_screwdriver" - hitsound = 'sound/items/drill_hit.ogg' - usesound = 'sound/items/drill_use.ogg' + hitsound = 'sound/items/tools/drill_hit.ogg' + usesound = 'sound/items/tools/drill_use.ogg' toolspeed = 0.5 random_color = FALSE diff --git a/code/game/objects/items/tools/spess_knife.dm b/code/game/objects/items/tools/spess_knife.dm index 9fd5dbb01582a..4019aa41c701d 100644 --- a/code/game/objects/items/tools/spess_knife.dm +++ b/code/game/objects/items/tools/spess_knife.dm @@ -68,7 +68,7 @@ update_tool_parameters() update_appearance(UPDATE_ICON_STATE) - playsound(src, 'sound/weapons/empty.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/empty.ogg', 50, TRUE) /// Used to pick random tool behavior for the knife /obj/item/spess_knife/proc/pick_tool() diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 143b8eab174e6..41bcc25eba652 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -1,5 +1,3 @@ -/// How many seconds between each fuel depletion tick ("use" proc) -#define WELDER_FUEL_BURN_INTERVAL 5 /obj/item/weldingtool name = "welding tool" desc = "A standard edition welder provided by Nanotrasen." @@ -14,9 +12,9 @@ force = 3 throwforce = 5 hitsound = SFX_SWING_HIT - usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') - drop_sound = 'sound/items/handling/weldingtool_drop.ogg' - pickup_sound = 'sound/items/handling/weldingtool_pickup.ogg' + usesound = list('sound/items/tools/welder.ogg', 'sound/items/tools/welder2.ogg') + drop_sound = 'sound/items/handling/tools/weldingtool_drop.ogg' + pickup_sound = 'sound/items/handling/tools/weldingtool_pickup.ogg' light_system = OVERLAY_LIGHT light_range = 2 light_power = 1.5 @@ -48,8 +46,8 @@ /// When fuel was last removed. var/burned_fuel_for = 0 - var/activation_sound = 'sound/items/welderactivate.ogg' - var/deactivation_sound = 'sound/items/welderdeactivate.ogg' + var/activation_sound = 'sound/items/tools/welderactivate.ogg' + var/deactivation_sound = 'sound/items/tools/welderdeactivate.ogg' /datum/armor/item_weldingtool fire = 100 @@ -89,7 +87,7 @@ force = 15 damtype = BURN burned_fuel_for += seconds_per_tick - if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) + if(burned_fuel_for >= TOOL_FUEL_BURN_INTERVAL) use(TRUE) update_appearance() @@ -244,7 +242,7 @@ playsound(loc, activation_sound, 50, TRUE) force = 15 damtype = BURN - hitsound = 'sound/items/welder.ogg' + hitsound = 'sound/items/tools/welder.ogg' update_appearance() START_PROCESSING(SSobj, src) else @@ -276,16 +274,17 @@ return welding /// If welding tool ran out of fuel during a construction task, construction fails. -/obj/item/weldingtool/tool_use_check(mob/living/user, amount) +/obj/item/weldingtool/tool_use_check(mob/living/user, amount, heat_required) if(!isOn() || !check_fuel()) to_chat(user, span_warning("[src] has to be on to complete this task!")) return FALSE - - if(get_fuel() >= amount) - return TRUE - else + if(get_fuel() < amount) to_chat(user, span_warning("You need more welding fuel to complete this task!")) return FALSE + if(heat < heat_required) + to_chat(user, span_warning("[src] is not hot enough to complete this task!")) + return FALSE + return TRUE /// Ran when the welder is attacked by a screwdriver. /obj/item/weldingtool/proc/flamethrower_screwdriver(obj/item/tool, mob/user) @@ -410,5 +409,3 @@ if(get_fuel() < max_fuel && nextrefueltick < world.time) nextrefueltick = world.time + 10 reagents.add_reagent(/datum/reagent/fuel, 1) - -#undef WELDER_FUEL_BURN_INTERVAL diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 7f2b11777d8f5..234f268ace29d 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -22,11 +22,11 @@ custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.8) attack_verb_continuous = list("pinches", "nips") attack_verb_simple = list("pinch", "nip") - hitsound = 'sound/items/wirecutter.ogg' - usesound = 'sound/items/wirecutter.ogg' - operating_sound = 'sound/items/wirecutter_cut.ogg' - drop_sound = 'sound/items/handling/wirecutter_drop.ogg' - pickup_sound = 'sound/items/handling/wirecutter_pickup.ogg' + hitsound = 'sound/items/tools/wirecutter.ogg' + usesound = 'sound/items/tools/wirecutter.ogg' + operating_sound = 'sound/items/tools/wirecutter_cut.ogg' + drop_sound = 'sound/items/handling/tools/wirecutter_drop.ogg' + pickup_sound = 'sound/items/handling/tools/wirecutter_pickup.ogg' tool_behaviour = TOOL_WIRECUTTER toolspeed = 1 armor_type = /datum/armor/item_wirecutters diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index aa72b5d257ac6..41b4556ebace5 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -13,11 +13,11 @@ throwforce = 7 demolition_mod = 1.25 w_class = WEIGHT_CLASS_SMALL - usesound = 'sound/items/ratchet.ogg' - operating_sound = list('sound/items/ratchet_fast.ogg', 'sound/items/ratchet_slow.ogg') + usesound = 'sound/items/tools/ratchet.ogg' + operating_sound = list('sound/items/tools/ratchet_fast.ogg', 'sound/items/tools/ratchet_slow.ogg') custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*1.5) - drop_sound = 'sound/items/handling/wrench_drop.ogg' - pickup_sound = 'sound/items/handling/wrench_pickup.ogg' + drop_sound = 'sound/items/handling/tools/wrench_drop.ogg' + pickup_sound = 'sound/items/handling/tools/wrench_pickup.ogg' attack_verb_continuous = list("bashes", "batters", "bludgeons", "whacks") attack_verb_simple = list("bash", "batter", "bludgeon", "whack") @@ -35,7 +35,7 @@ /obj/item/wrench/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1) + playsound(loc, 'sound/items/weapons/genhit.ogg', 50, TRUE, -1) return BRUTELOSS /obj/item/wrench/abductor @@ -124,7 +124,7 @@ tool_behaviour = active ? TOOL_WRENCH : initial(tool_behaviour) if(user) balloon_alert(user, "[name] [active ? "active, woe!":"restrained"]") - playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 5, TRUE) + playsound(src, active ? 'sound/items/weapons/saberon.ogg' : 'sound/items/weapons/saberoff.ogg', 5, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/wrench/bolter diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index d08deec62e316..9aa8ef8ea0259 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -129,7 +129,7 @@ to_chat(user, span_notice("You play with [src].")) timer = world.time + cooldown if(!quiet) - playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) + playsound(user, 'sound/vehicles/mecha/mechstep.ogg', 20, TRUE) else . = ..() @@ -193,7 +193,7 @@ to_chat(user, span_notice("You telekinetically play with [src].")) timer = world.time + cooldown if(!quiet) - playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) + playsound(user, 'sound/vehicles/mecha/mechstep.ogg', 20, TRUE) return COMPONENT_CANCEL_ATTACK_CHAIN @@ -224,12 +224,12 @@ switch(i) if(1, 3) SpinAnimation(5, 0) - playsound(src, 'sound/mecha/mechstep.ogg', 30, TRUE) + playsound(src, 'sound/vehicles/mecha/mechstep.ogg', 30, TRUE) user.adjustBruteLoss(25) user.adjustStaminaLoss(50) if(2) user.SpinAnimation(5, 0) - playsound(user, 'sound/weapons/smash.ogg', 20, TRUE) + playsound(user, 'sound/items/weapons/smash.ogg', 20, TRUE) combat_health-- //we scratched it! if(4) say(special_attack_cry + "!!") @@ -330,7 +330,7 @@ span_danger("You begin charging [attacker]'s special attack!")) else //just attack attacker.SpinAnimation(5, 0) - playsound(attacker, 'sound/mecha/mechstep.ogg', 30, TRUE) + playsound(attacker, 'sound/vehicles/mecha/mechstep.ogg', 30, TRUE) combat_health-- attacker_controller.visible_message(span_danger("[attacker] devastates [src]!"), \ span_danger("You ram [attacker] into [src]!"), \ @@ -357,7 +357,7 @@ span_danger("[src] and [attacker] clash dramatically, causing sparks to fly!"), \ span_hear("You hear hard plastic rubbing against hard plastic."), COMBAT_MESSAGE_RANGE) if(5) //both win - playsound(attacker, 'sound/weapons/parry.ogg', 20, TRUE) + playsound(attacker, 'sound/items/weapons/parry.ogg', 20, TRUE) if(prob(50)) attacker_controller.visible_message(span_danger("[src]'s attack deflects off of [attacker]."), \ span_danger("[src]'s attack deflects off of [attacker]."), \ @@ -374,7 +374,7 @@ span_danger("You begin charging [src]'s special attack!")) else //just attack SpinAnimation(5, 0) - playsound(src, 'sound/mecha/mechstep.ogg', 30, TRUE) + playsound(src, 'sound/vehicles/mecha/mechstep.ogg', 30, TRUE) attacker.combat_health-- src_controller.visible_message(span_danger("[src] smashes [attacker]!"), \ span_danger("You smash [src] into [attacker]!"), \ @@ -476,14 +476,14 @@ switch(special_attack_type) if(SPECIAL_ATTACK_DAMAGE) //+2 damage victim.combat_health-=2 - playsound(src, 'sound/weapons/marauder.ogg', 20, TRUE) + playsound(src, 'sound/items/weapons/marauder.ogg', 20, TRUE) if(SPECIAL_ATTACK_HEAL) //+2 healing combat_health+=2 - playsound(src, 'sound/mecha/mech_shield_raise.ogg', 20, TRUE) + playsound(src, 'sound/vehicles/mecha/mech_shield_raise.ogg', 20, TRUE) if(SPECIAL_ATTACK_UTILITY) //+1 heal, +1 damage victim.combat_health-- combat_health++ - playsound(src, 'sound/mecha/mechmove01.ogg', 30, TRUE) + playsound(src, 'sound/vehicles/mecha/mechmove01.ogg', 30, TRUE) if(SPECIAL_ATTACK_OTHER) //other super_special_attack(victim) else @@ -571,7 +571,7 @@ special_attack_cry = "MEGA HORN" /obj/item/toy/mecha/honk/super_special_attack(obj/item/toy/mecha/victim) - playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 20, TRUE) + playsound(src, 'sound/mobs/non-humanoids/honkbot/honkbot_evil_laugh.ogg', 20, TRUE) victim.special_attack_cooldown += 3 //Adds cooldown to the other mech and gives a minor self heal combat_health++ @@ -605,7 +605,7 @@ special_attack_cry = "KILLER CLAMP" /obj/item/toy/mecha/deathripley/super_special_attack(obj/item/toy/mecha/victim) - playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 20, TRUE) + playsound(src, 'sound/items/weapons/sonic_jackhammer.ogg', 20, TRUE) if(victim.combat_health < combat_health) //Instantly kills the other mech if its health is below ours. say("EXECUTE!!") victim.combat_health = 0 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 1c82bffbf7c7e..6f47661d93a63 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -199,7 +199,7 @@ return ..() /obj/item/toy/balloon/proc/pop_balloon(monkey_pop = FALSE) - playsound(src, 'sound/effects/cartoon_pop.ogg', 50, vary = TRUE) + playsound(src, 'sound/effects/cartoon_sfx/cartoon_pop.ogg', 50, vary = TRUE) if(monkey_pop) // Monkeys make money from popping bloons new /obj/item/coin/iron(get_turf(src)) qdel(src) @@ -398,7 +398,7 @@ /obj/item/toy/captainsaid/attack_self(mob/living/user) current_mode++ - playsound(src, 'sound/items/screwdriver2.ogg', 50, vary = TRUE) + playsound(src, 'sound/items/tools/screwdriver2.ogg', 50, vary = TRUE) if (current_mode <= modes.len) balloon_alert(user, "set to [current_mode]") else @@ -531,9 +531,9 @@ src.add_fingerprint(user) if (src.bullets < 1) user.show_message(span_warning("*click*"), MSG_AUDIBLE) - playsound(src, 'sound/weapons/gun/revolver/dry_fire.ogg', 30, TRUE) + playsound(src, 'sound/items/weapons/gun/revolver/dry_fire.ogg', 30, TRUE) return ITEM_INTERACT_SUCCESS - playsound(user, 'sound/weapons/gun/revolver/shot.ogg', 100, TRUE) + playsound(user, 'sound/items/weapons/gun/revolver/shot.ogg', 100, TRUE) src.bullets-- user.visible_message(span_danger("[user] fires [src] at [interacting_with]!"), \ span_danger("You fire [src] at [interacting_with]!"), \ @@ -606,7 +606,7 @@ if(user) balloon_alert(user, "[active ? "flicked out":"pushed in"] [src]") - playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 20, TRUE) + playsound(src, active ? 'sound/items/weapons/saberon.ogg' : 'sound/items/weapons/saberoff.ogg', 20, TRUE) update_appearance(UPDATE_ICON) return COMPONENT_NO_DEFAULT_MESSAGE @@ -697,9 +697,9 @@ inhand_icon_state = "artistic_toolbox" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' - hitsound = 'sound/weapons/smash.ogg' - drop_sound = 'sound/items/handling/toolbox_drop.ogg' - pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + hitsound = 'sound/items/weapons/smash.ogg' + drop_sound = 'sound/items/handling/toolbox/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox/toolbox_pickup.ogg' attack_verb_continuous = list("robusts") attack_verb_simple = list("robust") var/active = FALSE @@ -747,7 +747,7 @@ active = FALSE update_appearance() visible_message(span_warning("[src] slowly stops rattling and falls still, its latch snapping shut.")) //subtle difference - playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE) + playsound(loc, 'sound/items/weapons/batonextend.ogg', 100, TRUE) animate(src, transform = matrix()) /* @@ -790,7 +790,7 @@ w_class = WEIGHT_CLASS_NORMAL attack_verb_continuous = list("attacks", "slashes", "stabs", "slices") attack_verb_simple = list("attack", "slash", "stab", "slice") - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' /* * Snap pops @@ -963,7 +963,7 @@ cooldown = world.time + 600 user.audible_message(span_hear("You hear the click of a button."), self_message = span_notice("You activate [src], it plays a loud noise!")) sleep(0.5 SECONDS) - playsound(src, 'sound/machines/alarm.ogg', 20, FALSE) + playsound(src, 'sound/announcer/alarm/nuke_alarm.ogg', 20, FALSE) sleep(14 SECONDS) user.visible_message(span_alert("[src] violently explodes!")) explosion(src, light_impact_range = 1) @@ -973,7 +973,7 @@ user.visible_message(span_warning("[user] presses a button on [src]."), span_notice("You activate [src], it plays a loud noise!"), span_hear("You hear the click of a button.")) sleep(0.5 SECONDS) icon_state = "nuketoy" - playsound(src, 'sound/machines/alarm.ogg', 20, FALSE) + playsound(src, 'sound/announcer/alarm/nuke_alarm.ogg', 20, FALSE) sleep(13.5 SECONDS) icon_state = "nuketoycool" sleep(cooldown - world.time) @@ -1032,7 +1032,7 @@ if (cooldown < world.time) cooldown = (world.time + 300) // Sets cooldown at 30 seconds user.visible_message(span_warning("[user] presses the big red button."), span_notice("You press the button, it plays a loud noise!"), span_hear("The button clicks loudly.")) - playsound(src, 'sound/effects/explosionfar.ogg', 50, FALSE) + playsound(src, 'sound/effects/explosion/explosionfar.ogg', 50, FALSE) for(var/mob/M in urange(10, src)) // Checks range if(!M.stat && !isAI(M)) // Checks to make sure whoever's getting shaken is alive/not the AI // Short delay to match up with the explosion sound @@ -1104,7 +1104,7 @@ if (cooldown < world.time) cooldown = world.time + 1800 //3 minutes user.visible_message(span_warning("[user] rotates a cogwheel on [src]."), span_notice("You rotate a cogwheel on [src], it plays a loud noise!"), span_hear("You hear cogwheels turning.")) - playsound(src, 'sound/magic/clockwork/ark_activation.ogg', 50, FALSE) + playsound(src, 'sound/effects/magic/clockwork/ark_activation.ogg', 50, FALSE) else to_chat(user, span_alert("The cogwheels are already turning!")) @@ -1134,7 +1134,6 @@ name = "xenomorph action figure" desc = "MEGA presents the new Xenos Isolated action figure! Comes complete with realistic sounds! Pull back string to use." w_class = WEIGHT_CLASS_SMALL - item_flags = XENOMORPH_HOLDABLE var/cooldown = 0 /obj/item/toy/toy_xeno/attack_self(mob/user) @@ -1144,7 +1143,7 @@ icon_state = "[initial(icon_state)]_used" sleep(0.5 SECONDS) audible_message(span_danger("[icon2html(src, viewers(src))] Hiss!")) - var/list/possible_sounds = list('sound/voice/hiss1.ogg', 'sound/voice/hiss2.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss4.ogg') + var/list/possible_sounds = list('sound/mobs/non-humanoids/hiss/hiss1.ogg', 'sound/mobs/non-humanoids/hiss/hiss2.ogg', 'sound/mobs/non-humanoids/hiss/hiss3.ogg', 'sound/mobs/non-humanoids/hiss/hiss4.ogg') var/chosen_sound = pick(possible_sounds) playsound(get_turf(src), chosen_sound, 50, TRUE) addtimer(VARSET_CALLBACK(src, icon_state, "[initial(icon_state)]"), 4.5 SECONDS) @@ -1216,7 +1215,7 @@ name = "\improper Cyborg action figure" icon_state = "borg" toysay = "I. LIVE. AGAIN." - toysound = 'sound/voice/liveagain.ogg' + toysound = 'sound/mobs/non-humanoids/cyborg/liveagain.ogg' /obj/item/toy/figure/botanist name = "\improper Botanist action figure" @@ -1359,7 +1358,7 @@ name = "\improper Wizard action figure" icon_state = "wizard" toysay = "EI NATH!" - toysound = 'sound/magic/disintegrate.ogg' + toysound = 'sound/effects/magic/disintegrate.ogg' /obj/item/toy/figure/rd name = "\improper Research Director action figure" @@ -1370,13 +1369,13 @@ name = "\improper Roboticist action figure" icon_state = "roboticist" toysay = "Big stompy mechs!" - toysound = 'sound/mecha/mechstep.ogg' + toysound = 'sound/vehicles/mecha/mechstep.ogg' /obj/item/toy/figure/scientist name = "\improper Scientist action figure" icon_state = "scientist" toysay = "I call ordnance." - toysound = 'sound/effects/explosionfar.ogg' + toysound = 'sound/effects/explosion/explosionfar.ogg' /obj/item/toy/figure/syndie name = "\improper Nuclear Operative action figure" @@ -1405,7 +1404,7 @@ //Add changing looks when i feel suicidal about making 20 inhands for these. /obj/item/toy/dummy/attack_self(mob/user) - var/new_name = tgui_input_text(usr, "What would you like to name the dummy?", "Doll Name", doll_name, MAX_NAME_LEN) + var/new_name = tgui_input_text(usr, "What would you like to name the dummy?", "Doll Name", doll_name, max_length = MAX_NAME_LEN) if(!new_name || !user.is_holding(src)) return doll_name = new_name @@ -1461,7 +1460,7 @@ /obj/item/toy/braintoy/attack_self(mob/user) if(cooldown <= world.time) cooldown = (world.time + 10) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/effects/blobattack.ogg', 50, FALSE), 0.5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/effects/blob/blobattack.ogg', 50, FALSE), 0.5 SECONDS) /* * Eldritch Toys @@ -1563,7 +1562,7 @@ GLOBAL_LIST_EMPTY(intento_players) #define DISARM "disarm" #define GRAB "grab" #define HARM "harm" -#define ICON_SPLIT world.icon_size/2 +#define ICON_SPLIT ICON_SIZE_ALL/2 // These states do not have any associated processing. #define STATE_AWAITING_PLAYER_INPUT "awaiting_player_input" @@ -1638,7 +1637,7 @@ GLOBAL_LIST_EMPTY(intento_players) /obj/item/toy/intento/proc/boot() say("Game starting!") - playsound(src, 'sound/machines/synth_yes.ogg', 50, FALSE) + playsound(src, 'sound/machines/synth/synth_yes.ogg', 50, FALSE) state = STATE_STARTING COOLDOWN_START(src, next_process, TIME_TO_BEGIN) @@ -1717,7 +1716,7 @@ GLOBAL_LIST_EMPTY(intento_players) user.client.give_award(/datum/award/score/intento_score, user, award_score) say("GAME OVER. Your score was [score]!") - playsound(src, 'sound/machines/synth_no.ogg', 50, FALSE) + playsound(src, 'sound/machines/synth/synth_no.ogg', 50, FALSE) if(user && loc == user && obj_flags & EMAGGED) ADD_TRAIT(src, TRAIT_NODROP, type) diff --git a/code/game/objects/items/wall_mounted.dm b/code/game/objects/items/wall_mounted.dm index ef19205cf8063..2db970b556ae1 100644 --- a/code/game/objects/items/wall_mounted.dm +++ b/code/game/objects/items/wall_mounted.dm @@ -61,9 +61,9 @@ /obj/item/wallframe/screwdriver_act(mob/living/user, obj/item/tool) // For camera-building borgs - var/turf/T = get_step(get_turf(user), user.dir) - if(iswallturf(T)) - T.attackby(src, user) + var/turf/wall_turf = get_step(get_turf(user), user.dir) + if(iswallturf(wall_turf)) + wall_turf.item_interaction(user, src) return ITEM_INTERACT_SUCCESS /obj/item/wallframe/wrench_act(mob/living/user, obj/item/tool) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 821f994a1ed6f..bddc056b99ef8 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -67,7 +67,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 . = "A sacred weapon of the higher castes from the clown planet, used to strike fear into the hearts of their foes. Wield it with care." /obj/item/balloon_mallet/attack(mob/living/target, mob/living/user) - playsound(loc, 'sound/creatures/clown/hehe.ogg', 20) + playsound(loc, 'sound/mobs/non-humanoids/clown/hehe.ogg', 20) if (!isliving(target)) return switch(target.mob_mood.sanity) @@ -94,7 +94,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 2 throwforce = 1 w_class = WEIGHT_CLASS_NORMAL - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") @@ -111,7 +111,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 inhand_icon_state = "claymore" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' obj_flags = CONDUCTS_ELECTRICITY slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK force = 40 @@ -120,7 +120,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_chance = 50 - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' sharpness = SHARP_EDGED max_integrity = 200 armor_type = /datum/armor/item_claymore @@ -332,7 +332,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 user.update_held_items() name = new_name - playsound(user, 'sound/items/screwdriver2.ogg', 50, TRUE) + playsound(user, 'sound/items/tools/screwdriver2.ogg', 50, TRUE) /obj/item/claymore/highlander/robot //BLOODTHIRSTY BORGS NOW COME IN PLAID icon = 'icons/obj/items_cyborg.dmi' @@ -363,11 +363,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 40 throwforce = 10 w_class = WEIGHT_CLASS_HUGE - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_chance = 50 - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' sharpness = SHARP_EDGED max_integrity = 200 armor_type = /datum/armor/item_katana @@ -447,7 +447,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throw_speed = 3 throw_range = 6 custom_materials = list(/datum/material/iron= SHEET_MATERIAL_AMOUNT * 6) - hitsound = 'sound/weapons/genhit.ogg' + hitsound = 'sound/items/weapons/genhit.ogg' attack_verb_continuous = list("stubs", "pokes") attack_verb_simple = list("stub", "poke") resistance_flags = FIRE_PROOF @@ -472,7 +472,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throwforce_on = 23, \ throw_speed_on = throw_speed, \ sharpness_on = SHARP_EDGED, \ - hitsound_on = 'sound/weapons/bladeslice.ogg', \ + hitsound_on = 'sound/items/weapons/bladeslice.ogg', \ w_class_on = WEIGHT_CLASS_NORMAL, \ attack_verb_continuous_on = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts"), \ attack_verb_simple_on = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut"), \ @@ -504,7 +504,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_SMALL attack_verb_continuous = list("calls", "rings") attack_verb_simple = list("call", "ring") - hitsound = 'sound/weapons/ring.ogg' + hitsound = 'sound/items/weapons/ring.ogg' /obj/item/phone/suicide_act(mob/living/user) if(locate(/obj/structure/chair/stool) in user.loc) @@ -518,7 +518,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 desc = "A long bamboo-made staff with steel-capped ends. It is rumoured that initiates of Spider Clan train with such before getting to learn how to use a katana." force = 10 block_chance = 45 - block_sound = 'sound/weapons/genhit.ogg' + block_sound = 'sound/items/weapons/genhit.ogg' slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY hitsound = SFX_SWING_HIT @@ -675,7 +675,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(user) balloon_alert(user, active ? "extended" : "collapsed") - playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/batonextend.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/staff @@ -892,7 +892,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 to_chat(user, span_warning("You're already ready to do a home run!")) return ..() to_chat(user, span_warning("You begin gathering strength...")) - playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, TRUE) + playsound(get_turf(src), 'sound/effects/magic/lightning_chargeup.ogg', 65, TRUE) if(do_after(user, 9 SECONDS, target = src)) to_chat(user, span_userdanger("You gather power! Time for a home run!")) homerun_ready = TRUE @@ -910,7 +910,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(!QDELETED(target)) target.throw_at(throw_target, rand(8,10), 14, user) SSexplosions.medturf += throw_target - playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE) + playsound(get_turf(src), 'sound/items/weapons/homerun.ogg', 100, TRUE) homerun_ready = FALSE return else if(!QDELETED(target) && !target.anchored) @@ -963,7 +963,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 return TRUE /obj/item/melee/baseball_bat/proc/launch_back(atom/movable/target, mob/living/user, turf/target_turf, datum_throw_speed) - playsound(target, 'sound/magic/tail_swing.ogg', 50, TRUE) + playsound(target, 'sound/effects/magic/tail_swing.ogg', 50, TRUE) REMOVE_TRAIT(user, TRAIT_IMMOBILIZED, type) target.mouse_opacity = initial(target.mouse_opacity) target.add_filter("baseball_launch", 3, motion_blur_filter(1, 3)) @@ -994,7 +994,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 20 throwforce = 20 mob_thrower = TRUE - block_sound = 'sound/weapons/effects/batreflect.ogg' + block_sound = 'sound/items/weapons/effects/batreflect.ogg' /obj/item/melee/baseball_bat/ablative/IsReflect()//some day this will reflect thrown items instead of lasers return TRUE @@ -1110,11 +1110,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT block_chance = 20 - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' sharpness = SHARP_EDGED force = 14 throwforce = 12 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") @@ -1137,7 +1137,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_speed = CLICK_CD_HYPER_RAPID embed_type = /datum/embed_data/hfr_blade block_chance = 25 - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' sharpness = SHARP_EDGED w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK @@ -1169,7 +1169,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(attack_type == PROJECTILE_ATTACK) if(HAS_TRAIT(src, TRAIT_WIELDED) || prob(final_block_chance)) owner.visible_message(span_danger("[owner] deflects [attack_text] with [src]!")) - playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) + playsound(src, pick('sound/items/weapons/bulletflyby.ogg', 'sound/items/weapons/bulletflyby2.ogg', 'sound/items/weapons/bulletflyby3.ogg'), 75, TRUE) return TRUE return FALSE if(prob(final_block_chance * (HAS_TRAIT(src, TRAIT_WIELDED) ? 2 : 1))) @@ -1200,8 +1200,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 user.do_attack_animation(target, "nothing") var/list/modifiers = params2list(params) var/damage_mod = 1 - var/x_slashed = text2num(modifiers[ICON_X]) || world.icon_size/2 //in case we arent called by a client - var/y_slashed = text2num(modifiers[ICON_Y]) || world.icon_size/2 //in case we arent called by a client + var/x_slashed = text2num(modifiers[ICON_X]) || ICON_SIZE_X/2 //in case we arent called by a client + var/y_slashed = text2num(modifiers[ICON_Y]) || ICON_SIZE_Y/2 //in case we arent called by a client new /obj/effect/temp_visual/slash(get_turf(target), target, x_slashed, y_slashed, slash_color) if(target == previous_target?.resolve()) //if the same target, we calculate a damage multiplier if you swing your mouse around var/x_mod = previous_x - x_slashed @@ -1210,8 +1210,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 previous_target = WEAKREF(target) previous_x = x_slashed previous_y = y_slashed - playsound(src, 'sound/weapons/bladeslice.ogg', 100, vary = TRUE) - playsound(src, 'sound/weapons/zapbang.ogg', 50, vary = TRUE) + playsound(src, 'sound/items/weapons/bladeslice.ogg', 100, vary = TRUE) + playsound(src, 'sound/items/weapons/zapbang.ogg', 50, vary = TRUE) if(isliving(target)) var/mob/living/living_target = target living_target.apply_damage(force*damage_mod, BRUTE, sharpness = SHARP_EDGED, wound_bonus = wound_bonus, bare_wound_bonus = bare_wound_bonus, def_zone = user.zone_selected) @@ -1249,7 +1249,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/matrix/new_transform = matrix() new_transform.Turn(rand(1, 360)) // Random slash angle var/datum/decompose_matrix/decomp = target.transform.decompose() - new_transform.Translate((x_slashed - world.icon_size/2) * decomp.scale_x, (y_slashed - world.icon_size/2) * decomp.scale_y) // Move to where we clicked + new_transform.Translate((x_slashed - ICON_SIZE_X/2) * decomp.scale_x, (y_slashed - ICON_SIZE_Y/2) * decomp.scale_y) // Move to where we clicked //Follow target's transform while ignoring scaling new_transform.Turn(decomp.rotation) new_transform.Translate(decomp.shift_x, decomp.shift_y) diff --git a/code/game/objects/items/wiki_manuals.dm b/code/game/objects/items/wiki_manuals.dm index 7209d76cc5735..d64c565f04adf 100644 --- a/code/game/objects/items/wiki_manuals.dm +++ b/code/game/objects/items/wiki_manuals.dm @@ -1,31 +1,5 @@ // Wiki books that are linked to the configured wiki link. -/// The size of the window that the wiki books open in. -#define BOOK_WINDOW_BROWSE_SIZE "970x710" -/// This macro will resolve to code that will open up the associated wiki page in the window. -#define WIKI_PAGE_IFRAME(wikiurl, link_identifier) {" - - - - - - - -

You start skimming through the manual...

- - - - "} - // A book that links to the wiki /obj/item/book/manual/wiki starting_content = "Nanotrasen presently does not have any resources on this topic. If you would like to know more, contact your local Central Command representative." // safety @@ -37,9 +11,10 @@ if(!wiki_url) user.balloon_alert(user, "this book is empty!") return - credit_book_to_reader(user) - DIRECT_OUTPUT(user, browse(WIKI_PAGE_IFRAME(wiki_url, page_link), "window=manual;size=[BOOK_WINDOW_BROWSE_SIZE]")) // if you change this GUARANTEE that it works. + if(tgui_alert(user, "This book's page will open in your browser. Are you sure?", "Open The Wiki", list("Yes", "No")) != "Yes") + return + usr << link("[wiki_url]/[page_link]") /obj/item/book/manual/wiki/chemistry name = "Chemistry Textbook" @@ -223,6 +198,3 @@ starting_author = "Nanotrasen Edu-tainment Division" starting_title = "Tactical Game Cards - Player's Handbook" page_link = "Tactical_Game_Cards" - -#undef BOOK_WINDOW_BROWSE_SIZE -#undef WIKI_PAGE_IFRAME diff --git a/code/game/objects/items/wizard_weapons.dm b/code/game/objects/items/wizard_weapons.dm index 34676e18bf02d..e5750c06bb2d4 100644 --- a/code/game/objects/items/wizard_weapons.dm +++ b/code/game/objects/items/wizard_weapons.dm @@ -66,7 +66,7 @@ if(isliving(target)) var/mob/living/smacked = target smacked.take_bodypart_damage(20, 0) - playsound(user, 'sound/weapons/marauder.ogg', 50, TRUE) + playsound(user, 'sound/items/weapons/marauder.ogg', 50, TRUE) vortex(get_turf(target), user) addtimer(VARSET_CALLBACK(src, charged, TRUE), 10 SECONDS) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index ceaa0e0beb734..748af49a69489 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -68,7 +68,7 @@ /obj/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers) if(attack_generic(user, 60, BRUTE, MELEE, 0)) - playsound(src.loc, 'sound/weapons/slash.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/weapons/slash.ogg', 100, TRUE) /obj/attack_animal(mob/living/simple_animal/user, list/modifiers) . = ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index ef436e24e8c1a..0a88aade6978f 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -187,8 +187,11 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) . = ..() if(desc_controls) . += span_notice(desc_controls) + +/obj/examine_tags(mob/user) + . = ..() if(obj_flags & UNIQUE_RENAME) - . += span_notice("Use a pen on it to rename it or change its description.") + .["renameable"] = "Use a pen on it to rename it or change its description." /obj/analyzer_act(mob/living/user, obj/item/analyzer/tool) if(atmos_scan(user=user, target=src, silent=FALSE)) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 701c13bfcf755..e6c9579d67936 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -58,6 +58,9 @@ if(!broken) return span_warning("It's falling apart!") +/obj/structure/examine_descriptor(mob/user) + return "structure" + /obj/structure/rust_heretic_act() take_damage(500, BRUTE, "melee", 1) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 5c219aaa4a946..4a5ee234c7742 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -61,7 +61,6 @@ /obj/structure/ai_core/Destroy() if(istype(remote_ai)) - remote_ai.break_core_link() remote_ai = null QDEL_NULL(circuit) QDEL_NULL(core_mmi) @@ -72,7 +71,7 @@ . = ..() if(. > 0 && istype(remote_ai)) to_chat(remote_ai, span_danger("Your core is under attack!")) - + /obj/structure/ai_core/deactivated icon_state = "ai-empty" diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index f0c855e7c74d9..120b91a40ffbc 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -24,12 +24,12 @@ switch(damage_type) if(BRUTE) if(damage_amount) - playsound(loc, 'sound/effects/attackblob.ogg', 100, TRUE) + playsound(loc, 'sound/effects/blob/attackblob.ogg', 100, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) if(damage_amount) - playsound(loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(loc, 'sound/items/tools/welder.ogg', 100, TRUE) /* * Generic alien stuff, not related to the purple lizards but still alien-like @@ -392,7 +392,7 @@ return if(BURST) to_chat(user, span_notice("You clear the hatched egg.")) - playsound(loc, 'sound/effects/attackblob.ogg', 100, TRUE) + playsound(loc, 'sound/effects/blob/attackblob.ogg', 100, TRUE) qdel(src) return if(GROWING) diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm index 365e790ca48f5..131e08808fbdb 100644 --- a/code/game/objects/structures/beds_chairs/alien_nest.dm +++ b/code/game/objects/structures/beds_chairs/alien_nest.dm @@ -38,7 +38,7 @@ unbuckle_mob(captive) add_fingerprint(hero) return - + captive.visible_message(span_warning("[captive.name] struggles to break free from the gelatinous resin!"), span_notice("You struggle to break free from the gelatinous resin... (Stay still for about a minute and a half.)"), span_hear("You hear squelching...")) @@ -95,9 +95,9 @@ /obj/structure/bed/nest/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(loc, 'sound/effects/attackblob.ogg', 100, TRUE) + playsound(loc, 'sound/effects/blob/attackblob.ogg', 100, TRUE) if(BURN) - playsound(loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/bed/nest/attack_alien(mob/living/carbon/alien/user, list/modifiers) if(!user.combat_mode) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 4ade32bdd0e0a..9131a28e6eb06 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -27,6 +27,8 @@ var/elevation = 8 /// If this bed can be deconstructed using a wrench var/can_deconstruct = TRUE + /// Directions in which the bed has its headrest on the left side. + var/left_headrest_dirs = NORTHEAST /obj/structure/bed/Initialize(mapload) . = ..() @@ -58,7 +60,7 @@ update_buckle_vars(newdir) /obj/structure/bed/proc/update_buckle_vars(newdir) - buckle_lying = newdir & NORTHEAST ? 270 : 90 + buckle_lying = newdir & left_headrest_dirs ? 270 : 90 /obj/structure/bed/atom_deconstruct(disassembled = TRUE) if(build_stack_type) @@ -83,6 +85,8 @@ icon_state = "med_down" base_icon_state = "med" anchored = FALSE + left_headrest_dirs = SOUTHWEST + buckle_lying = 270 resistance_flags = NONE build_stack_type = /obj/item/stack/sheet/mineral/titanium build_stack_amount = 1 diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index e1581422d0570..b104e472dc2b2 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -16,7 +16,17 @@ var/buildstacktype = /obj/item/stack/sheet/iron var/buildstackamount = 1 var/item_chair = /obj/item/chair // if null it can't be picked up + ///How much sitting on this chair influences fishing difficulty + var/fishing_modifier = -3 +/obj/structure/chair/Initialize(mapload) + . = ..() + if(prob(0.2)) + name = "tactical [name]" + fishing_modifier -= 4 + MakeRotate() + if(can_buckle && fishing_modifier) + AddComponent(/datum/component/adjust_fishing_difficulty, fishing_modifier) /obj/structure/chair/examine(mob/user) . = ..() @@ -24,12 +34,6 @@ if(!has_buckled_mobs() && can_buckle) . += span_notice("While standing on [src], drag and drop your sprite onto [src] to buckle to it.") -/obj/structure/chair/Initialize(mapload) - . = ..() - if(prob(0.2)) - name = "tactical [name]" - MakeRotate() - ///This proc adds the rotate component, overwrite this if you for some reason want to change some specific args. /obj/structure/chair/proc/MakeRotate() AddComponent(/datum/component/simple_rotation, ROTATION_IGNORE_ANCHORED|ROTATION_GHOSTS_ALLOWED) @@ -75,7 +79,7 @@ to_chat(user, span_notice("You connect the shock kit to the [name], electrifying it ")) else user.put_in_active_hand(input_shock_kit) - to_chat(user, " You cannot fit the shock kit onto the [name]!") + to_chat(user, span_notice("You cannot fit the shock kit onto the [name]!")) /obj/structure/chair/wrench_act_secondary(mob/living/user, obj/item/weapon) @@ -134,6 +138,7 @@ buildstacktype = /obj/item/stack/sheet/mineral/wood buildstackamount = 3 item_chair = /obj/item/chair/wood + fishing_modifier = -4 /obj/structure/chair/wood/narsie_act() return @@ -151,6 +156,7 @@ max_integrity = 70 buildstackamount = 2 item_chair = null + fishing_modifier = -5 // The mutable appearance used for the overlay over buckled mobs. var/mutable_appearance/armrest @@ -226,11 +232,13 @@ desc = "A luxurious chair, the many purple scales reflect the light in a most pleasing manner." icon_state = "carp_chair" buildstacktype = /obj/item/stack/sheet/animalhide/carp + fishing_modifier = -10 /obj/structure/chair/office anchored = FALSE buildstackamount = 5 item_chair = null + fishing_modifier = -4 icon_state = "officechair_dark" /obj/structure/chair/office/Initialize(mapload) @@ -245,6 +253,10 @@ /obj/structure/chair/office/tactical name = "tactical swivel chair" +/obj/structure/chair/office/tactical/Initialize(mapload) + . = ..() + AddComponent(/datum/component/adjust_fishing_difficulty, -10) + /obj/structure/chair/office/light icon_state = "officechair_white" @@ -316,7 +328,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) throwforce = 10 demolition_mod = 1.25 throw_range = 3 - hitsound = 'sound/items/trayhit1.ogg' + hitsound = 'sound/items/trayhit/trayhit1.ogg' hit_reaction_chance = 50 custom_materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT) item_flags = SKIP_FANTASY_ON_SPAWN @@ -406,7 +418,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) name = "bamboo stool" icon_state = "bamboo_stool" inhand_icon_state = "stool_bamboo" - hitsound = 'sound/weapons/genhit1.ogg' + hitsound = 'sound/items/weapons/genhit1.ogg' origin_type = /obj/structure/chair/stool/bamboo break_chance = 50 //Submissive and breakable unlike the chad iron stool @@ -419,7 +431,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) inhand_icon_state = "woodenchair" resistance_flags = FLAMMABLE max_integrity = 70 - hitsound = 'sound/weapons/genhit1.ogg' + hitsound = 'sound/items/weapons/genhit1.ogg' origin_type = /obj/structure/chair/wood custom_materials = null break_chance = 50 @@ -436,6 +448,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) desc = "You sit in this. Either by will or force. Looks REALLY uncomfortable." icon_state = "chairold" item_chair = null + fishing_modifier = 4 /obj/structure/chair/bronze name = "brass chair" @@ -445,6 +458,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) buildstacktype = /obj/item/stack/sheet/bronze buildstackamount = 1 item_chair = null + fishing_modifier = -12 //the pinnacle of Ratvarian technology. /// Total rotations made var/turns = 0 @@ -484,6 +498,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) item_chair = null obj_flags = parent_type::obj_flags | NO_DEBRIS_AFTER_DECONSTRUCTION alpha = 0 + fishing_modifier = -20 //it only lives for 25 seconds, so we make them worth it. /obj/structure/chair/mime/wrench_act_secondary(mob/living/user, obj/item/weapon) return NONE @@ -505,6 +520,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) buildstacktype = /obj/item/stack/sheet/plastic buildstackamount = 2 item_chair = /obj/item/chair/plastic + fishing_modifier = -8 /obj/structure/chair/plastic/post_buckle_mob(mob/living/Mob) Mob.pixel_y += 2 diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm index bf9a221929b67..04bb0b1e25e3f 100644 --- a/code/game/objects/structures/beds_chairs/sofa.dm +++ b/code/game/objects/structures/beds_chairs/sofa.dm @@ -19,6 +19,7 @@ path/corner/color_name {\ icon = 'icons/obj/chairs_wide.dmi' buildstackamount = 1 item_chair = null + fishing_modifier = -4 var/mutable_appearance/armrest /obj/structure/chair/sofa/Initialize(mapload) diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index a26a2f9278437..e6f7edd939628 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -73,8 +73,8 @@ if(!LAZYACCESS(modifiers, ICON_X) || !LAZYACCESS(modifiers, ICON_Y)) return //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - used_item.pixel_x = used_item.base_pixel_x + clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) - used_item.pixel_y = used_item.base_pixel_y + clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) + used_item.pixel_x = used_item.base_pixel_x + clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X/2), ICON_SIZE_X/2) + used_item.pixel_y = used_item.base_pixel_y + clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y/2), ICON_SIZE_Y/2) else return ..() @@ -185,6 +185,13 @@ /obj/structure/bonfire/dense density = TRUE +/obj/structure/bonfire/dense/prelit/Initialize(mapload) + . = ..() + return INITIALIZE_HINT_LATELOAD + +/obj/structure/bonfire/dense/prelit/LateInitialize() + start_burning() + /obj/structure/bonfire/prelit/Initialize(mapload) . = ..() return INITIALIZE_HINT_LATELOAD diff --git a/code/game/objects/structures/cannons/cannon.dm b/code/game/objects/structures/cannons/cannon.dm index 3a10cc17189f8..66c827442bf32 100644 --- a/code/game/objects/structures/cannons/cannon.dm +++ b/code/game/objects/structures/cannons/cannon.dm @@ -17,7 +17,7 @@ var/charge_ignited = FALSE var/fire_delay = 15 var/charge_size = 15 - var/fire_sound = 'sound/weapons/gun/general/cannon.ogg' + var/fire_sound = 'sound/items/weapons/gun/general/cannon.ogg' /obj/structure/cannon/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/cannons/cannon_instructions.dm b/code/game/objects/structures/cannons/cannon_instructions.dm index c259ea0e76f17..34cdcdf1ced68 100644 --- a/code/game/objects/structures/cannons/cannon_instructions.dm +++ b/code/game/objects/structures/cannons/cannon_instructions.dm @@ -17,4 +17,10 @@ REGULAR CANNONBALL: A fine choice for killing landlubbers! Will take off any lim EXPLOSIVE SHELLBALL: The most elegant in breaching (er killin', if you're good at aimin') tools, ye be packing this shell with many scuppering chemicals! Just make sure to not fire it when ye be close to target!
MALFUNCTION SHOT: A very gentle "cannonball" dart at first glance, but make no mistake: This is their worst nightmare! Enjoy an easy boarding process while all their machines are broken and all their weapons unloaded from an EMP!
THE BIGGEST ONE: A shellball, but much bigger. Ye won't be seein' much of these as they were discontinued for sinkin' the firer's ship as often as it sunk the scallywag's ship. Very big boom! If ye have one, ye have been warned! + +
FIRING THAR CANISTER GATLING
+ +THE CANISTER GATLING AIN'T LIKE OTHER CANNONS, AND DOESN'T REQUIRE GUNPOWDER, INSTEAD RELYING ON SPECIAL CANISTER SHOT SHELLS. +ALL YOU HAVE TO DO IS CRAM A SHELL IN THE BREACH, LIGHT HER UP AND YOU'LL BE BLOWING THOSE CORPORATE SODS TO KINGDOM COME! +SHE LACKS THE SHEER WALL-BREAKING PUNCH OF THE HOLEMAKERS, BUT CHEWS THROUGH SOFT TARGETS LIKE A SHARK THROUGH A GROUP OF BEACH THROUGH A GROUP OF BEACHGOERS, YAHAR. "} diff --git a/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm b/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm new file mode 100644 index 0000000000000..f0fa9e27d7869 --- /dev/null +++ b/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm @@ -0,0 +1,187 @@ +//Mounted guns are basically a smaller equivalent to cannons, designed to use pre-existing ammo rather than cannonballs. +//Due to using pre-existing ammo, they dont require to be loaded with gunpowder or an equivalent. + +/obj/structure/mounted_gun + name = "Mounted Gun" + desc = "Default mounted gun for inheritance purposes." + density = TRUE + anchored = FALSE + icon = 'icons/obj/weapons/cannons.dmi' + icon_state = "falconet_patina" + var/icon_state_base = "falconet_patina" + var/icon_state_fire = "falconet_patina_fire" + max_integrity = 300 + ///whether the cannon can be unwrenched from the ground. Anchorable_cannon equivalent. + var/anchorable_gun = TRUE + ///Max shots per firing of the gun. + var/max_shots_per_fire = 1 + ///Shots currently loaded. Should never be more than max_shots_per_fire. + var/shots_in_gun = 1 + ///shots added to gun, per piece of ammo loaded. + var/shots_per_load = 1 + ///Accepted "ammo" type + var/obj/item/ammo_type = /obj/item/ammo_casing/strilka310 + ///Projectile from said gun. Doesnt automatically inherit said ammo's projectile in case you wanted to make a gun that shoots floor tiles or something. + var/obj/item/projectile_type = /obj/projectile/bullet/strilka310 + ///If the gun has anything in it. + var/loaded_gun = TRUE + ///If the gun is currently loaded with its maximum capacity. + var/fully_loaded_gun = TRUE + ///delay in firing the gun after lighting + var/fire_delay = 5 + ///Delay between shots + var/shot_delay = 3 + ///If the gun shakes the camera when firing + var/firing_shakes_camera = TRUE + ///sound of firing for all but last shot + var/fire_sound = 'sound/items/weapons/gun/general/mountedgun.ogg' + ///sound of firing for last shot + var/last_fire_sound = 'sound/items/weapons/gun/general/mountedgunend.ogg' + +/obj/structure/mounted_gun/wrench_act(mob/living/user, obj/item/tool) + . = ..() + if(!anchorable_gun) /// Can't anchor an unanchorable gun. + return FALSE + default_unfasten_wrench(user, tool) + return ITEM_INTERACT_SUCCESS + +///Covers Reloading and lighting of the gun +/obj/structure/mounted_gun/attackby(obj/item/ammo_casing/used_item, mob/user, params) + var/ignition_message = used_item.ignition_effect(src, user) // Checks if item used can ignite stuff. + if(istype(used_item, ammo_type)) + if(fully_loaded_gun) + balloon_alert(user, "already fully loaded!") + return + else + shots_in_gun = shots_in_gun + shots_per_load //Add one to the shots in the gun + + loaded_gun = TRUE // Make sure it registers theres ammo in there, so it can fire. + QDEL_NULL(used_item) + if(shots_in_gun >= max_shots_per_fire) + shots_in_gun = max_shots_per_fire // in case of somehow firing only some of a guns shots, and reloading, you still cant get above the maximum ammo size. + fully_loaded_gun = TRUE //So you cant load extra. + return + + else if(ignition_message) // if item the player used ignites, light the gun! + visible_message(ignition_message) + user.log_message("fired a cannon", LOG_ATTACK) + log_game("[key_name(user)] fired a cannon in [AREACOORD(src)]") + addtimer(CALLBACK(src, PROC_REF(fire)), fire_delay) //uses fire proc as shown below to shoot the gun + return + ..() + +/obj/structure/mounted_gun/proc/fire() + if (!loaded_gun) + balloon_alert_to_viewers("gun is not loaded!","",2) + return + for(var/times_fired = 1, times_fired <= shots_in_gun, times_fired++) //The normal DM for loop structure since the times it has fired is changing in the loop itself. + for(var/mob/shaken_mob in urange(10, src)) + if(shaken_mob.stat == CONSCIOUS && firing_shakes_camera == TRUE) + shake_camera(shaken_mob, 3, 1) + icon_state = icon_state_fire + if(loaded_gun) + + if (times_fired < shots_in_gun) + playsound(src, fire_sound, 50, FALSE, 5) + else + playsound(src, last_fire_sound, 50, TRUE, 5) + var/obj/projectile/fired_projectile = new projectile_type(get_turf(src)) + fired_projectile.firer = src + fired_projectile.fired_from = src + fired_projectile.fire(dir2angle(dir)) + sleep(shot_delay) + loaded_gun = FALSE + shots_in_gun = 0 + fully_loaded_gun = FALSE + icon_state = icon_state_base + +/obj/structure/mounted_gun/pipe + + name = "Pipe Organ Gun" + desc = "To become master over one who has killed, one must become a better killer. This engine of destruction is one of many things made to that end." + icon_state = "pipeorgangun" + icon_state_base = "pipeorgangun" + icon_state_fire = "pipeorgangun_fire" + anchored = FALSE + anchorable_gun = TRUE + max_shots_per_fire = 8 + shots_in_gun = 8 + shots_per_load = 2 + ammo_type = /obj/item/ammo_casing/junk + projectile_type = /obj/projectile/bullet/junk + loaded_gun = TRUE + fully_loaded_gun = TRUE + fire_delay = 3 + shot_delay = 2 + firing_shakes_camera = FALSE + +/obj/structure/mounted_gun/pipe/examine_more(mob/user) + . = ..() + . += span_notice("Looking down at the [name], you recall a tale told to you in some distant memory...") + + . += span_info("To commit an act of vengeance is not unlike to enter a blood pact with a devil, ending the life of another, at the cost of your own.") + . += span_info("When humanity first spilled the blood of its own kind, with likely nothing more than a rock, the seal was broken. Vengeance was borne unto the world.") + . += span_info("However, vengeance alone is not enough to carry through the grim deed of murder. One must an gain advantage over their adversary.") + . += span_info("As such, the man who ended another's life with a stone, was in turn smote himself by another wielding a spear. After spears, bows. Swords. Guns. Tanks. Missiles. And on and on Vengeance fed. Growing stronger. Growing Worse.") + . += span_info("Vengeance persists to this day. It sometimes may slumber, seemingly content with having gorged itself, but in the end, its ceaseless hunger can be neither numbed nor sated.") + +/obj/structure/mounted_gun/pipe/fire() + if (!loaded_gun) + balloon_alert_to_viewers("Gun is not loaded!","",2) + return + for(var/times_fired = 1, times_fired <= shots_in_gun, times_fired++) //The normal DM for loop structure since the times it has fired is changing in the loop itself. + for(var/mob/shaken_mob in urange(10, src)) + if((shaken_mob.stat == CONSCIOUS)&&(firing_shakes_camera == TRUE)) + shake_camera(shaken_mob, 3, 1) + icon_state = icon_state_fire + if(loaded_gun) + playsound(src, fire_sound, 50, TRUE, 5) + + var/list_of_projectiles = list( + /obj/projectile/bullet/junk = 40, + /obj/projectile/bullet/incendiary/fire/junk = 25, + /obj/projectile/bullet/junk/shock = 25, + /obj/projectile/bullet/junk/hunter = 20, + /obj/projectile/bullet/junk/phasic = 8, + /obj/projectile/bullet/junk/ripper = 8, + /obj/projectile/bullet/junk/reaper = 3, + ) + projectile_type = pick_weight(list_of_projectiles) + + var/obj/projectile/fired_projectile = new projectile_type(get_turf(src)) + fired_projectile.firer = src + fired_projectile.fired_from = src + fired_projectile.fire(dir2angle(dir)) + sleep(shot_delay) + loaded_gun = FALSE + shots_in_gun = 0 + fully_loaded_gun = FALSE + icon_state = icon_state_base + +/obj/structure/mounted_gun/canister_gatling //for the funny skeleton pirates! + + name = "Canister Gatling Gun" + desc = "''Quantity has a quality of its own.''" + icon_state = "canister_gatling" + icon_state_base = "canister_gatling" + icon_state_fire = "canister_gatling_fire" + anchored = FALSE + anchorable_gun = TRUE + max_shots_per_fire = 50 + shots_per_load = 50 + shots_in_gun = 50 + ammo_type = /obj/item/ammo_casing/canister_shot + projectile_type = /obj/projectile/bullet/shrapnel + loaded_gun = TRUE + fully_loaded_gun = TRUE + fire_delay = 3 + shot_delay = 1 + firing_shakes_camera = FALSE + +/obj/item/ammo_casing/canister_shot + name = "Canister Shot" + desc = "A gigantic... well, canister of canister shot. Used for reloading the Canister Gatling Gun." + icon_state = "canister_shot" + obj_flags = CONDUCTS_ELECTRICITY + throwforce = 0 + w_class = WEIGHT_CLASS_BULKY diff --git a/code/game/objects/structures/construction_console/construction_actions.dm b/code/game/objects/structures/construction_console/construction_actions.dm index fc014d14318bd..1a6b5deeeae26 100644 --- a/code/game/objects/structures/construction_console/construction_actions.dm +++ b/code/game/objects/structures/construction_console/construction_actions.dm @@ -91,7 +91,7 @@ if(place_turf.density) to_chat(owner, span_warning("[structure_name] may only be placed on a floor.")) return - //Can't place two dense objects inside eachother + //Can't place two dense objects inside each other if(initial(structure_path.density) && place_turf.is_blocked_turf()) to_chat(owner, span_warning("Location is obstructed by something. Please clear the location and try again.")) return @@ -120,7 +120,7 @@ button_icon_state = "build_turret" structure_name = "turrets" structure_path = /obj/machinery/porta_turret/aux_base - place_sound = 'sound/items/drill_use.ogg' + place_sound = 'sound/items/tools/drill_use.ogg' /datum/action/innate/construction/place_structure/turret/after_place(obj/placed_structure, remaining) var/obj/machinery/computer/auxiliary_base/turret_controller = locate() in get_area(placed_structure) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index f407dcd82c04f..58e99dc8839aa 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -56,8 +56,8 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet. var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients. var/cutting_tool = /obj/item/weldingtool - var/open_sound = 'sound/machines/closet_open.ogg' - var/close_sound = 'sound/machines/closet_close.ogg' + var/open_sound = 'sound/machines/closet/closet_open.ogg' + var/close_sound = 'sound/machines/closet/closet_close.ogg' var/open_sound_volume = 35 var/close_sound_volume = 50 var/material_drop = /obj/item/stack/sheet/iron @@ -157,8 +157,8 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) register_context() if(opened) - opened = FALSE //nessassary because open() proc will early return if its true - if(open(special_effects = FALSE)) //closets which are meant to be open by default dont need to be animated open + opened = FALSE //necessary because open() proc will early return if its true + if(open(special_effects = FALSE)) //closets which are meant to be open by default don't need to be animated open return update_appearance() @@ -331,15 +331,15 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) if(id_card) . += span_notice("It can be [EXAMINE_HINT("marked")] with a pen.") if(can_weld_shut && !welded) - . += span_notice("Its can be [EXAMINE_HINT("welded")] shut.") + . += span_notice("It can be [EXAMINE_HINT("welded")] shut.") if(welded) - . += span_notice("Its [EXAMINE_HINT("welded")] shut.") + . += span_notice("It's [EXAMINE_HINT("welded")] shut.") if(anchorable && !anchored) . += span_notice("It can be [EXAMINE_HINT("bolted")] to the ground.") if(anchored) . += span_notice("It's [anchorable ? EXAMINE_HINT("bolted") : "attached firmly"] to the ground.") if(length(paint_jobs)) - . += span_notice("It can be [EXAMINE_HINT("painted")] another texture.") + . += span_notice("It can be [EXAMINE_HINT("painted")] with another texture.") if(HAS_TRAIT(user, TRAIT_SKITTISH) && divable) . += span_notice("If you bump into [p_them()] while running, you will jump inside.") @@ -823,21 +823,24 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) balloon_alert(user, "unlock first!") return - if(isnull(id_card)) + if(isnull(id_card) && secure) balloon_alert(user, "not yours to rename!") return var/name_set = FALSE var/desc_set = FALSE - var/str = tgui_input_text(user, "Personal Locker Name", "Locker Name") - if(!isnull(str)) - name = str + + var/input_name = tgui_input_text(user, "Locker Name", "Locker Name", max_length = MAX_NAME_LEN) + + if(!isnull(input_name)) + name = input_name name_set = TRUE - str = tgui_input_text(user, "Personal Locker Description", "Locker Description") - if(!isnull(str)) - desc = str + var/input_desc = tgui_input_text(user, "Locker Description", "Locker Description", max_length = MAX_DESC_LEN) + + if(!isnull(input_desc)) + desc = input_desc desc_set = TRUE var/bit_flag = NONE @@ -888,7 +891,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) user.log_message("[welded ? "welded":"unwelded"] closet [src] with [weapon]", LOG_GAME) update_appearance() - else if(!user.combat_mode) + else if(!user.combat_mode || (weapon.item_flags & NOBLUDGEON)) var/item_is_id = weapon.GetID() if(!item_is_id) return FALSE @@ -915,8 +918,6 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /obj/structure/closet/mouse_drop_receive(atom/movable/O, mob/living/user, params) if(!istype(O) || O.anchored || istype(O, /atom/movable/screen)) return - if(!istype(user) || user.incapacitated || user.body_position == LYING_DOWN) - return if(user == O) //try to climb onto it return ..() if(!opened) @@ -1068,7 +1069,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) addtimer(CALLBACK(src, PROC_REF(check_if_shake)), next_check_time) return TRUE - // If we reach here, nobody is resisting, so dont shake + // If we reach here, nobody is resisting, so don't shake return FALSE /obj/structure/closet/proc/bust_open() @@ -1191,15 +1192,13 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) return if(!opened && ((shove_flags & SHOVE_KNOCKDOWN_BLOCKED) || !(shove_flags & SHOVE_BLOCKED))) return - var/was_opened = opened - if(!toggle()) - return - if(was_opened) - if (!target.Move(get_turf(src), get_dir(target, src))) + if(opened) + if (target.loc != loc) return target.forceMove(src) else target.Knockdown(SHOVE_KNOCKDOWN_SOLID) + toggle() update_icon() target.visible_message(span_danger("[shover.name] shoves [target.name] into [src]!"), span_userdanger("You're shoved into [src] by [shover.name]!"), diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index ac8b444e47dc7..0bb1b564eceb6 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -5,8 +5,8 @@ icon_state = "bodybag" density = FALSE mob_storage_capacity = 2 - open_sound = 'sound/items/zip.ogg' - close_sound = 'sound/items/zip.ogg' + open_sound = 'sound/items/zip/zip.ogg' + close_sound = 'sound/items/zip/zip.ogg' open_sound_volume = 15 close_sound_volume = 15 integrity_failure = 0 @@ -116,8 +116,22 @@ */ /obj/structure/closet/body_bag/proc/perform_fold(mob/living/carbon/human/the_folder) visible_message(span_notice("[the_folder] folds up [src].")) - var/obj/item/bodybag/folding_bodybag = foldedbag_instance || new foldedbag_path - the_folder.put_in_hands(folding_bodybag) + the_folder.put_in_hands(undeploy_bodybag(the_folder.loc)) + +/// Makes the bag into an item, returns that item +/obj/structure/closet/body_bag/proc/undeploy_bodybag(atom/fold_loc) + var/obj/item/bodybag/folding_bodybag = foldedbag_instance || new foldedbag_path() + if(fold_loc) + folding_bodybag.forceMove(fold_loc) + return folding_bodybag + +/obj/structure/closet/body_bag/container_resist_act(mob/living/user, loc_required = TRUE) + // ideally we support this natively but i guess that's for a later time + if(!istype(loc, /obj/machinery/disposal)) + return ..() + for(var/atom/movable/thing as anything in src) + thing.forceMove(loc) + undeploy_bodybag(loc) /obj/structure/closet/body_bag/bluespace name = "bluespace body bag" @@ -152,7 +166,7 @@ /obj/structure/closet/body_bag/bluespace/perform_fold(mob/living/carbon/human/the_folder) visible_message(span_notice("[the_folder] folds up [src].")) - var/obj/item/bodybag/folding_bodybag = foldedbag_instance || new foldedbag_path + var/obj/item/bodybag/folding_bodybag = undeploy_bodybag(the_folder.loc) var/max_weight_of_contents = initial(folding_bodybag.w_class) for(var/am in contents) var/atom/movable/content = am @@ -186,7 +200,7 @@ contents_thermal_insulation = 0.5 foldedbag_path = /obj/item/bodybag/environmental /// The list of weathers we protect from. - var/list/weather_protection = list(TRAIT_ASHSTORM_IMMUNE, TRAIT_RADSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE, TRAIT_VOIDSTORM_IMMUNE) // Does not protect against lava or the The Floor Is Lava spell. + var/list/weather_protection = list(TRAIT_ASHSTORM_IMMUNE, TRAIT_RADSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE) // Does not protect against lava or the The Floor Is Lava spell. /// The contents of the gas to be distributed to an occupant. Set in Initialize() var/datum/gas_mixture/air_contents = null @@ -277,18 +291,9 @@ icon_state = initial(icon_state) /obj/structure/closet/body_bag/environmental/prisoner/container_resist_act(mob/living/user, loc_required = TRUE) - /// copy-pasted with changes because flavor text as well as some other misc stuff - if(opened) - return - if(ismovable(loc)) - user.changeNext_move(CLICK_CD_BREAKOUT) - user.last_special = world.time + CLICK_CD_BREAKOUT - var/atom/movable/location = loc - location.relay_container_resist_act(user, src) - return - if(!sinched) - open(user) - return + // copy-pasted with changes because flavor text as well as some other misc stuff + if(opened || ismovable(loc) || !sinched) + return ..() user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT @@ -301,6 +306,8 @@ //we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting user.visible_message(span_danger("[user] successfully broke out of [src]!"), span_notice("You successfully break out of [src]!")) + if(istype(loc, /obj/machinery/disposal)) + return ..() bust_open() else if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. @@ -369,11 +376,11 @@ icon_state = "holobag_med" resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF foldedbag_path = null - weather_protection = list(TRAIT_VOIDSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE) + weather_protection = list(TRAIT_SNOWSTORM_IMMUNE) /obj/structure/closet/body_bag/environmental/hardlight/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) if(damage_type in list(BRUTE, BURN)) - playsound(src, 'sound/weapons/egloves.ogg', 80, TRUE) + playsound(src, 'sound/items/weapons/egloves.ogg', 80, TRUE) /obj/structure/closet/body_bag/environmental/prisoner/hardlight name = "hardlight prisoner bodybag" @@ -381,8 +388,8 @@ icon_state = "holobag_sec" resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF foldedbag_path = null - weather_protection = list(TRAIT_VOIDSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE) + weather_protection = list(TRAIT_SNOWSTORM_IMMUNE) /obj/structure/closet/body_bag/environmental/prisoner/hardlight/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) if(damage_type in list(BRUTE, BURN)) - playsound(src, 'sound/weapons/egloves.ogg', 80, TRUE) + playsound(src, 'sound/items/weapons/egloves.ogg', 80, TRUE) diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 2f555ed84dea5..19eb438876483 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -105,8 +105,8 @@ resistance_flags = NONE move_speed_multiplier = 2 cutting_tool = /obj/item/weldingtool - open_sound = 'sound/machines/crate_open.ogg' - close_sound = 'sound/machines/crate_close.ogg' + open_sound = 'sound/machines/crate/crate_open.ogg' + close_sound = 'sound/machines/crate/crate_close.ogg' open_sound_volume = 35 close_sound_volume = 50 material_drop = /obj/item/stack/sheet/plasteel diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index f2171b2e8b1b0..24e9c93bdb97c 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -3,8 +3,8 @@ desc = "Old will forever be in fashion." icon_state = "cabinet" resistance_flags = FLAMMABLE - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 max_integrity = 70 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm index ca931d4c6ab10..b9f43a2009f83 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm @@ -4,8 +4,8 @@ icon_state = "cabinet" resistance_flags = FLAMMABLE max_integrity = 70 - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 door_anim_time = 0 // no animation diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 255b61b6f6364..0a2cc788e544f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -50,8 +50,8 @@ req_access = list(ACCESS_PSYCHOLOGY) icon_state = "cabinet" door_anim_time = 0 // no animation - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index d0487198d4c7c..f639df5f12866 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -40,8 +40,8 @@ icon_state = "cabinet" resistance_flags = FLAMMABLE max_integrity = 70 - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 door_anim_time = 0 // no animation 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 553258bd360ea..e4488b0b7f436 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -151,8 +151,8 @@ resistance_flags = FLAMMABLE max_integrity = 70 door_anim_time = 0 // no animation - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' req_access = list(ACCESS_DETECTIVE) /obj/structure/closet/secure_closet/detective/PopulateContents() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index cac9fbaf890bb..b07581a0ee4a2 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -5,14 +5,13 @@ icon_state = "crate" base_icon_state = "crate" req_access = null - can_weld_shut = FALSE horizontal = TRUE allow_objects = TRUE allow_dense = TRUE dense_when_open = TRUE delivery_icon = "deliverycrate" - open_sound = 'sound/machines/crate_open.ogg' - close_sound = 'sound/machines/crate_close.ogg' + open_sound = 'sound/machines/crate/crate_open.ogg' + close_sound = 'sound/machines/crate/crate_close.ogg' open_sound_volume = 35 close_sound_volume = 50 drag_slowdown = 0 @@ -95,6 +94,9 @@ else if(secure) . += "securecrateg" + if(welded) + . += icon_welded + if(opened && lid_icon_state) var/mutable_appearance/lid = mutable_appearance(icon = lid_icon, icon_state = lid_icon_state) lid.pixel_x = lid_x @@ -119,7 +121,7 @@ if(elevation_open) AddElement(/datum/element/elevation, pixel_shift = elevation_open) if(!QDELETED(manifest)) - playsound(src, 'sound/items/poster_ripped.ogg', 75, TRUE) + playsound(src, 'sound/items/poster/poster_ripped.ogg', 75, TRUE) manifest.forceMove(get_turf(src)) manifest = null update_appearance() @@ -146,7 +148,7 @@ ///Removes the supply manifest from the closet /obj/structure/closet/crate/proc/tear_manifest(mob/user) to_chat(user, span_notice("You tear the manifest off of [src].")) - playsound(src, 'sound/items/poster_ripped.ogg', 75, TRUE) + playsound(src, 'sound/items/poster/poster_ripped.ogg', 75, TRUE) manifest.forceMove(loc) if(ishuman(user)) @@ -167,13 +169,14 @@ max_integrity = 70 material_drop = /obj/item/stack/sheet/mineral/wood material_drop_amount = 5 - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 can_install_electronics = FALSE paint_jobs = null elevation_open = 0 + can_weld_shut = FALSE /obj/structure/closet/crate/trashcart //please make this a generic cart path later after things calm down a little desc = "A heavy, metal trashcart with wheels." @@ -190,6 +193,7 @@ base_icon_state = "laundry" elevation = 14 elevation_open = 14 + can_weld_shut = FALSE /obj/structure/closet/crate/trashcart/Initialize(mapload) . = ..() @@ -224,7 +228,7 @@ /obj/structure/closet/crate/deforest name = "deforest medical crate" - desc = "A DeFortest brand crate of medical supplies." + desc = "A DeForest brand crate of medical supplies." icon_state = "deforest" base_icon_state = "deforest" @@ -297,22 +301,16 @@ base_icon_state = "food" /obj/structure/closet/crate/freezer/donk - name = "donk co. fridge" - desc = "A Donk Co. brand fridge, keeps your donkpcokets and foam ammunition fresh!" + name = "\improper Donk Co. fridge" + desc = "A Donk Co. brand fridge, keeps your donkpockets and foam ammunition fresh!" icon_state = "donkcocrate" base_icon_state = "donkcocrate" -/obj/structure/closet/crate/freezer/interdyne - name = "interdyne freezer" - desc = "Interdyne Pharmauceutics branded freezer. Might or might not contain cold steel, or fresh organs." - icon_state = "interdynefreezer" - base_icon_state = "interdynefreezer" - -/obj/structure/closet/crate/freezer/blood/interdyne - name = "interdyne blood freezer" - desc = "Interdyne Pharmauceutics branded freezer. Only freshly harvested- I mean, freshly kept blood inside!" - icon_state = "interdynefreezer" - base_icon_state = "interdynefreezer" +/obj/structure/closet/crate/self + name = "\improper S.E.L.F. crate" + desc = "A robust-looking crate with a seemingly decorative holographic display. The front of the crate proudly declares its allegiance to the notorious terrorist group 'S.E.L.F'." + icon_state = "selfcrate" + base_icon_state = "selfcrate" /obj/structure/closet/crate/radiation desc = "A crate with a radiation sign on it." diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm index a686d53f392c6..dfe2eb8c43d47 100644 --- a/code/game/objects/structures/crates_lockers/crates/bins.dm +++ b/code/game/objects/structures/crates_lockers/crates/bins.dm @@ -3,8 +3,8 @@ name = "trash bin" icon_state = "trashbin" base_icon_state = "trashbin" - open_sound = 'sound/effects/bin_open.ogg' - close_sound = 'sound/effects/bin_close.ogg' + open_sound = 'sound/effects/bin/bin_open.ogg' + close_sound = 'sound/effects/bin/bin_close.ogg' anchored = TRUE horizontal = FALSE delivery_icon = null @@ -12,6 +12,7 @@ paint_jobs = null elevation = 17 elevation_open = 17 + can_weld_shut = FALSE /obj/structure/closet/crate/bin/LateInitialize() . = ..() @@ -66,4 +67,4 @@ items_to_sweep.Cut() to_chat(user, span_notice("You sweep the pile of garbage into [src].")) - playsound(broom.loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1) + playsound(broom.loc, 'sound/items/weapons/thudswoosh.ogg', 30, TRUE, -1) diff --git a/code/game/objects/structures/crates_lockers/crates/cardboard.dm b/code/game/objects/structures/crates_lockers/crates/cardboard.dm index 7b1e7dc725779..5d1418e397eb5 100644 --- a/code/game/objects/structures/crates_lockers/crates/cardboard.dm +++ b/code/game/objects/structures/crates_lockers/crates/cardboard.dm @@ -6,12 +6,13 @@ material_drop_amount = 4 icon_state = "cardboard" base_icon_state = "cardboard" - open_sound = 'sound/items/poster_ripped.ogg' + open_sound = 'sound/items/poster/poster_ripped.ogg' close_sound = 'sound/machines/cardboard_box.ogg' open_sound_volume = 25 close_sound_volume = 25 paint_jobs = null cutting_tool = /obj/item/wirecutters + can_weld_shut = FALSE /obj/structure/closet/crate/cardboard/mothic name = "\improper Mothic Fleet box" diff --git a/code/game/objects/structures/crates_lockers/crates/critter.dm b/code/game/objects/structures/crates_lockers/crates/critter.dm index 5e1873d166ab6..052ca9cffb63b 100644 --- a/code/game/objects/structures/crates_lockers/crates/critter.dm +++ b/code/game/objects/structures/crates_lockers/crates/critter.dm @@ -9,14 +9,15 @@ material_drop = /obj/item/stack/sheet/mineral/wood material_drop_amount = 4 delivery_icon = "deliverybox" - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 contents_pressure_protection = 0.8 can_install_electronics = FALSE elevation = 21 elevation_open = 0 + can_weld_shut = FALSE var/obj/item/tank/internals/emergency_oxygen/tank diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm index 0a08d9c7949a1..b3cce9609c06f 100644 --- a/code/game/objects/structures/crates_lockers/crates/large.dm +++ b/code/game/objects/structures/crates_lockers/crates/large.dm @@ -9,12 +9,13 @@ material_drop_amount = 4 delivery_icon = "deliverybox" integrity_failure = 0 //Makes the crate break when integrity reaches 0, instead of opening and becoming an invisible sprite. - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 can_install_electronics = FALSE elevation = 22 + can_weld_shut = FALSE // Stops people from "diving into" a crate you can't open normally divable = FALSE @@ -39,7 +40,7 @@ user.visible_message(span_notice("[user] pries \the [src] open."), \ span_notice("You pry open \the [src]."), \ span_hear("You hear splitting wood.")) - playsound(src.loc, 'sound/weapons/slashmiss.ogg', 75, TRUE) + playsound(src.loc, 'sound/items/weapons/slashmiss.ogg', 75, TRUE) var/turf/T = get_turf(src) for(var/i in 1 to material_drop_amount) diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index e93591f1d596c..b0b6cfaae0016 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -44,17 +44,6 @@ icon_state = "weaponcrate" base_icon_state = "weaponcrate" -/obj/structure/closet/crate/secure/gorlex_weapons - desc = "A secure weapons crate of Gorlex Marauders." - name = "weapons crate" - icon_state = "gorlex_weaponcrate" - base_icon_state = "gorlex_weaponcrate" - -/obj/structure/closet/crate/secure/gorlex_weapons/jammed - desc = "A beaten up, jammed open weapon crate of Gorlex Marauders." - name = "jammed weapons crate" - locked = FALSE - /obj/structure/closet/crate/secure/plasma desc = "A secure plasma crate." name = "plasma crate" @@ -204,64 +193,110 @@ to_chat(user, span_warning("[src] is broken!")) else ..() -/obj/structure/closet/crate/secure/interdyne - name = "interdyne crate" +/obj/structure/closet/crate/secure/freezer/interdyne + name = "\improper Interdyne freezer" + desc = "This is an Interdyne Pharmauceutics branded freezer. May or may not contain fresh organs." + icon_state = "interdynefreezer" + base_icon_state = "interdynefreezer" + req_access = list(ACCESS_SYNDICATE) + +/obj/structure/closet/crate/secure/freezer/interdyne/blood + name = "\improper Interdyne blood freezer" + desc = "This is an Interdyne Pharmauceutics branded freezer. It's made to contain fresh, high-quality blood." + +/obj/structure/closet/crate/secure/freezer/interdyne/blood/PopulateContents() + . = ..() + for(var/i in 1 to 13) + new /obj/item/reagent_containers/blood/random(src) + +/obj/structure/closet/crate/secure/freezer/donk + name = "\improper Donk Co. fridge" + desc = "A Donk Co. brand fridge, keeps your donkpockets and foam ammunition fresh!" + icon_state = "donkcocrate_secure" + base_icon_state = "donkcocrate_secure" + req_access = list(ACCESS_SYNDICATE) + +/obj/structure/closet/crate/secure/syndicate + name = "\improper Syndicate crate" + desc = "A secure crate with the Syndicate's branding on it." + icon_state = "syndicrate" + base_icon_state = "syndicrate" + req_access = list(ACCESS_SYNDICATE) + +/obj/structure/closet/crate/secure/syndicate/interdyne + name = "\improper Interdyne crate" desc = "Crate belonging to Interdyne Pharmaceutics. Hopefully doesn't have bioweapons inside..." icon_state = "interdynecrate" base_icon_state = "interdynecrate" -/obj/structure/closet/crate/secure/tiger - name = "tiger co-op crate" +/obj/structure/closet/crate/secure/syndicate/tiger + name = "\improper Tiger Co-Op crate" icon_state = "tigercrate" base_icon_state = "tigercrate" -/obj/structure/closet/crate/secure/self - name = "s.e.l.f. crate" +/obj/structure/closet/crate/secure/syndicate/self + name = "\improper S.E.L.F. crate" desc = "A secure crate locked from the inside with a scanning panel above it and holographic display of lock's status. Sentient Engine Liberation Front engineers are quite the show-offs." - icon_state = "selfcrate" - base_icon_state = "selfcrate" + icon_state = "selfcrate_secure" + base_icon_state = "selfcrate_secure" -/obj/structure/closet/crate/secure/m13 +/obj/structure/closet/crate/secure/syndicate/mi13 name = "mysterious secure crate" desc = "A secure crate. Lacks any obvious logos or even codes for where it arrived from, but looks like taken straight from a spy movie." icon_state = "mithirteencrate" base_icon_state = "mithirteencrate" + open_sound_volume = 15 + close_sound_volume = 20 -/obj/structure/closet/crate/secure/arc - name = "animal rights consortium crate" +/obj/structure/closet/crate/secure/syndicate/arc + name = "\improper Animal Rights Consortium crate" icon_state = "arccrate" base_icon_state = "arccrate" -/obj/structure/closet/crate/secure/cybersun - name = "cybersun crate" +/obj/structure/closet/crate/secure/syndicate/cybersun + name = "\improper Cybersun crate" -/obj/structure/closet/crate/secure/cybersun/dawn +/obj/structure/closet/crate/secure/syndicate/cybersun/dawn desc = "A secure crate from Cybersun Industries. It has distinct orange-green colouring, probably of some departament or division, but you cannot tell what is it." icon_state = "cyber_dawncrate" base_icon_state = "cyber_dawncrate" -/obj/structure/closet/crate/secure/cybersun/noon +/obj/structure/closet/crate/secure/syndicate/cybersun/noon desc = "A secure crate from Cybersun Industries. It has distinct yellow-orange colouring, probably of some departament or division, but you cannot tell what is it." icon_state = "cyber_nooncrate" base_icon_state = "cyber_nooncrate" -/obj/structure/closet/crate/secure/cybersun/dusk +/obj/structure/closet/crate/secure/syndicate/cybersun/dusk desc = "A secure crate from Cybersun Industries. It has distinct purple-green colouring, probably of some departament or division, but you cannot tell what is it." icon_state = "cyber_duskcrate" base_icon_state = "cyber_duskcrate" -/obj/structure/closet/crate/secure/cybersun/night +/obj/structure/closet/crate/secure/syndicate/cybersun/night desc = "A secure crate from Cybersun Industries. This one blatantly adorns syndicate colours. You can only guess it contains equipement for syndicate operatives." icon_state = "cyber_nightcrate" base_icon_state = "cyber_nightcrate" -/obj/structure/closet/crate/secure/wafflecorp - name = "wafflecorp crate" +/obj/structure/closet/crate/secure/syndicate/wafflecorp + name = "\improper Waffle corp. crate" desc = "A very outdated model and design of shipment crate with a modern lock strapped on it, how befitting of its brand owner, Waffle Corporation. Golden lettering written in cursive by the logo reads 'bringing you consecutively top five world-wide rated* breakfast since 2055. A much smaller fineprint, also in cursive, clarifies: '*in years 2099-2126'... It's year 2563 now, however." icon_state = "wafflecrate" base_icon_state = "wafflecrate" -/obj/structure/closet/crate/secure/gorlex - name = "gorlex marauders crate" +/obj/structure/closet/crate/secure/syndicate/gorlex + name = "\improper Gorlex Marauders crate" icon_state = "gorlexcrate" base_icon_state = "gorlexcrate" + +/obj/structure/closet/crate/secure/syndicate/gorlex/weapons + desc = "A secure weapons crate of Gorlex Marauders." + name = "weapons crate" + icon_state = "gorlex_weaponcrate" + base_icon_state = "gorlex_weaponcrate" + +/obj/structure/closet/crate/secure/syndicate/gorlex/weapons/bustedlock + desc = "A beaten up weapon crate with Gorlex Marauders branding. Its lock looks broken." + name = "damaged weapons crate" + secure = FALSE + locked = FALSE + max_integrity = 400 + damage_deflection = 15 diff --git a/code/game/objects/structures/crates_lockers/crates/syndicrate.dm b/code/game/objects/structures/crates_lockers/crates/syndicrate.dm index 8403f82213511..a686282f287c5 100644 --- a/code/game/objects/structures/crates_lockers/crates/syndicrate.dm +++ b/code/game/objects/structures/crates_lockers/crates/syndicrate.dm @@ -52,7 +52,7 @@ unlock_contents = list() qdel(item) to_chat(user, span_notice("You twist the key into both locks at once, opening the crate.")) - playsound(src, 'sound/machines/boltsup.ogg', 50, vary = FALSE) + playsound(src, 'sound/machines/airlock/boltsup.ogg', 50, vary = FALSE) togglelock(user) /obj/structure/closet/crate/secure/syndicrate/togglelock(mob/living/user, silent) diff --git a/code/game/objects/structures/crates_lockers/crates/wooden.dm b/code/game/objects/structures/crates_lockers/crates/wooden.dm index 5ff3c69aa6bed..5703cb6ddcb39 100644 --- a/code/game/objects/structures/crates_lockers/crates/wooden.dm +++ b/code/game/objects/structures/crates_lockers/crates/wooden.dm @@ -5,8 +5,8 @@ material_drop_amount = 6 icon_state = "wooden" base_icon_state = "wooden" - open_sound = 'sound/machines/wooden_closet_open.ogg' - close_sound = 'sound/machines/wooden_closet_close.ogg' + open_sound = 'sound/machines/closet/wooden_closet_open.ogg' + close_sound = 'sound/machines/closet/wooden_closet_close.ogg' open_sound_volume = 25 close_sound_volume = 50 paint_jobs = null diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index be4180b5fa177..a571009d0a6ca 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -81,11 +81,11 @@ switch(damage_type) if(BRUTE) if(damage_amount) - playsound(src.loc, 'sound/weapons/slash.ogg', 80, TRUE) + playsound(src.loc, 'sound/items/weapons/slash.ogg', 80, TRUE) else - playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(loc, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(loc, 'sound/items/welder.ogg', 80, TRUE) + playsound(loc, 'sound/items/tools/welder.ogg', 80, TRUE) /obj/structure/curtain/bounty icon_type = "bounty" diff --git a/code/game/objects/structures/deployable_turret.dm b/code/game/objects/structures/deployable_turret.dm index 908d2348db4b3..e9162294c8f42 100644 --- a/code/game/objects/structures/deployable_turret.dm +++ b/code/game/objects/structures/deployable_turret.dm @@ -27,9 +27,9 @@ var/warned = FALSE var/list/calculated_projectile_vars /// Sound to play at the end of a burst - var/overheatsound = 'sound/weapons/sear.ogg' + var/overheatsound = 'sound/items/weapons/sear.ogg' /// Sound to play when firing - var/firesound = 'sound/weapons/gun/smg/shot.ogg' + var/firesound = 'sound/items/weapons/gun/smg/shot.ogg' /// If using a wrench on the turret will start undeploying it var/can_be_undeployed = FALSE /// What gets spawned if the object is undeployed @@ -70,7 +70,7 @@ //BUCKLE HOOKS /obj/machinery/deployable_turret/unbuckle_mob(mob/living/buckled_mob, force = FALSE, can_fall = TRUE) - playsound(src,'sound/mecha/mechmove01.ogg', 50, TRUE) + playsound(src,'sound/vehicles/mecha/mechmove01.ogg', 50, TRUE) for(var/obj/item/I in buckled_mob.held_items) if(istype(I, /obj/item/gun_control)) qdel(I) @@ -103,7 +103,7 @@ M.pixel_y = 14 layer = ABOVE_MOB_LAYER setDir(SOUTH) - playsound(src,'sound/mecha/mechmove01.ogg', 50, TRUE) + playsound(src,'sound/vehicles/mecha/mechmove01.ogg', 50, TRUE) set_anchored(TRUE) if(M.client) M.client.view_size.setTo(view_range) @@ -221,8 +221,8 @@ number_of_shots = 3 cooldown_duration = 2 SECONDS rate_of_fire = 2 - firesound = 'sound/weapons/gun/hmg/hmg.ogg' - overheatsound = 'sound/weapons/gun/smg/smgrack.ogg' + firesound = 'sound/items/weapons/gun/hmg/hmg.ogg' + overheatsound = 'sound/items/weapons/gun/smg/smgrack.ogg' can_be_undeployed = TRUE spawned_on_undeploy = /obj/item/deployable_turret_folded @@ -259,11 +259,11 @@ M.attacked_by(src, user) add_fingerprint(user) -/obj/item/gun_control/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) +/obj/item/gun_control/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) var/obj/machinery/deployable_turret/E = user.buckled E.calculated_projectile_vars = calculate_projectile_angle_and_pixel_offsets(user, interacting_with, modifiers) E.direction_track(user, interacting_with) E.checkfire(interacting_with, user) -/obj/item/gun_control/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) +/obj/item/gun_control/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + return ranged_interact_with_atom(interacting_with, user, modifiers) diff --git a/code/game/objects/structures/destructible_structures.dm b/code/game/objects/structures/destructible_structures.dm index beffa5d4fd741..e64779c31ed1a 100644 --- a/code/game/objects/structures/destructible_structures.dm +++ b/code/game/objects/structures/destructible_structures.dm @@ -1,7 +1,7 @@ /obj/structure/destructible //a base for destructible structures max_integrity = 100 - var/break_message = "The strange, admin-y structure breaks!" //The message shown when a structure breaks - var/break_sound = 'sound/magic/clockwork/invoke_general.ogg' //The sound played when a structure breaks + var/break_message = span_warning("The strange, admin-y structure breaks!") //The message shown when a structure breaks + var/break_sound = 'sound/effects/magic/clockwork/invoke_general.ogg' //The sound played when a structure breaks var/list/debris = null //Parts left behind when a structure breaks, takes the form of list(path = amount_to_spawn) /obj/structure/destructible/atom_deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/detectiveboard.dm b/code/game/objects/structures/detectiveboard.dm index 94de77563b090..27c11cda5a018 100644 --- a/code/game/objects/structures/detectiveboard.dm +++ b/code/game/objects/structures/detectiveboard.dm @@ -1,4 +1,5 @@ #define MAX_ICON_NOTICES 8 +#define MAX_CASES 8 #define MAX_EVIDENCE_Y 3500 #define MAX_EVIDENCE_X 1180 @@ -49,11 +50,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/detectiveboard, 32) to_chat(user, "You already attaching evidence!") return attaching_evidence = TRUE - var/name = tgui_input_text(user, "Please enter the evidence name", "Detective's Board") + var/name = tgui_input_text(user, "Please enter the evidence name", "Detective's Board", max_length = MAX_NAME_LEN) if(!name) attaching_evidence = FALSE return - var/desc = tgui_input_text(user, "Please enter the evidence description", "Detective's Board") + var/desc = tgui_input_text(user, "Please enter the evidence description", "Detective's Board", max_length = MAX_DESC_LEN) if(!desc) attaching_evidence = FALSE return @@ -143,7 +144,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/detectiveboard, 32) var/mob/user = ui.user switch(action) if("add_case") - var/new_case = tgui_input_text(user, "Please enter the case name", "Detective's Board") + if(cases.len == MAX_CASES) + return FALSE + var/new_case = tgui_input_text(user, "Please enter the case name", "Detective's Board", max_length = MAX_NAME_LEN) if(!new_case) return FALSE var/case_color = tgui_input_list(user, "Please choose case color", "Detective's Board", case_colors) @@ -152,24 +155,25 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/detectiveboard, 32) var/datum/case/case = new (new_case, case_color) cases += case - current_case = cases.len + current_case = clamp(cases.len, 1, MAX_CASES) update_appearance(UPDATE_ICON) return TRUE if("set_case") if(cases && params["case"] && params["case"] <= cases.len) - current_case = params["case"] + current_case = clamp(params["case"], 1, MAX_CASES) update_appearance(UPDATE_ICON) return TRUE if("remove_case") var/datum/case/case = locate(params["case_ref"]) in cases - for(var/datum/evidence/evidence in case.evidences) - remove_item(evidence.item, user) - cases -= case - current_case = cases.len - update_appearance(UPDATE_ICON) - return TRUE + if(case) + for(var/datum/evidence/evidence in case.evidences) + remove_item(evidence.item, user) + cases -= case + current_case = clamp(cases.len, 1, MAX_CASES) + update_appearance(UPDATE_ICON) + return TRUE if("rename_case") - var/new_name = tgui_input_text(user, "Please ender the case new name", "Detective's Board") + var/new_name = tgui_input_text(user, "Please enter the new name for the case", "Detective's Board", max_length = MAX_NAME_LEN) if(new_name) var/datum/case/case = locate(params["case_ref"]) in cases case.name = new_name @@ -301,3 +305,4 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/detectiveboard, 32) #undef MAX_EVIDENCE_Y #undef MAX_EVIDENCE_X #undef MAX_ICON_NOTICES +#undef MAX_CASES diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index b582d86efde0e..d5e32af761e11 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -77,9 +77,9 @@ /obj/structure/displaycase/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(src, 'sound/effects/glasshit.ogg', 75, TRUE) + playsound(src, 'sound/effects/glass/glasshit.ogg', 75, TRUE) if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/displaycase/atom_deconstruct(disassembled = TRUE) dump() @@ -159,7 +159,7 @@ toggle_lock(user) else if(open && !showpiece) insert_showpiece(attacking_item, user) - return TRUE //cancel the attack chain, wether we successfully placed an item or not + return TRUE //cancel the attack chain, whether we successfully placed an item or not else if(glass_fix && broken && istype(attacking_item, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/glass_sheet = attacking_item if(glass_sheet.get_amount() < 2) @@ -387,7 +387,7 @@ /obj/structure/displaycase/trophy/proc/toggle_historian_mode(mob/user) historian_mode = !historian_mode balloon_alert(user, "[historian_mode ? "enabled" : "disabled"] historian mode.") - playsound(src, 'sound/machines/twobeep.ogg', vary = 50) + playsound(src, 'sound/machines/beep/twobeep.ogg', vary = 50) SStgui.update_uis(src) /obj/structure/displaycase/trophy/toggle_lock(mob/user) @@ -426,7 +426,7 @@ return if("change_message") if(showpiece && !holographic_showpiece) - var/new_trophy_message = tgui_input_text(usr, "Let's make history!", "Trophy Message", trophy_message, MAX_PLAQUE_LEN) + var/new_trophy_message = tgui_input_text(usr, "Let's make history!", "Trophy Message", trophy_message, max_length = MAX_PLAQUE_LEN) if(!new_trophy_message) return trophy_message = new_trophy_message @@ -576,7 +576,7 @@ if(!potential_acc || !potential_acc.registered_account) return if(!check_access(potential_acc)) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return toggle_lock() if("Register") @@ -585,13 +585,13 @@ if(!potential_acc || !potential_acc.registered_account) return if(!check_access(potential_acc)) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return payments_acc = potential_acc.registered_account playsound(src, 'sound/machines/click.ogg', 20, TRUE) if("Adjust") if(!check_access(potential_acc) || potential_acc.registered_account != payments_acc) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return var/new_price_input = tgui_input_number(usr, "Sale price for this vend-a-tray", "New Price", 10, 1000) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 9493a7c941407..5fc9bf674c144 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -83,7 +83,7 @@ /obj/structure/door_assembly/attackby(obj/item/W, mob/living/user, params) if(IS_WRITING_UTENSIL(W) && !user.combat_mode) - var/t = tgui_input_text(user, "Enter the name for the door", "Airlock Renaming", created_name, MAX_NAME_LEN) + var/t = tgui_input_text(user, "Enter the name for the door", "Airlock Renaming", created_name, max_length = MAX_NAME_LEN) if(!t) return if(!in_range(src, usr) && loc != usr) @@ -219,7 +219,7 @@ if(!noglass) if(!glass) if(istype(G, /obj/item/stack/sheet/rglass) || istype(G, /obj/item/stack/sheet/glass)) - playsound(src, 'sound/items/crowbar.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/crowbar.ogg', 100, TRUE) user.visible_message(span_notice("[user] adds [G.name] to the airlock assembly."), \ span_notice("You start to install [G.name] into the airlock assembly...")) if(do_after(user, 4 SECONDS, target = src)) @@ -242,7 +242,7 @@ to_chat(user, span_warning("You cannot add [G] to [src]!")) return if(G.get_amount() >= 2) - playsound(src, 'sound/items/crowbar.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/crowbar.ogg', 100, TRUE) user.visible_message(span_notice("[user] adds [G.name] to the airlock assembly."), \ span_notice("You start to install [G.name] into the airlock assembly...")) if(do_after(user, 4 SECONDS, target = src)) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 0564223a7c759..a4d35f02e0c09 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -130,7 +130,7 @@ if(tool) tool.play_tool_sound(src, 100) else - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) deconstruct(disassembled) /obj/structure/falsewall/atom_deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index ab69b7bc7a41e..7af4dd0f6c0dc 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -95,9 +95,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32) if(broken) playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 90, TRUE) else - playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE) + playsound(loc, 'sound/effects/glass/glasshit.ogg', 90, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/fireaxecabinet/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = TRUE, attack_dir) if(open) @@ -111,7 +111,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32) if(!broken) update_appearance() broken = TRUE - playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE) + playsound(src, 'sound/effects/glass/glassbr3.ogg', 100, TRUE) new /obj/item/shard(loc) new /obj/item/shard(loc) diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index 180b085778abf..4e568a56f48b2 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -68,26 +68,25 @@ var/logs_used = min(space_for_logs, wood.amount) wood.use(logs_used) adjust_fuel_timer(LOG_BURN_TIMER * logs_used) - user.visible_message("[user] tosses some \ - wood into [src].", "You add \ - some fuel to [src].") - else if(istype(T, /obj/item/paper_bin)) + user.visible_message(span_notice("[user] tosses some wood into [src]."), span_notice("You add some fuel to [src].")) + return + + if(istype(T, /obj/item/paper_bin)) var/obj/item/paper_bin/paper_bin = T - user.visible_message("[user] throws [T] into \ - [src].", "You add [T] to [src].\ - ") + user.visible_message(span_notice("[user] throws [T] into [src]."), span_notice("You add [T] to [src].")) adjust_fuel_timer(PAPER_BURN_TIMER * paper_bin.total_paper) qdel(paper_bin) - else if(istype(T, /obj/item/paper)) - user.visible_message("[user] throws [T] into \ - [src].", "You throw [T] into [src].\ - ") + return + + if(istype(T, /obj/item/paper)) + user.visible_message(span_notice("[user] throws [T] into [src]."), span_notice("You throw [T] into [src].")) adjust_fuel_timer(PAPER_BURN_TIMER) qdel(T) - else if(try_light(T,user)) return - else - . = ..() + + if(try_light(T,user)) + return + return ..() /obj/structure/fireplace/update_overlays() . = ..() diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 0f20f87e0b547..389e8dcbd743d 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -500,7 +500,7 @@ /obj/structure/girder/bronze/attackby(obj/item/W, mob/living/user, params) add_fingerprint(user) if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount = 0)) + if(!W.tool_start_check(user, amount = 0, heat_required = HIGH_TEMPERATURE_REQUIRED)) return balloon_alert(user, "slicing apart...") if(W.use_tool(src, user, 40, volume=50)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index aa9af66868fdd..4aaba04bc1835 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -286,9 +286,9 @@ if(damage_amount) playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src, 'sound/items/welder.ogg', 80, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 80, TRUE) /obj/structure/grille/atom_deconstruct(disassembled = TRUE) @@ -359,7 +359,7 @@ return FALSE var/obj/structure/cable/C = T.get_cable_node() if(C) - playsound(src, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) + playsound(src, 'sound/effects/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) tesla_zap(source = src, zap_range = 3, power = C.newavail() * 0.01, cutoff = 1e3, zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN | ZAP_LOW_POWER_GEN | ZAP_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot. C.add_delayedload(C.newavail() * 0.0375) // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock. // What do you mean by this? return ..() diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index a51e82498e2bc..f46caa48c7b8b 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -43,7 +43,7 @@ buckle_prevents_pull = TRUE layer = ABOVE_MOB_LAYER /// The sound the guillotine makes when it successfully cuts off a head - var/drop_sound = 'sound/weapons/guillotine.ogg' + var/drop_sound = 'sound/items/weapons/guillotine.ogg' /// The current state of the blade var/blade_status = GUILLOTINE_BLADE_RAISED /// How sharp the blade is diff --git a/code/game/objects/structures/gym/punching_bag.dm b/code/game/objects/structures/gym/punching_bag.dm index 59ccf6f23c2c3..bba9e4f715c2a 100644 --- a/code/game/objects/structures/gym/punching_bag.dm +++ b/code/game/objects/structures/gym/punching_bag.dm @@ -7,13 +7,13 @@ layer = ABOVE_MOB_LAYER ///List of sounds that can be played when punched. var/static/list/hit_sounds = list( - 'sound/weapons/genhit1.ogg', - 'sound/weapons/genhit2.ogg', - 'sound/weapons/genhit3.ogg', - 'sound/weapons/punch1.ogg', - 'sound/weapons/punch2.ogg', - 'sound/weapons/punch3.ogg', - 'sound/weapons/punch4.ogg', + 'sound/items/weapons/genhit1.ogg', + 'sound/items/weapons/genhit2.ogg', + 'sound/items/weapons/genhit3.ogg', + 'sound/items/weapons/punch1.ogg', + 'sound/items/weapons/punch2.ogg', + 'sound/items/weapons/punch3.ogg', + 'sound/items/weapons/punch4.ogg', ) /obj/structure/punching_bag/Initialize(mapload) diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 30983c5088d67..6d86b5f7a30d5 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -52,9 +52,9 @@ /obj/structure/holosign/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(loc, 'sound/weapons/egloves.ogg', 80, TRUE) + playsound(loc, 'sound/items/weapons/egloves.ogg', 80, TRUE) if(BURN) - playsound(loc, 'sound/weapons/egloves.ogg', 80, TRUE) + playsound(loc, 'sound/items/weapons/egloves.ogg', 80, TRUE) /obj/structure/holosign/proc/create_vis_overlay() var/turf/our_turf = get_turf(src) @@ -135,11 +135,11 @@ if(!opened) density = FALSE opened = TRUE - playsound(src, 'sound/machines/door_open.ogg', 50, TRUE) + playsound(src, 'sound/machines/door/door_open.ogg', 50, TRUE) else density = TRUE opened = FALSE - playsound(src, 'sound/machines/door_close.ogg', 50, TRUE) + playsound(src, 'sound/machines/door/door_close.ogg', 50, TRUE) update_icon_state() COOLDOWN_START(src, cooldown_open, 1 SECONDS) @@ -262,7 +262,7 @@ if(!COOLDOWN_FINISHED(src, virus_detected)) return - playsound(get_turf(src),'sound/machines/buzz-sigh.ogg', 65, TRUE, 4) + playsound(get_turf(src),'sound/machines/buzz/buzz-sigh.ogg', 65, TRUE, 4) COOLDOWN_START(src, virus_detected, 1 SECONDS) icon_state = "holo_medical-deny" update_icon_state() diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 6efa671875915..fb082b72456dc 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -49,7 +49,7 @@ GLOBAL_LIST_INIT(ore_probability, list( * */ /obj/structure/spawner/ice_moon/proc/destroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) + playsound(loc,'sound/effects/explosion/explosionfar.ogg', 200, TRUE) visible_message(span_boldannounce("[src] collapses, sealing everything inside!
\nOres fall out of the cave as it is destroyed!")) /** diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 0cc73b9adef9c..57e30d58ef2bd 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -34,7 +34,7 @@ return CONTEXTUAL_SCREENTIP_SET /obj/structure/kitchenspike_frame/welder_act(mob/living/user, obj/item/tool) - if(!tool.tool_start_check(user, amount = 0)) + if(!tool.tool_start_check(user, amount = 0, heat_required = HIGH_TEMPERATURE_REQUIRED)) return FALSE to_chat(user, span_notice("You begin cutting \the [src] apart...")) if(!tool.use_tool(src, user, 5 SECONDS, volume = 50)) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 0d7d23191742c..0b55326130022 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -162,7 +162,7 @@ to_chat(user, span_warning("You need one floor tile to build atop [src].")) return to_chat(user, span_notice("You construct new plating with [src] as support.")) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) var/turf/turf_we_place_on = get_turf(src) turf_we_place_on.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) diff --git a/code/game/objects/structures/lavaland/gulag_vent.dm b/code/game/objects/structures/lavaland/gulag_vent.dm index c269c5213e71a..8cb530e31b18a 100644 --- a/code/game/objects/structures/lavaland/gulag_vent.dm +++ b/code/game/objects/structures/lavaland/gulag_vent.dm @@ -47,4 +47,4 @@ new spawned_boulder(get_turf(living_user)) living_user.visible_message(span_notice("[living_user] hauls a boulder out of [src].")) living_user.apply_damage(stamina_damage_to_inflict, STAMINA) - playsound(src, 'sound/weapons/genhit.ogg', vol = 50, vary = TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', vol = 50, vary = TRUE) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index bf69b23238c61..b169868a85fb7 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -131,7 +131,7 @@ GLOBAL_LIST_INIT(tendrils, list()) /obj/effect/collapse/proc/collapse() for(var/mob/M in range(7,src)) shake_camera(M, 15, 1) - playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE) + playsound(get_turf(src),'sound/effects/explosion/explosionfar.ogg', 200, TRUE) visible_message(span_boldannounce("The tendril falls inward, the ground around it widening into a yawning chasm!")) for(var/turf/T in RANGE_TURFS(2,src)) if(HAS_TRAIT(T, TRAIT_NO_TERRAFORM)) diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index f9214b989b95c..adf888a2d9c42 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -121,7 +121,7 @@ for(var/i in 1 to 3) if(do_after(user, boulder_size * 1 SECONDS, src)) user.apply_damage(20, STAMINA) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) produce_boulder(TRUE) visible_message(span_notice("You've successfully produced a boulder! Boy are your arms tired.")) @@ -263,39 +263,40 @@ * If the node drone is dead, the ore vent is not tapped and the wave defense can be reattempted. * * Also gives xp and mining points to all nearby miners in equal measure. + * Arguments: + * - force: Set to true if you want to just skip all checks and make the vent start producing boulders. */ -/obj/structure/ore_vent/proc/handle_wave_conclusion() +/obj/structure/ore_vent/proc/handle_wave_conclusion(force = FALSE) SIGNAL_HANDLER SEND_SIGNAL(src, COMSIG_VENT_WAVE_CONCLUDED) COOLDOWN_RESET(src, wave_cooldown) particles = null - if(!QDELETED(node)) - if(get_turf(node) != get_turf(src)) - visible_message(span_danger("The [node] detaches from the [src], and the vent closes back up!")) - icon_state = initial(icon_state) - update_appearance(UPDATE_ICON_STATE) - UnregisterSignal(node, COMSIG_MOVABLE_MOVED) - node.pre_escape(success = FALSE) - node = null - return //Start over! - - tapped = TRUE //The Node Drone has survived the wave defense, and the ore vent is tapped. - SSore_generation.processed_vents += src - log_game("Ore vent [key_name_and_tag(src)] was tapped") - SSblackbox.record_feedback("tally", "ore_vent_completed", 1, type) - balloon_alert_to_viewers("vent tapped!") - icon_state = icon_state_tapped - update_appearance(UPDATE_ICON_STATE) - qdel(GetComponent(/datum/component/gps)) - UnregisterSignal(node, COMSIG_QDELETING) - else + if(QDELETED(node) && !force) visible_message(span_danger("\the [src] creaks and groans as the mining attempt fails, and the vent closes back up.")) icon_state = initial(icon_state) update_appearance(UPDATE_ICON_STATE) node = null return //Bad end, try again. + else if(!QDELETED(node) && get_turf(node) != get_turf(src) && !force) + visible_message(span_danger("The [node] detaches from the [src], and the vent closes back up!")) + icon_state = initial(icon_state) + update_appearance(UPDATE_ICON_STATE) + UnregisterSignal(node, COMSIG_MOVABLE_MOVED) + node.pre_escape(success = FALSE) + node = null + return //Start over! + + tapped = TRUE //The Node Drone has survived the wave defense, and the ore vent is tapped. + SSore_generation.processed_vents += src + log_game("Ore vent [key_name_and_tag(src)] was tapped") + SSblackbox.record_feedback("tally", "ore_vent_completed", 1, type) + balloon_alert_to_viewers("vent tapped!") + icon_state = icon_state_tapped + update_appearance(UPDATE_ICON_STATE) + qdel(GetComponent(/datum/component/gps)) + UnregisterSignal(node, COMSIG_QDELETING) for(var/mob/living/miner in range(7, src)) //Give the miners who are near the vent points and xp. var/obj/item/card/id/user_id_card = miner.get_idcard(TRUE) @@ -307,7 +308,7 @@ if(user_id_card.registered_account) user_id_card.registered_account.mining_points += point_reward_val user_id_card.registered_account.bank_card_talk("You have been awarded [point_reward_val] mining points for your efforts.") - node.pre_escape() //Visually show the drone is done and flies away. + node?.pre_escape() //Visually show the drone is done and flies away. node = null add_overlay(mutable_appearance('icons/obj/mining_zones/terrain.dmi', "well", ABOVE_MOB_LAYER)) @@ -426,7 +427,7 @@ /** * When the ore vent cannot spawn a mob due to being blocked from all sides, we cause some MILD, MILD explosions. - * Explosion matches a gibtonite light explosion, as a way to clear neartby solid structures, with a high likelyhood of breaking the NODE drone. + * Explosion matches a gibtonite light explosion, as a way to clear nearby solid structures, with a high likelihood of breaking the NODE drone. */ /obj/structure/ore_vent/proc/anti_cheese() explosion(src, heavy_impact_range = 1, light_impact_range = 3, flame_range = 0, flash_range = 0, adminlog = FALSE) diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index 7c9250ed9a246..d9eb81c783c35 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -22,7 +22,7 @@ var/datum/outfit/outfit // How long until we respawn them after their death. var/respawn_time = 50 - var/respawn_sound = 'sound/magic/staff_animation.ogg' + var/respawn_sound = 'sound/effects/magic/staff_animation.ogg' /obj/structure/life_candle/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm index 9f88246966f94..d3eb552c46b8b 100644 --- a/code/game/objects/structures/maintenance.dm +++ b/code/game/objects/structures/maintenance.dm @@ -1,9 +1,9 @@ /** This structure acts as a source of moisture loving cell lines, -as well as a location where a hidden item can somtimes be retrieved +as well as a location where a hidden item can sometimes be retrieved at the cost of risking a vicious bite.**/ /obj/structure/moisture_trap name = "moisture trap" - desc = "A device installed in order to control moisture in poorly ventilated areas.\nThe stagnant water inside basin seems to produce serious biofouling issues when improperly maintained.\nThis unit in particular seems to be teeming with life!\nWho thought mother Gaia could assert herself so vigoriously in this sterile and desolate place?" + desc = "A device installed in order to control moisture in poorly ventilated areas.\nThe stagnant water inside basin seems to produce serious biofouling issues when improperly maintained.\nThis unit in particular seems to be teeming with life!\nWho thought mother Gaia could assert herself so vigorously in this sterile and desolate place?" icon_state = "moisture_trap" anchored = TRUE density = FALSE @@ -58,7 +58,7 @@ at the cost of risking a vicious bite.**/ if(!isliving(user)) return FALSE var/mob/living/living_user = user - if(living_user.body_position == STANDING_UP && ishuman(living_user)) //I dont think monkeys can crawl on command. + if(living_user.body_position == STANDING_UP && ishuman(living_user)) //I don't think monkeys can crawl on command. return FALSE return TRUE @@ -84,7 +84,7 @@ at the cost of risking a vicious bite.**/ to_chat(user, span_danger("You feel a sharp pain as an unseen creature sinks its [pick("fangs", "beak", "proboscis")] into your arm!")) if(affecting?.receive_damage(30)) bite_victim.update_damage_overlays() - playsound(src,'sound/weapons/bite.ogg', 70, TRUE) + playsound(src,'sound/items/weapons/bite.ogg', 70, TRUE) return to_chat(user, span_warning("You find nothing of value...")) @@ -122,8 +122,8 @@ at the cost of risking a vicious bite.**/ desc = "What is this? Who put it on this station? And why does it emanate strange energy?" icon_state = "altar" cult_examine_tip = "Even you don't understand the eldritch magic behind this." - break_message = "The structure shatters, leaving only a demonic screech!" - break_sound = 'sound/magic/demon_dies.ogg' + break_message = span_warning("The structure shatters, leaving only a demonic screech!") + break_sound = 'sound/effects/magic/demon_dies.ogg' light_color = LIGHT_COLOR_BLOOD_MAGIC light_range = 2 use_cooldown_duration = 1 MINUTES @@ -188,7 +188,7 @@ at the cost of risking a vicious bite.**/ status = ALTAR_STAGEONE update_icon() visible_message(span_warning("[src] starts creating something...")) - playsound(src, 'sound/magic/pantsaltar.ogg', 60) + playsound(src, 'sound/effects/magic/pantsaltar.ogg', 60) addtimer(CALLBACK(src, PROC_REF(pants_stagetwo)), ALTAR_TIME) /// Continues the creation, making every mob nearby nauseous. diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index b80cee093fc66..97e35d8f6f3f8 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -272,7 +272,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an update_morgue_status() update_appearance(UPDATE_ICON_STATE) if(morgue_state == MORGUE_HAS_REVIVABLE && beeper && COOLDOWN_FINISHED(src, next_beep)) - playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks + playsound(src, 'sound/items/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks COOLDOWN_START(src, next_beep, beep_cooldown) if(!connected || connected.loc != src) diff --git a/code/game/objects/structures/mystery_box.dm b/code/game/objects/structures/mystery_box.dm index 9bb51ba09cbef..0a0c9ca0a1017 100644 --- a/code/game/objects/structures/mystery_box.dm +++ b/code/game/objects/structures/mystery_box.dm @@ -121,8 +121,8 @@ GLOBAL_LIST_INIT(mystery_fishing, list( max_integrity = 99999 damage_deflection = 100 - var/crate_open_sound = 'sound/machines/crate_open.ogg' - var/crate_close_sound = 'sound/machines/crate_close.ogg' + var/crate_open_sound = 'sound/machines/crate/crate_open.ogg' + var/crate_close_sound = 'sound/machines/crate/crate_close.ogg' var/open_sound = 'sound/effects/mysterybox/mbox_full.ogg' var/grant_sound = 'sound/effects/mysterybox/mbox_end.ogg' /// The box's current state, and whether it can be interacted with in different ways @@ -142,7 +142,7 @@ GLOBAL_LIST_INIT(mystery_fishing, list( /// Stores the current sound channel we're using so we can cut off our own sounds as needed. Randomized after each roll var/current_sound_channel /// How many time can it still be used? - var/uses_left + var/uses_left = INFINITY /// A list of weakrefs to mind datums of people that opened it and how many times. var/list/datum/weakref/minds_that_opened_us @@ -281,6 +281,7 @@ GLOBAL_LIST_INIT(mystery_fishing, list( max_integrity = 100 damage_deflection = 30 grant_extra_mag = FALSE + anchored = FALSE /obj/structure/mystery_box/handle_deconstruct(disassembled) new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) diff --git a/code/game/objects/structures/petrified_statue.dm b/code/game/objects/structures/petrified_statue.dm index 5383436d4dbff..d27a2e8e1cd8d 100644 --- a/code/game/objects/structures/petrified_statue.dm +++ b/code/game/objects/structures/petrified_statue.dm @@ -13,24 +13,24 @@ /obj/structure/statue/petrified/relaymove() return -/obj/structure/statue/petrified/Initialize(mapload, mob/living/L, statue_timer, save_brain) +/obj/structure/statue/petrified/Initialize(mapload, mob/living/living, statue_timer, save_brain) . = ..() if(statue_timer) timer = statue_timer if(save_brain) brain = save_brain - if(L) - petrified_mob = L - if(L.buckled) - L.buckled.unbuckle_mob(L,force=1) - L.visible_message(span_warning("[L]'s skin rapidly turns to marble!"), span_userdanger("Your body freezes up! Can't... move... can't... think...")) - L.forceMove(src) - ADD_TRAIT(L, TRAIT_MUTE, STATUE_MUTE) - L.faction |= FACTION_MIMIC //Stops mimics from instaqdeling people in statues - L.status_flags |= GODMODE - atom_integrity = L.health + 100 //stoning damaged mobs will result in easier to shatter statues - max_integrity = atom_integrity - START_PROCESSING(SSobj, src) + if(!living) + return + petrified_mob = living + if(living.buckled) + living.buckled.unbuckle_mob(living, force = TRUE) + living.visible_message(span_warning("[living]'s skin rapidly turns to marble!"), span_userdanger("Your body freezes up! Can't... move... can't... think...")) + living.forceMove(src) + living.add_traits(list(TRAIT_GODMODE, TRAIT_MUTE, TRAIT_NOBLOOD), STATUE_MUTE) + living.faction |= FACTION_MIMIC //Stops mimics from instaqdeling people in statues + atom_integrity = living.health + 100 //stoning damaged mobs will result in easier to shatter statues + max_integrity = atom_integrity + START_PROCESSING(SSobj, src) /obj/structure/statue/petrified/process(seconds_per_tick) if(!petrified_mob) @@ -47,6 +47,9 @@ /obj/structure/statue/petrified/Exited(atom/movable/gone, direction) . = ..() if(gone == petrified_mob) + petrified_mob.remove_traits(list(TRAIT_GODMODE, TRAIT_MUTE, TRAIT_NOBLOOD), STATUE_MUTE) + petrified_mob.take_overall_damage((petrified_mob.health - atom_integrity + 100)) //any new damage the statue incurred is transferred to the mob + petrified_mob.faction -= FACTION_MIMIC petrified_mob = null /obj/structure/statue/petrified/Destroy() @@ -64,13 +67,7 @@ for(var/obj/O in src) O.forceMove(loc) - if(petrified_mob) - petrified_mob.status_flags &= ~GODMODE - REMOVE_TRAIT(petrified_mob, TRAIT_MUTE, STATUE_MUTE) - REMOVE_TRAIT(petrified_mob, TRAIT_NOBLOOD, MAGIC_TRAIT) - petrified_mob.take_overall_damage((petrified_mob.health - atom_integrity + 100)) //any new damage the statue incurred is transferred to the mob - petrified_mob.faction -= FACTION_MIMIC - petrified_mob.forceMove(loc) + petrified_mob?.forceMove(loc) return ..() /obj/structure/statue/petrified/atom_deconstruct(disassembled = TRUE) @@ -114,7 +111,6 @@ return FALSE var/obj/structure/statue/petrified/S = new(loc, src, statue_timer, save_brain) S.name = "statue of [name]" - ADD_TRAIT(src, TRAIT_NOBLOOD, MAGIC_TRAIT) S.copy_overlays(src) var/newcolor = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) if(colorlist) diff --git a/code/game/objects/structures/pinatas.dm b/code/game/objects/structures/pinatas.dm index 6483d39b1a26c..56a258a45f7be 100644 --- a/code/game/objects/structures/pinatas.dm +++ b/code/game/objects/structures/pinatas.dm @@ -28,18 +28,18 @@ . = ..() if(get_integrity() < (max_integrity/2)) icon_state = "[base_icon_state]_damaged" - if(damage_amount >= 10) // Swing means minimum damage threshhold for dropping candy is met. + if(damage_amount >= 10) // Swing means minimum damage threshold for dropping candy is met. flick("[icon_state]_swing", src) /obj/structure/pinata/play_attack_sound(damage_amount, damage_type, damage_flag) switch(damage_type) if(BRUTE) if(damage_amount) - playsound(src, 'sound/weapons/slash.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/slash.ogg', 50, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/pinata/atom_deconstruct(disassembled) new debris(get_turf(src)) diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index 1277869dbf67f..951a538e7241a 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -88,7 +88,7 @@ var/namechoice = tgui_input_text(user, "Title this plaque. (e.g. 'Best HoP Award', 'Great Ashwalker War Memorial')", "Plaque Customization", max_length = MAX_NAME_LEN) if(!namechoice) return - var/descriptionchoice = tgui_input_text(user, "Engrave this plaque's text", "Plaque Customization") + var/descriptionchoice = tgui_input_text(user, "Engrave this plaque's text", "Plaque Customization", max_length = MAX_PLAQUE_LEN) if(!descriptionchoice) return if(!Adjacent(user)) //Make sure user is adjacent still @@ -161,7 +161,7 @@ var/namechoice = tgui_input_text(user, "Title this plaque. (e.g. 'Best HoP Award', 'Great Ashwalker War Memorial')", "Plaque Customization", max_length = MAX_NAME_LEN) if(!namechoice) return - var/descriptionchoice = tgui_input_text(user, "Engrave this plaque's text", "Plaque Customization") + var/descriptionchoice = tgui_input_text(user, "Engrave this plaque's text", "Plaque Customization", max_length = MAX_PLAQUE_LEN) if(!descriptionchoice) return if(!Adjacent(user)) //Make sure user is adjacent still diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm index 3ae3b66b71b66..4b53ae0437301 100644 --- a/code/game/objects/structures/plaques/static_plaques.dm +++ b/code/game/objects/structures/plaques/static_plaques.dm @@ -3,6 +3,12 @@ /obj/structure/plaque/static_plaque engraved = TRUE +/obj/structure/plaque/static_plaque/Initialize(mapload) + . = ..() + if(isopenturf(loc) && !isProbablyWallMounted(src)) + SET_PLANE_IMPLICIT(src, FLOOR_PLANE) + layer = HIGH_TURF_LAYER + /obj/structure/plaque/static_plaque/atmos name = "\improper FEA Atmospherics Division plaque" desc = "This plaque commemorates the fall of the Atmos FEA division. For all the charred, dizzy, and brittle men who have died in its hands." diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 06a099ad4f906..af213603f6353 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/railings.dmi' icon_state = "railing" flags_1 = ON_BORDER_1 - obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR + obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR | IGNORE_DENSITY density = TRUE anchored = TRUE pass_flags_self = LETPASSTHROW|PASSSTRUCTURE @@ -101,6 +101,10 @@ /obj/structure/railing/wirecutter_act(mob/living/user, obj/item/I) . = ..() + if(resistance_flags & INDESTRUCTIBLE) + to_chat(user, span_warning("You try to cut apart the railing, but it's too hard!")) + I.play_tool_sound(src, 100) + return TRUE to_chat(user, span_warning("You cut apart the railing.")) I.play_tool_sound(src, 100) deconstruct() diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 14e3b53680d15..b2796019f168b 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -234,7 +234,7 @@ FLOOR SAFES if(!canhear) return if(current_tick == 2) - to_chat(user, "The sounds from [src] are too fast and blend together.") + to_chat(user, span_italics("The sounds from [src] are too fast and blend together.")) if(total_ticks == 1 || prob(SOUND_CHANCE)) balloon_alert(user, pick(sounds)) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 1ae66f2f82f19..6c5435c1bfad8 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -90,6 +90,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) AddComponent(/datum/component/plumbing/simple_demand, extend_pipe_to_edge = TRUE) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_exited), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -233,18 +234,33 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) qdel(mist) -/obj/machinery/shower/proc/on_entered(datum/source, atom/movable/AM) +/obj/machinery/shower/proc/on_entered(datum/source, atom/movable/enterer) SIGNAL_HANDLER + if(actually_on && reagents.total_volume) - wash_atom(AM) + wash_atom(enterer) + +/obj/machinery/shower/proc/on_exited(datum/source, atom/movable/exiter) + SIGNAL_HANDLER + + if(!isliving(exiter)) + return + + var/obj/machinery/shower/locate_new_shower = locate() in get_turf(exiter) + if(locate_new_shower && isturf(exiter.loc)) + return + var/mob/living/take_his_status_effect = exiter + take_his_status_effect.remove_status_effect(/datum/status_effect/shower_regen) /obj/machinery/shower/proc/wash_atom(atom/target) target.wash(CLEAN_RAD | CLEAN_WASH) reagents.expose(target, (TOUCH), SHOWER_EXPOSURE_MULTIPLIER * SHOWER_SPRAY_VOLUME / max(reagents.total_volume, SHOWER_SPRAY_VOLUME)) - if(isliving(target)) - var/mob/living/living_target = target - check_heat(living_target) - living_target.add_mood_event("shower", /datum/mood_event/nice_shower) + if(!isliving(target)) + return + var/mob/living/living_target = target + check_heat(living_target) + living_target.add_mood_event("shower", /datum/mood_event/nice_shower) + living_target.apply_status_effect(/datum/status_effect/shower_regen) /** * Toggle whether shower is actually on and outputting water. diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 9268cb9c059ce..d3713ca1b2f68 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -12,7 +12,7 @@ var/buildable_sign = TRUE ///This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override. var/is_editable = FALSE - ///sign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on any sign item or structure which is_editable. + ///sign_change_name is used to make nice looking, alphabetized and categorized names when you use a pen on any sign item or structure which is_editable. var/sign_change_name ///Callback to the knock down proc for wallmounting behavior. var/knock_down_callback @@ -135,7 +135,7 @@ unwrenched_sign.setDir(dir) qdel(src) //The sign structure on the wall goes poof and only the sign item from unwrenching remains. -/obj/structure/sign/blank //This subtype is necessary for now because some other things (posters, picture frames, paintings) inheret from the parent type. +/obj/structure/sign/blank //This subtype is necessary for now because some other things (posters, picture frames, paintings) inherit from the parent type. icon_state = "backing" name = "sign backing" desc = "A plastic sign backing, use a pen to change the decal. It can be detached from the wall with a wrench." diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm index 743d76ef182b2..db4981aeac77a 100644 --- a/code/game/objects/structures/spawner.dm +++ b/code/game/objects/structures/spawner.dm @@ -53,7 +53,7 @@ to_chat(user, span_warning("[src] already has a holotag attached!")) return to_chat(user, span_notice("You affix a holotag to [src].")) - playsound(src, 'sound/machines/twobeep.ogg', 100) + playsound(src, 'sound/machines/beep/twobeep.ogg', 100) gps_tagged = TRUE assigned_tag = "\[[mob_gps_id]-[rand(100,999)]\] " + spawner_gps_id var/datum/component/gps/our_gps = GetComponent(/datum/component/gps) @@ -221,7 +221,7 @@ /obj/structure/spawner/nether/process(seconds_per_tick) for(var/mob/living/living_mob in contents) if(living_mob) - playsound(src, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(src, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) living_mob.adjustBruteLoss(60 * seconds_per_tick) new /obj/effect/gibspawner/generic(get_turf(living_mob), living_mob) if(living_mob.stat == DEAD) @@ -299,5 +299,5 @@ proteon.add_filter("sentient_proteon", 3, list("type" = "outline", "color" = COLOR_CULT_RED, "size" = 2, "alpha" = 40)) /obj/structure/spawner/sentient/proteon_spawner/handle_deconstruct(disassembled) - playsound('sound/hallucinations/veryfar_noise.ogg', 125) + playsound('sound/effects/hallucinations/veryfar_noise.ogg', 125) visible_message(span_cult_bold("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.")) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 8dc8d82ff5f7d..f6ea2cfe33b9c 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -55,6 +55,8 @@ AddElement(/datum/element/give_turf_traits, give_turf_traits) register_context() + ADD_TRAIT(src, TRAIT_COMBAT_MODE_SKIP_INTERACTION, INNATE_TRAIT) + ///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) @@ -224,36 +226,24 @@ deconstruct(TRUE) return ITEM_INTERACT_SUCCESS -/obj/structure/table/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) - if(istype(tool, /obj/item/construction/rcd)) - return NONE +// This extends base item interaction because tables default to blocking 99% of interactions +/obj/structure/table/base_item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = ..() + if(.) + return . - var/deck_act_value = NONE if(istype(tool, /obj/item/toy/cards/deck)) - deck_act_value = deck_act(user, tool, modifiers, TRUE) - // Continue to placing if we don't do anything else - if(deck_act_value != NONE) - return deck_act_value - - if(!user.combat_mode) - return table_place_act(user, tool, modifiers) - - return NONE - -/obj/structure/table/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - . = NONE + . = deck_act(user, tool, modifiers, !!LAZYACCESS(modifiers, RIGHT_CLICK)) if(istype(tool, /obj/item/storage/bag/tray)) . = tray_act(user, tool) - else if(istype(tool, /obj/item/toy/cards/deck)) - . = deck_act(user, tool, modifiers, FALSE) else if(istype(tool, /obj/item/riding_offhand)) . = riding_offhand_act(user, tool) // Continue to placing if we don't do anything else - if(. != NONE) + if(.) return . - if(!user.combat_mode) + if(!user.combat_mode || (tool.item_flags & NOBLUDGEON)) return table_place_act(user, tool, modifiers) return NONE @@ -319,8 +309,8 @@ // Items are centered by default, but we move them if click ICON_X and ICON_Y are available if(LAZYACCESS(modifiers, ICON_X) && LAZYACCESS(modifiers, ICON_Y)) // Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - tool.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size*0.5), world.icon_size*0.5) - tool.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size*0.5), world.icon_size*0.5) + tool.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X*0.5), ICON_SIZE_X*0.5) + tool.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y*0.5), ICON_SIZE_Y*0.5) AfterPutItemOnTable(tool, user) return ITEM_INTERACT_SUCCESS @@ -674,6 +664,9 @@ /obj/structure/table/reinforced/welder_act_secondary(mob/living/user, obj/item/tool) if(tool.tool_start_check(user, amount = 0)) + if(attempt_electrocution(user)) + return ITEM_INTERACT_BLOCKING + if(deconstruction_ready) to_chat(user, span_notice("You start strengthening the reinforced table...")) if (tool.use_tool(src, user, 50, volume = 50)) @@ -694,6 +687,40 @@ return ..() +/obj/structure/table/reinforced/screwdriver_act_secondary(mob/living/user, obj/item/tool) + if(deconstruction_ready && attempt_electrocution(user)) + return ITEM_INTERACT_BLOCKING + return ..() + +/obj/structure/table/reinforced/wrench_act_secondary(mob/living/user, obj/item/tool) + if(deconstruction_ready && attempt_electrocution(user)) + return ITEM_INTERACT_BLOCKING + return ..() + +/// Attempts to shock the user, given the table is hooked up and they're within range. +/// Returns TRUE on successful electrocution, FALSE otherwise. +/obj/structure/table/reinforced/proc/attempt_electrocution(mob/user) + if(!anchored) // If for whatever reason it's not anchored, it can't be shocked either. + return FALSE + if(!in_range(src, user)) // To prevent TK and mech users from getting shocked. + return FALSE + + var/turf/our_turf = get_turf(src) + if(our_turf.overfloor_placed) // Can't have a floor in the way. + return FALSE + + var/obj/structure/cable/cable_node = our_turf.get_cable_node() + if(isnull(cable_node)) + return FALSE + if(!electrocute_mob(user, cable_node, src, 1, TRUE)) + return FALSE + + var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread + sparks.set_up(3, TRUE, src) + sparks.start() + + return TRUE + /obj/structure/table/bronze name = "bronze table" desc = "A solid table made out of bronze." @@ -707,7 +734,7 @@ /obj/structure/table/bronze/tablepush(mob/living/user, mob/living/pushed_mob) ..() - playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 50, TRUE) + playsound(src, 'sound/effects/magic/clockwork/fellowship_armory.ogg', 50, TRUE) /obj/structure/table/reinforced/rglass name = "reinforced glass table" @@ -865,6 +892,7 @@ AddElement(/datum/element/climbable) AddElement(/datum/element/elevation, pixel_shift = 12) register_context() + ADD_TRAIT(src, TRAIT_COMBAT_MODE_SKIP_INTERACTION, INNATE_TRAIT) /obj/structure/rack/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) if(isnull(held_item)) @@ -892,8 +920,11 @@ deconstruct(TRUE) return ITEM_INTERACT_SUCCESS -/obj/structure/rack/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - if((tool.item_flags & ABSTRACT) || user.combat_mode) +/obj/structure/rack/base_item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = ..() + if(.) + return . + if((tool.item_flags & ABSTRACT) || (user.combat_mode && !(tool.item_flags & NOBLUDGEON))) return NONE if(user.transferItemToLoc(tool, drop_location(), silent = FALSE)) return ITEM_INTERACT_SUCCESS @@ -919,9 +950,9 @@ if(damage_amount) playsound(loc, 'sound/items/dodgeball.ogg', 80, TRUE) else - playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(loc, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(loc, 'sound/items/welder.ogg', 40, TRUE) + playsound(loc, 'sound/items/tools/welder.ogg', 40, TRUE) /* * Rack destruction @@ -982,8 +1013,7 @@ if(!user.temporarilyRemoveItemFromInventory(src)) return var/obj/structure/rack/R = new /obj/structure/rack(get_turf(src)) - user.visible_message("[user] assembles \a [R].\ - ", span_notice("You assemble \a [R].")) + user.visible_message(span_notice("[user] assembles \a [R]."), span_notice("You assemble \a [R].")) R.add_fingerprint(user) qdel(src) building = FALSE diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 2d16ea30a69e4..46c18d85b407f 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -71,7 +71,7 @@ oxygentanks++ else full = TRUE - else if(!user.combat_mode) + else if(!user.combat_mode || (I.item_flags & NOBLUDGEON)) balloon_alert(user, "can't insert!") return else diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm index c1963ea38a3ef..e0bb6357a8a22 100644 --- a/code/game/objects/structures/training_machine.dm +++ b/code/game/objects/structures/training_machine.dm @@ -209,7 +209,7 @@ moving = FALSE starting_turf = null say(message) - playsound(src,'sound/machines/synth_no.ogg',50,FALSE) + playsound(src,'sound/machines/synth/synth_no.ogg',50,FALSE) STOP_PROCESSING(SSfastprocess, src) /** @@ -221,7 +221,7 @@ moving = TRUE starting_turf = get_turf(src) say("Beginning training simulation.") - playsound(src,'sound/machines/triple_beep.ogg',50,FALSE) + playsound(src,'sound/machines/beep/triple_beep.ogg',50,FALSE) START_PROCESSING(SSfastprocess, src) /** @@ -285,7 +285,7 @@ do_attack_animation(target, null, attached_item) if (obj_flags & EMAGGED) target.apply_damage(attached_item.force, BRUTE, BODY_ZONE_CHEST, attacking_item = attached_item) - playsound(src, 'sound/weapons/smash.ogg', 15, TRUE) + playsound(src, 'sound/items/weapons/smash.ogg', 15, TRUE) COOLDOWN_START(src, attack_cooldown, rand(MIN_ATTACK_DELAY, MAX_ATTACK_DELAY)) /** @@ -390,9 +390,9 @@ return FALSE total_hits++ lap_hits++ - playsound(src,'sound/weapons/smash.ogg',50,FALSE) + playsound(src,'sound/items/weapons/smash.ogg',50,FALSE) if (lap_hits % HITS_TO_KILL == 0) - playsound(src,'sound/machines/twobeep.ogg',25,FALSE) + playsound(src,'sound/machines/beep/twobeep.ogg',25,FALSE) return TRUE /obj/item/training_toolbox/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 8fc1426c5f36d..39a62204fa5d0 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -251,7 +251,7 @@ return var/obj/structure/transit_tube_pod/dispensed/pod = new(loc) AM.visible_message(span_notice("[pod] forms around [AM]."), span_notice("[pod] materializes around you.")) - playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/emitter2.ogg', 50, TRUE) pod.setDir(turn(src.dir, -90)) AM.forceMove(pod) pod.update_appearance() diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 0cf5ddf7c9130..a30a59e45a2c1 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -6,7 +6,7 @@ density = FALSE anchored = TRUE alpha = 30 //initially quite hidden when not "recharging" - var/flare_message = "the trap flares brightly!" + var/flare_message = span_warning("the trap flares brightly!") var/last_trigger = 0 var/time_between_triggers = 1 MINUTES var/charges = INFINITY @@ -20,7 +20,7 @@ /obj/structure/trap/Initialize(mapload) . = ..() - flare_message = "[src] flares brightly!" + flare_message = span_warning("[src] flares brightly!") spark_system = new spark_system.set_up(4,1,src) spark_system.attach(src) @@ -113,7 +113,7 @@ /obj/structure/trap/stun/hunter/Initialize(mapload) . = ..() time_between_triggers = 1 SECONDS - flare_message = "[src] snaps shut!" + flare_message = span_warning("[src] snaps shut!") /obj/structure/trap/stun/hunter/Destroy() if(!QDELETED(stored_item)) diff --git a/code/game/objects/structures/votingbox.dm b/code/game/objects/structures/votingbox.dm index 42ccd62509304..55909978fe2f7 100644 --- a/code/game/objects/structures/votingbox.dm +++ b/code/game/objects/structures/votingbox.dm @@ -94,7 +94,7 @@ ui_interact(user) /obj/structure/votebox/proc/set_description(mob/user) - var/new_description = tgui_input_text(user, "Enter a new description", "Vote Description", vote_description, multiline = TRUE) + var/new_description = tgui_input_text(user, "Enter a new description", "Vote Description", vote_description, multiline = TRUE, max_length = MAX_DESC_LEN) if(new_description) vote_description = new_description diff --git a/code/game/objects/structures/water_structures/sink.dm b/code/game/objects/structures/water_structures/sink.dm index 878dab578a52e..1cd3f7d7aaa53 100644 --- a/code/game/objects/structures/water_structures/sink.dm +++ b/code/game/objects/structures/water_structures/sink.dm @@ -204,7 +204,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) if(O.item_flags & ABSTRACT) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. return - if(!user.combat_mode) + if(!user.combat_mode || (O.item_flags & NOBLUDGEON)) to_chat(user, span_notice("You start washing [O]...")) busy = TRUE if(!do_after(user, 4 SECONDS, target = src)) diff --git a/code/game/objects/structures/water_structures/toilet.dm b/code/game/objects/structures/water_structures/toilet.dm index 7237cd03c5045..986d7eae4ea05 100644 --- a/code/game/objects/structures/water_structures/toilet.dm +++ b/code/game/objects/structures/water_structures/toilet.dm @@ -25,13 +25,9 @@ var/list/cistern_items ///Lazylist of fish in the toilet, not to be mixed with the items in the cistern. Max of 3 var/list/fishes - ///Static toilet water overlay given to toilets that are facing a direction we can see the water in. - var/static/mutable_appearance/toilet_water_overlay /obj/structure/toilet/Initialize(mapload) . = ..() - if(isnull(toilet_water_overlay)) - toilet_water_overlay = mutable_appearance(icon, "[base_icon_state]-water") cover_open = round(rand(0, 1)) update_appearance(UPDATE_ICON) if(mapload && SSmapping.level_trait(z, ZTRAIT_STATION)) @@ -176,8 +172,8 @@ /obj/structure/toilet/update_overlays() . = ..() - if(!flushing && cover_open && (dir & SOUTH)) - . += toilet_water_overlay + if(!flushing && cover_open) + . += "[base_icon_state]-water" /obj/structure/toilet/atom_deconstruct(dissambled = TRUE) for(var/obj/toilet_item in cistern_items) diff --git a/code/game/objects/structures/water_structures/water_source.dm b/code/game/objects/structures/water_structures/water_source.dm index 9420156d91805..a59051f92dd50 100644 --- a/code/game/objects/structures/water_structures/water_source.dm +++ b/code/game/objects/structures/water_structures/water_source.dm @@ -114,7 +114,7 @@ attacking_item.use(1) return - if(!user.combat_mode) + if(!user.combat_mode || (attacking_item.item_flags & NOBLUDGEON)) to_chat(user, span_notice("You start washing [attacking_item]...")) busy = TRUE if(!do_after(user, 4 SECONDS, target = src)) diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 4c22cbf01b29d..4ff29eb606e8f 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -252,7 +252,7 @@ ae.forceMove(drop_location()) else if(IS_WRITING_UTENSIL(W)) - var/t = tgui_input_text(user, "Enter the name for the door", "Windoor Renaming", created_name, MAX_NAME_LEN) + var/t = tgui_input_text(user, "Enter the name for the door", "Windoor Renaming", created_name, max_length = MAX_NAME_LEN) if(!t) return if(!in_range(src, usr) && loc != usr) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index f2a90d98dc52d..5be22d5cb8632 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -28,9 +28,9 @@ var/glass_amount = 1 var/real_explosion_block //ignore this, just use explosion_block var/break_sound = SFX_SHATTER - var/knock_sound = 'sound/effects/glassknock.ogg' - var/bash_sound = 'sound/effects/glassbash.ogg' - var/hit_sound = 'sound/effects/glasshit.ogg' + var/knock_sound = 'sound/effects/glass/glassknock.ogg' + var/bash_sound = 'sound/effects/glass/glassbash.ogg' + var/hit_sound = 'sound/effects/glass/glasshit.ogg' /// If some inconsiderate jerk has had their blood spilled on this window, thus making it cleanable var/bloodied = FALSE ///Datum that the shard and debris type is pulled from for when the glass is broken. @@ -321,9 +321,9 @@ if(damage_amount) playsound(src, hit_sound, 75, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/window/atom_deconstruct(disassembled = TRUE) @@ -450,7 +450,7 @@ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, forceMove), loc), time_to_go + time_to_return) //we back boys addtimer(VARSET_CALLBACK(src, dramatically_disappearing, FALSE), time_to_go + time_to_return) //also set the var back addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), time_to_go + time_to_return) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), get_turf(src), 'sound/effects/glass_reverse.ogg', 70, TRUE), time_to_go + time_to_return) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), get_turf(src), 'sound/effects/glass/glass_reverse.ogg', 70, TRUE), time_to_go + time_to_return) var/obj/structure/grille/grill = take_grill ? (locate(/obj/structure/grille) in loc) : null if(grill) @@ -505,7 +505,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) switch(state) if(RWINDOW_SECURE) if(tool.tool_behaviour == TOOL_WELDER) - if(tool.tool_start_check(user)) + if(tool.tool_start_check(user, heat_required = HIGH_TEMPERATURE_REQUIRED)) user.visible_message(span_notice("[user] holds \the [tool] to the security screws on \the [src]..."), span_notice("You begin heating the security screws on \the [src]...")) if(tool.use_tool(src, user, 15 SECONDS, volume = 100)) @@ -899,9 +899,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw resistance_flags = FLAMMABLE armor_type = /datum/armor/none knock_sound = SFX_PAGE_TURN - bash_sound = 'sound/weapons/slashmiss.ogg' - break_sound = 'sound/items/poster_ripped.ogg' - hit_sound = 'sound/weapons/slashmiss.ogg' + bash_sound = 'sound/items/weapons/slashmiss.ogg' + break_sound = 'sound/items/poster/poster_ripped.ogg' + hit_sound = 'sound/items/weapons/slashmiss.ogg' var/static/mutable_appearance/torn = mutable_appearance('icons/obj/smooth_structures/structure_variations.dmi',icon_state = "paper-torn", layer = ABOVE_OBJ_LAYER - 0.1) var/static/mutable_appearance/paper = mutable_appearance('icons/obj/smooth_structures/structure_variations.dmi',icon_state = "paper-whole", layer = ABOVE_OBJ_LAYER - 0.1) diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 8ddae94231d31..52372448616c7 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -113,7 +113,7 @@ if(ENGINE_UNWRENCHED) to_chat(user, span_warning("The [src.name] needs to be wrenched to the floor!")) if(ENGINE_WRENCHED) - if(!tool.tool_start_check(user, amount=round(ENGINE_WELDTIME / 5))) + if(!tool.tool_start_check(user, amount=round(ENGINE_WELDTIME / 5), heat_required = HIGH_TEMPERATURE_REQUIRED)) return TRUE user.visible_message(span_notice("[user.name] starts to weld the [name] to the floor."), \ @@ -126,7 +126,7 @@ alter_engine_power(engine_power) if(ENGINE_WELDED) - if(!tool.tool_start_check(user, amount=round(ENGINE_WELDTIME / 5))) + if(!tool.tool_start_check(user, amount=round(ENGINE_WELDTIME / 5), heat_required = HIGH_TEMPERATURE_REQUIRED)) return TRUE user.visible_message(span_notice("[user.name] starts to cut the [name] free from the floor."), \ diff --git a/code/game/sound.dm b/code/game/sound.dm index 7fe081f4859e3..de8086e7794e7 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -43,6 +43,9 @@ if(isarea(source)) CRASH("playsound(): source is an area") + if(islist(soundin)) + CRASH("playsound(): soundin attempted to pass a list! Consider using pick()") + var/turf/turf_source = get_turf(source) if (!turf_source || !soundin || !vol) @@ -207,83 +210,83 @@ return soundin switch(soundin) if(SFX_SHATTER) - soundin = pick('sound/effects/glassbr1.ogg','sound/effects/glassbr2.ogg','sound/effects/glassbr3.ogg') + soundin = pick('sound/effects/glass/glassbr1.ogg','sound/effects/glass/glassbr2.ogg','sound/effects/glass/glassbr3.ogg') if(SFX_EXPLOSION) - soundin = pick('sound/effects/explosion1.ogg','sound/effects/explosion2.ogg') + soundin = pick('sound/effects/explosion/explosion1.ogg','sound/effects/explosion/explosion2.ogg') if(SFX_EXPLOSION_CREAKING) - soundin = pick('sound/effects/explosioncreak1.ogg', 'sound/effects/explosioncreak2.ogg') + soundin = pick('sound/effects/explosion/explosioncreak1.ogg', 'sound/effects/explosion/explosioncreak2.ogg') if(SFX_HULL_CREAKING) - soundin = pick('sound/effects/creak1.ogg', 'sound/effects/creak2.ogg', 'sound/effects/creak3.ogg') + soundin = pick('sound/effects/creak/creak1.ogg', 'sound/effects/creak/creak2.ogg', 'sound/effects/creak/creak3.ogg') if(SFX_SPARKS) - soundin = pick('sound/effects/sparks1.ogg','sound/effects/sparks2.ogg','sound/effects/sparks3.ogg','sound/effects/sparks4.ogg') + soundin = pick('sound/effects/sparks/sparks1.ogg','sound/effects/sparks/sparks2.ogg','sound/effects/sparks/sparks3.ogg','sound/effects/sparks/sparks4.ogg') if(SFX_RUSTLE) - soundin = pick('sound/effects/rustle1.ogg','sound/effects/rustle2.ogg','sound/effects/rustle3.ogg','sound/effects/rustle4.ogg','sound/effects/rustle5.ogg') + soundin = pick('sound/effects/rustle/rustle1.ogg','sound/effects/rustle/rustle2.ogg','sound/effects/rustle/rustle3.ogg','sound/effects/rustle/rustle4.ogg','sound/effects/rustle/rustle5.ogg') if(SFX_BODYFALL) - soundin = pick('sound/effects/bodyfall1.ogg','sound/effects/bodyfall2.ogg','sound/effects/bodyfall3.ogg','sound/effects/bodyfall4.ogg') + soundin = pick('sound/effects/bodyfall/bodyfall1.ogg','sound/effects/bodyfall/bodyfall2.ogg','sound/effects/bodyfall/bodyfall3.ogg','sound/effects/bodyfall/bodyfall4.ogg') if(SFX_PUNCH) - soundin = pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg') + soundin = pick('sound/items/weapons/punch1.ogg','sound/items/weapons/punch2.ogg','sound/items/weapons/punch3.ogg','sound/items/weapons/punch4.ogg') if(SFX_CLOWN_STEP) soundin = pick('sound/effects/footstep/clownstep1.ogg','sound/effects/footstep/clownstep2.ogg') if(SFX_SUIT_STEP) soundin = pick('sound/effects/suitstep1.ogg','sound/effects/suitstep2.ogg') if(SFX_SWING_HIT) - soundin = pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg') + soundin = pick('sound/items/weapons/genhit1.ogg', 'sound/items/weapons/genhit2.ogg', 'sound/items/weapons/genhit3.ogg') if(SFX_HISS) - soundin = pick('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') + soundin = pick('sound/mobs/non-humanoids/hiss/hiss1.ogg','sound/mobs/non-humanoids/hiss/hiss2.ogg','sound/mobs/non-humanoids/hiss/hiss3.ogg','sound/mobs/non-humanoids/hiss/hiss4.ogg') if(SFX_PAGE_TURN) - soundin = pick('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg') + soundin = pick('sound/effects/page_turn/pageturn1.ogg', 'sound/effects/page_turn/pageturn2.ogg','sound/effects/page_turn/pageturn3.ogg') if(SFX_RICOCHET) - soundin = pick( 'sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg','sound/weapons/effects/ric3.ogg','sound/weapons/effects/ric4.ogg','sound/weapons/effects/ric5.ogg') + soundin = pick( 'sound/items/weapons/effects/ric1.ogg', 'sound/items/weapons/effects/ric2.ogg','sound/items/weapons/effects/ric3.ogg','sound/items/weapons/effects/ric4.ogg','sound/items/weapons/effects/ric5.ogg') if(SFX_TERMINAL_TYPE) soundin = pick(list( - 'sound/machines/terminal_button01.ogg', - 'sound/machines/terminal_button02.ogg', - 'sound/machines/terminal_button03.ogg', - 'sound/machines/terminal_button04.ogg', - 'sound/machines/terminal_button05.ogg', - 'sound/machines/terminal_button06.ogg', - 'sound/machines/terminal_button07.ogg', - 'sound/machines/terminal_button08.ogg', + 'sound/machines/terminal/terminal_button01.ogg', + 'sound/machines/terminal/terminal_button02.ogg', + 'sound/machines/terminal/terminal_button03.ogg', + 'sound/machines/terminal/terminal_button04.ogg', + 'sound/machines/terminal/terminal_button05.ogg', + 'sound/machines/terminal/terminal_button06.ogg', + 'sound/machines/terminal/terminal_button07.ogg', + 'sound/machines/terminal/terminal_button08.ogg', )) if(SFX_DESECRATION) - soundin = pick('sound/misc/desecration-01.ogg', 'sound/misc/desecration-02.ogg', 'sound/misc/desecration-03.ogg') + soundin = pick('sound/effects/desecration/desecration-01.ogg', 'sound/effects/desecration/desecration-02.ogg', 'sound/effects/desecration/desecration-03.ogg') if(SFX_IM_HERE) - soundin = pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg') + soundin = pick('sound/effects/hallucinations/im_here1.ogg', 'sound/effects/hallucinations/im_here2.ogg') if(SFX_CAN_OPEN) - soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg') + soundin = pick('sound/effects/can/can_open1.ogg', 'sound/effects/can/can_open2.ogg', 'sound/effects/can/can_open3.ogg') if(SFX_BULLET_MISS) - soundin = pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg') + soundin = pick('sound/items/weapons/bulletflyby.ogg', 'sound/items/weapons/bulletflyby2.ogg', 'sound/items/weapons/bulletflyby3.ogg') if(SFX_REVOLVER_SPIN) - soundin = pick('sound/weapons/gun/revolver/spin1.ogg', 'sound/weapons/gun/revolver/spin2.ogg', 'sound/weapons/gun/revolver/spin3.ogg') + soundin = pick('sound/items/weapons/gun/revolver/spin1.ogg', 'sound/items/weapons/gun/revolver/spin2.ogg', 'sound/items/weapons/gun/revolver/spin3.ogg') if(SFX_LAW) soundin = pick(list( - 'sound/voice/beepsky/creep.ogg', - 'sound/voice/beepsky/god.ogg', - 'sound/voice/beepsky/iamthelaw.ogg', - 'sound/voice/beepsky/insult.ogg', - 'sound/voice/beepsky/radio.ogg', - 'sound/voice/beepsky/secureday.ogg', + 'sound/mobs/non-humanoids/beepsky/creep.ogg', + 'sound/mobs/non-humanoids/beepsky/god.ogg', + 'sound/mobs/non-humanoids/beepsky/iamthelaw.ogg', + 'sound/mobs/non-humanoids/beepsky/insult.ogg', + 'sound/mobs/non-humanoids/beepsky/radio.ogg', + 'sound/mobs/non-humanoids/beepsky/secureday.ogg', )) if(SFX_HONKBOT_E) soundin = pick(list( 'sound/effects/pray.ogg', - 'sound/effects/reee.ogg', - 'sound/items/AirHorn.ogg', - 'sound/items/AirHorn2.ogg', + 'sound/mobs/non-humanoids/frog/reee.ogg', + 'sound/items/airhorn/AirHorn.ogg', + 'sound/items/airhorn/AirHorn2.ogg', 'sound/items/bikehorn.ogg', 'sound/items/WEEOO1.ogg', - 'sound/machines/buzz-sigh.ogg', + 'sound/machines/buzz/buzz-sigh.ogg', 'sound/machines/ping.ogg', - 'sound/magic/Fireball.ogg', + 'sound/effects/magic/Fireball.ogg', 'sound/misc/sadtrombone.ogg', - 'sound/voice/beepsky/creep.ogg', - 'sound/voice/beepsky/iamthelaw.ogg', - 'sound/voice/hiss1.ogg', - 'sound/weapons/bladeslice.ogg', - 'sound/weapons/flashbang.ogg', + 'sound/mobs/non-humanoids/beepsky/creep.ogg', + 'sound/mobs/non-humanoids/beepsky/iamthelaw.ogg', + 'sound/mobs/non-humanoids/hiss/hiss1.ogg', + 'sound/items/weapons/bladeslice.ogg', + 'sound/items/weapons/flashbang.ogg', )) if(SFX_GOOSE) - soundin = pick('sound/creatures/goose1.ogg', 'sound/creatures/goose2.ogg', 'sound/creatures/goose3.ogg', 'sound/creatures/goose4.ogg') + soundin = pick('sound/mobs/non-humanoids/goose/goose1.ogg', 'sound/mobs/non-humanoids/goose/goose2.ogg', 'sound/mobs/non-humanoids/goose/goose3.ogg', 'sound/mobs/non-humanoids/goose/goose4.ogg') if(SFX_WARPSPEED) soundin = 'sound/runtime/hyperspace/hyperspace_begin.ogg' if(SFX_SM_CALM) @@ -431,49 +434,49 @@ 'sound/machines/sm/accent/delam/33.ogg', )) if(SFX_CRUNCHY_BUSH_WHACK) - soundin = pick('sound/effects/crunchybushwhack1.ogg', 'sound/effects/crunchybushwhack2.ogg', 'sound/effects/crunchybushwhack3.ogg') + soundin = pick('sound/effects/bush/crunchybushwhack1.ogg', 'sound/effects/bush/crunchybushwhack2.ogg', 'sound/effects/bush/crunchybushwhack3.ogg') if(SFX_TREE_CHOP) - soundin = pick('sound/effects/treechop1.ogg', 'sound/effects/treechop2.ogg', 'sound/effects/treechop3.ogg') + soundin = pick('sound/effects/treechop/treechop1.ogg', 'sound/effects/treechop/treechop2.ogg', 'sound/effects/treechop/treechop3.ogg') if(SFX_ROCK_TAP) - soundin = pick('sound/effects/rocktap1.ogg', 'sound/effects/rocktap2.ogg', 'sound/effects/rocktap3.ogg') + soundin = pick('sound/effects/rock/rocktap1.ogg', 'sound/effects/rock/rocktap2.ogg', 'sound/effects/rock/rocktap3.ogg') if(SFX_SEAR) - soundin = 'sound/weapons/sear.ogg' + soundin = 'sound/items/weapons/sear.ogg' if(SFX_REEL) soundin = pick( - 'sound/items/reel1.ogg', - 'sound/items/reel2.ogg', - 'sound/items/reel3.ogg', - 'sound/items/reel4.ogg', - 'sound/items/reel5.ogg', + 'sound/items/reel/reel1.ogg', + 'sound/items/reel/reel2.ogg', + 'sound/items/reel/reel3.ogg', + 'sound/items/reel/reel4.ogg', + 'sound/items/reel/reel5.ogg', ) if(SFX_RATTLE) soundin = pick( - 'sound/items/rattle1.ogg', - 'sound/items/rattle2.ogg', - 'sound/items/rattle3.ogg', + 'sound/items/rattle/rattle1.ogg', + 'sound/items/rattle/rattle2.ogg', + 'sound/items/rattle/rattle3.ogg', ) if(SFX_PORTAL_CLOSE) - soundin = 'sound/effects/portal_close.ogg' + soundin = 'sound/effects/portal/portal_close.ogg' if(SFX_PORTAL_ENTER) - soundin = 'sound/effects/portal_travel.ogg' + soundin = 'sound/effects/portal/portal_travel.ogg' if(SFX_PORTAL_CREATED) soundin = pick( - 'sound/effects/portal_open_1.ogg', - 'sound/effects/portal_open_2.ogg', - 'sound/effects/portal_open_3.ogg', + 'sound/effects/portal/portal_open_1.ogg', + 'sound/effects/portal/portal_open_2.ogg', + 'sound/effects/portal/portal_open_3.ogg', ) if(SFX_SCREECH) soundin = pick( - 'sound/creatures/monkey/monkey_screech_1.ogg', - 'sound/creatures/monkey/monkey_screech_2.ogg', - 'sound/creatures/monkey/monkey_screech_3.ogg', - 'sound/creatures/monkey/monkey_screech_4.ogg', - 'sound/creatures/monkey/monkey_screech_5.ogg', - 'sound/creatures/monkey/monkey_screech_6.ogg', - 'sound/creatures/monkey/monkey_screech_7.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_1.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_2.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_3.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_4.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_5.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_6.ogg', + 'sound/mobs/non-humanoids/monkey/monkey_screech_7.ogg', ) if(SFX_TOOL_SWITCH) - soundin = 'sound/items/handling/tool_switch.ogg' + soundin = 'sound/items/tools/tool_switch.ogg' if(SFX_KEYBOARD_CLICKS) soundin = pick( 'sound/machines/computer/keyboard_clicks_1.ogg', @@ -508,12 +511,32 @@ 'sound/effects/muffspeech/muffspeech9.ogg', ) if(SFX_DEFAULT_FISH_SLAP) - soundin = 'sound/creatures/fish/fish_slap1.ogg' + soundin = 'sound/mobs/non-humanoids/fish/fish_slap1.ogg' if(SFX_ALT_FISH_SLAP) - soundin = 'sound/creatures/fish/fish_slap2.ogg' + soundin = 'sound/mobs/non-humanoids/fish/fish_slap2.ogg' if(SFX_FISH_PICKUP) soundin = pick( - 'sound/creatures/fish/fish_pickup1.ogg', - 'sound/creatures/fish/fish_pickup2.ogg', + 'sound/mobs/non-humanoids/fish/fish_pickup1.ogg', + 'sound/mobs/non-humanoids/fish/fish_pickup2.ogg', + ) + if(SFX_LIQUID_POUR) + soundin = pick( + 'sound/effects/liquid_pour/liquid_pour1.ogg', + 'sound/effects/liquid_pour/liquid_pour2.ogg', + 'sound/effects/liquid_pour/liquid_pour3.ogg', + ) + if(SFX_CAT_MEOW) + soundin = pick_weight(list( + 'sound/creatures/cat/cat_meow1.ogg' = 33, + 'sound/creatures/cat/cat_meow2.ogg' = 33, + 'sound/creatures/cat/cat_meow3.ogg' = 33, + 'sound/creatures/cat/oranges_meow1.ogg' = 1, + )) + if(SFX_CAT_PURR) + soundin = pick( + 'sound/creatures/cat/cat_purr1.ogg', + 'sound/creatures/cat/cat_purr2.ogg', + 'sound/creatures/cat/cat_purr3.ogg', + 'sound/creatures/cat/cat_purr4.ogg', ) return soundin diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index 8ccaabc46c0af..cf287a6eb6d88 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -15,3 +15,6 @@ /turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE + +/turf/closed/examine_descriptor(mob/user) + return "wall" diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index 61c67ca6f4b81..b6882a5fc2779 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -76,7 +76,7 @@ if(COVER) if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=2)) + if(!W.tool_start_check(user, amount=2, heat_required = HIGH_TEMPERATURE_REQUIRED)) return to_chat(user, span_notice("You begin slicing through the metal cover...")) if(W.use_tool(src, user, 60, volume=100)) @@ -109,7 +109,7 @@ return TRUE if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=2)) + if(!W.tool_start_check(user, amount=2, heat_required = HIGH_TEMPERATURE_REQUIRED)) return to_chat(user, span_notice("You begin welding the metal cover back to the frame...")) if(W.use_tool(src, user, 60, volume=100)) @@ -143,7 +143,7 @@ if(SUPPORT_RODS) if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=2)) + if(!W.tool_start_check(user, amount=2, heat_required = HIGH_TEMPERATURE_REQUIRED)) return to_chat(user, span_notice("You begin slicing through the support rods...")) if(W.use_tool(src, user, 100, volume=100)) @@ -176,7 +176,7 @@ return TRUE if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) + if(!W.tool_start_check(user, amount=0, heat_required = HIGH_TEMPERATURE_REQUIRED)) return to_chat(user, span_notice("You begin welding the support rods back together...")) if(W.use_tool(src, user, 100, volume=100)) diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index a78579d713e9a..f1297e4a02258 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -117,7 +117,6 @@ GLOB.station_turfs -= src return ..() - /turf/closed/wall/examine(mob/user) . += ..() . += deconstruction_hints(user) @@ -132,7 +131,7 @@ if(devastated) devastate_wall() else - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) var/newgirder = break_wall() if(newgirder) //maybe we don't /want/ a girder! transfer_fingerprints_to(newgirder) @@ -235,26 +234,21 @@ return user.changeNext_move(CLICK_CD_MELEE) to_chat(user, span_notice("You push the wall but nothing happens!")) - playsound(src, 'sound/weapons/genhit.ogg', 25, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 25, TRUE) add_fingerprint(user) -/turf/closed/wall/attackby(obj/item/W, mob/user, params) - user.changeNext_move(CLICK_CD_MELEE) +/turf/closed/wall/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if (!ISADVANCEDTOOLUSER(user)) to_chat(user, span_warning("You don't have the dexterity to do this!")) - return - - //get the user's location - if(!isturf(user.loc)) - return //can't do this stuff whilst inside objects and such + return ITEM_INTERACT_BLOCKING add_fingerprint(user) //the istype cascade has been spread among various procs for easy overriding - if(try_clean(W, user) || try_wallmount(W, user) || try_decon(W, user)) - return + if(try_clean(tool, user) || try_wallmount(tool, user) || try_decon(tool, user)) + return ITEM_INTERACT_SUCCESS - return ..() + return NONE /turf/closed/wall/proc/try_clean(obj/item/W, mob/living/user) if((user.combat_mode) || !LAZYLEN(dent_decals)) @@ -290,7 +284,7 @@ /turf/closed/wall/proc/try_decon(obj/item/I, mob/user) if(I.tool_behaviour == TOOL_WELDER) - if(!I.tool_start_check(user, amount=round(slicing_duration / 50))) + if(!I.tool_start_check(user, amount=round(slicing_duration / 50), heat_required = HIGH_TEMPERATURE_REQUIRED)) return FALSE to_chat(user, span_notice("You begin slicing through the outer plating...")) diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index f9b374c88cb88..b62de34f14690 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -74,6 +74,9 @@ . += burnt_appearance +/turf/open/examine_descriptor(mob/user) + return "floor" + //direction is direction of travel of A /turf/open/zPassIn(direction) if(direction != DOWN) @@ -432,7 +435,7 @@ if(used_rods.use(1)) qdel(catwalk_bait) to_chat(user, span_notice("You construct a catwalk.")) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) new /obj/structure/lattice/catwalk(src) else to_chat(user, span_warning("You need two rods to build a catwalk!")) @@ -440,7 +443,7 @@ if(used_rods.use(1)) to_chat(user, span_notice("You construct a lattice.")) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) new /obj/structure/lattice(src) else to_chat(user, span_warning("You need one rod to build a lattice.")) @@ -456,7 +459,7 @@ balloon_alert(user, "need a floor tile to build!") return - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) var/turf/open/floor/plating/new_plating = place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) if(lattice) qdel(lattice) @@ -480,7 +483,7 @@ balloon_alert(user, "no tile!") return - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) new used_tiles.tile_type(src) /// Very similar to build_with_rods, this exists to allow building transport/tram girders on openspace @@ -493,5 +496,5 @@ balloon_alert(user, "not enough titanium!") return - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) new /obj/structure/girder/tram(src) diff --git a/code/game/turfs/open/chasm.dm b/code/game/turfs/open/chasm.dm index 504e876d536ce..f81ac4c7f536e 100644 --- a/code/game/turfs/open/chasm.dm +++ b/code/game/turfs/open/chasm.dm @@ -65,7 +65,7 @@ to_chat(user, span_warning("You need one rod to build a lattice.")) return to_chat(user, span_notice("You construct a lattice.")) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) // Create a lattice, without reverting to our baseturf new /obj/structure/lattice(src) return diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 84b9ac26e9b8d..dad46fd8de6b6 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -14,8 +14,8 @@ smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR canSmoothWith = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR - thermal_conductivity = 0.04 - heat_capacity = 10000 + thermal_conductivity = 0.02 + heat_capacity = 20000 tiled_dirt = TRUE diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index 6e4834773c325..9c7cf01576178 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -148,10 +148,10 @@ if(L) qdel(L) to_chat(user, span_notice("You reinforce the foamed plating with tiling.")) - playsound(src, 'sound/weapons/Genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/Genhit.ogg', 50, TRUE) ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) else - playsound(src, 'sound/weapons/tap.ogg', 100, TRUE) //The attack sound is muffled by the foam itself + playsound(src, 'sound/items/weapons/tap.ogg', 100, TRUE) //The attack sound is muffled by the foam itself user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) if(prob(I.force * 20 - 25)) diff --git a/code/game/turfs/open/floor/reinforced_floor.dm b/code/game/turfs/open/floor/reinforced_floor.dm index 0a44c78ceca5e..dcba9ed36673a 100644 --- a/code/game/turfs/open/floor/reinforced_floor.dm +++ b/code/game/turfs/open/floor/reinforced_floor.dm @@ -4,7 +4,7 @@ desc = "Extremely sturdy." icon_state = "engine" holodeck_compatible = TRUE - thermal_conductivity = 0.025 + thermal_conductivity = 0.01 heat_capacity = INFINITY floor_tile = /obj/item/stack/rods footstep = FOOTSTEP_PLATING diff --git a/code/game/turfs/open/ice.dm b/code/game/turfs/open/ice.dm index dbfff2efc8f91..f28bc8dd4b052 100644 --- a/code/game/turfs/open/ice.dm +++ b/code/game/turfs/open/ice.dm @@ -53,6 +53,7 @@ return NONE balloon_alert(user, "dug hole") AddComponent(/datum/component/fishing_spot, GLOB.preset_fish_sources[/datum/fish_source/ice_fishing]) + ADD_TRAIT(src, TRAIT_CATCH_AND_RELEASE, INNATE_TRAIT) add_overlay(mutable_appearance('icons/turf/overlays.dmi', "ice_hole")) can_make_hole = FALSE RemoveElement(/datum/element/contextual_screentip_tools, tool_screentips) diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index 23e2b6b38db84..eebb74b72897b 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -16,7 +16,7 @@ light_power = 0.75 light_color = LIGHT_COLOR_LAVA light_on = FALSE - bullet_bounce_sound = 'sound/items/welder2.ogg' + bullet_bounce_sound = 'sound/items/tools/welder2.ogg' footstep = FOOTSTEP_LAVA barefootstep = FOOTSTEP_LAVA @@ -48,6 +48,8 @@ . = ..() if(fish_source_type) AddElement(/datum/element/lazy_fishing_spot, fish_source_type) + // You can release chrabs and lavaloops and likes in lava, or be an absolute scumbag and drop other fish there too. + ADD_TRAIT(src, TRAIT_CATCH_AND_RELEASE, INNATE_TRAIT) refresh_light() if(!smoothing_flags) update_appearance() @@ -199,7 +201,7 @@ return if(R.use(1)) to_chat(user, span_notice("You construct a lattice.")) - playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE) new /obj/structure/lattice/lava(locate(x, y, z)) else to_chat(user, span_warning("You need one rod to build a heatproof lattice.")) diff --git a/code/game/turfs/open/misc.dm b/code/game/turfs/open/misc.dm index 5c5987f656e23..f00e6ed6ded6e 100644 --- a/code/game/turfs/open/misc.dm +++ b/code/game/turfs/open/misc.dm @@ -17,8 +17,8 @@ smoothing_groups = SMOOTH_GROUP_TURF_OPEN canSmoothWith = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR - thermal_conductivity = 0.04 - heat_capacity = 10000 + thermal_conductivity = 0.02 + heat_capacity = 20000 tiled_dirt = TRUE /turf/open/misc/attackby(obj/item/W, mob/user, params) diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm index de895754d03ae..835d29089181b 100644 --- a/code/game/turfs/open/water.dm +++ b/code/game/turfs/open/water.dm @@ -1,4 +1,5 @@ /turf/open/water + name = "water" gender = PLURAL desc = "Shallow water." icon = 'icons/turf/floors.dmi' @@ -29,6 +30,7 @@ AddElement(/datum/element/watery_tile) if(!isnull(fishing_datum)) AddElement(/datum/element/lazy_fishing_spot, fishing_datum) + ADD_TRAIT(src, TRAIT_CATCH_AND_RELEASE, INNATE_TRAIT) /turf/open/water/jungle diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index b0493ce0a8ad4..5c2dcbe34d6bb 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -32,7 +32,7 @@ GLOBAL_LIST_EMPTY(station_turfs) var/temperature = T20C ///Used for fire, if a melting temperature was reached, it will be destroyed var/to_be_destroyed = 0 - ///The max temperature of the fire which it was subjected to + ///The max temperature of the fire which it was subjected to, determines the melting point of turf var/max_fire_temperature_sustained = 0 var/blocks_air = FALSE @@ -47,7 +47,7 @@ GLOBAL_LIST_EMPTY(station_turfs) var/requires_activation //add to air processing after initialize? var/changing_turf = FALSE - var/bullet_bounce_sound = 'sound/weapons/gun/general/mag_bullet_remove.ogg' //sound played when a shell casing is ejected ontop of the turf. + var/bullet_bounce_sound = 'sound/items/weapons/gun/general/mag_bullet_remove.ogg' //sound played when a shell casing is ejected ontop of the turf. var/bullet_sizzle = FALSE //used by ammo_casing/bounce_away() to determine if the shell casing should make a sizzle sound when it's ejected over the turf //IE if the turf is supposed to be water, set TRUE. @@ -231,7 +231,7 @@ GLOBAL_LIST_EMPTY(station_turfs) /// Call to move a turf from its current area to a new one /turf/proc/change_area(area/old_area, area/new_area) - //dont waste our time + //don't waste our time if(old_area == new_area) return @@ -270,14 +270,14 @@ GLOBAL_LIST_EMPTY(station_turfs) * * type_list - are we checking for types of atoms to ignore and not physical atoms */ /turf/proc/is_blocked_turf(exclude_mobs = FALSE, source_atom = null, list/ignore_atoms, type_list = FALSE) - if(density) + if((!isnull(source_atom) && !CanPass(source_atom, get_dir(src, source_atom))) || density) return TRUE for(var/atom/movable/movable_content as anything in contents) // We don't want to block ourselves if((movable_content == source_atom)) continue - // dont consider ignored atoms or their types + // don't consider ignored atoms or their types if(length(ignore_atoms)) if(!type_list && (movable_content in ignore_atoms)) continue @@ -306,7 +306,7 @@ GLOBAL_LIST_EMPTY(station_turfs) return TRUE return FALSE -//The zpass procs exist to be overriden, not directly called +//The zpass procs exist to be overridden, not directly called //use can_z_pass for that ///If we'd allow anything to travel into us /turf/proc/zPassIn(direction) @@ -426,7 +426,7 @@ GLOBAL_LIST_EMPTY(station_turfs) if(thing == mover || thing == mover_loc) // Multi tile objects and moving out of other objects continue if(!thing.Cross(mover)) - if(QDELETED(mover)) //deleted from Cross() (CanPass is pure so it cant delete, Cross shouldnt be doing this either though, but it can happen) + if(QDELETED(mover)) //deleted from Cross() (CanPass is pure so it can't delete, Cross shouldn't be doing this either though, but it can happen) return FALSE if(mover_is_phasing) mover.Bump(thing) diff --git a/code/game/world.dm b/code/game/world.dm index 765aa7c18ef5d..184b13be6427f 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -399,10 +399,10 @@ GLOBAL_VAR(tracy_log) new_status += " | Shuttle: [SSshuttle.emergency.getModeStr()] [SSshuttle.emergency.getTimerStr()]" else if(SSticker.current_state == GAME_STATE_FINISHED) new_status += "
RESTARTING" - if(SSmapping.config) - new_status += "
Map: [SSmapping.config.map_path == CUSTOM_MAP_PATH ? "Uncharted Territory" : SSmapping.config.map_name]" - if(SSmapping.next_map_config) - new_status += "[SSmapping.config ? " | " : "
"]Next: [SSmapping.next_map_config.map_path == CUSTOM_MAP_PATH ? "Uncharted Territory" : SSmapping.next_map_config.map_name]" + if(SSmapping.current_map) + new_status += "
Map: [SSmapping.current_map.map_path == CUSTOM_MAP_PATH ? "Uncharted Territory" : SSmapping.current_map.map_name]" + if(SSmap_vote.next_map_config) + new_status += "[SSmapping.current_map ? " | " : "
"]Next: [SSmap_vote.next_map_config.map_path == CUSTOM_MAP_PATH ? "Uncharted Territory" : SSmap_vote.next_map_config.map_name]" status = new_status diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 68096367ef80b..1510783fc7cb8 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -320,7 +320,7 @@ ADMIN_VERB(give_mob_action, R_FUN, "Give Mob Action", ADMIN_VERB_NO_DESCRIPTION, if(isnull(ability_melee_cooldown) || ability_melee_cooldown < 0) ability_melee_cooldown = 2 add_ability.melee_cooldown_time = ability_melee_cooldown * 1 SECONDS - add_ability.name = tgui_input_text(user, "Choose ability name", "Ability name", "Generic Ability") + add_ability.name = tgui_input_text(user, "Choose ability name", "Ability name", "Generic Ability", max_length = MAX_NAME_LEN) add_ability.create_sequence_actions() else add_ability = new ability_type(ability_recipient) @@ -523,7 +523,7 @@ ADMIN_VERB(spawn_debug_full_crew, R_DEBUG, "Spawn Debug Full Crew", "Creates a f // Then, spawn a human and slap a person into it. var/number_made = 0 for(var/rank in SSjob.name_occupations) - var/datum/job/job = SSjob.GetJob(rank) + var/datum/job/job = SSjob.get_job(rank) // JOB_CREW_MEMBER is all jobs that pretty much aren't silicon if(!(job.job_flags & JOB_CREW_MEMBER)) @@ -535,7 +535,7 @@ ADMIN_VERB(spawn_debug_full_crew, R_DEBUG, "Spawn Debug Full Crew", "Creates a f new_guy.mind.name = "[rank] Dummy" // Assign the rank to the new player dummy. - if(!SSjob.AssignRole(new_guy, job, do_eligibility_checks = FALSE)) + if(!SSjob.assign_role(new_guy, job, do_eligibility_checks = FALSE)) qdel(new_guy) to_chat(user, "[rank] wasn't able to be spawned.") continue @@ -547,7 +547,7 @@ ADMIN_VERB(spawn_debug_full_crew, R_DEBUG, "Spawn Debug Full Crew", "Creates a f qdel(new_guy) // Then equip up the human with job gear. - SSjob.EquipRank(character, job) + SSjob.equip_rank(character, job) job.after_latejoin_spawn(character) // Finally, ensure the minds are tracked and in the manifest. diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index ca7b45649d159..e348321326473 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -77,16 +77,16 @@ GLOBAL_VAR(antag_prototypes) /datum/mind/proc/get_special_statuses() var/list/result = LAZYCOPY(special_statuses) if(!current) - result += "No body!" + result += span_bad("No body!") if(current && HAS_TRAIT(current, TRAIT_MINDSHIELD)) - result += "Mindshielded" + result += span_good("Mindshielded") if(current && HAS_MIND_TRAIT(current, TRAIT_UNCONVERTABLE)) - result += "Unconvertable" + result += span_good("Unconvertable") //Move these to mob if(iscyborg(current)) var/mob/living/silicon/robot/robot = current if (robot.emagged) - result += "Emagged" + result += span_bad("Emagged") return result.Join(" | ") /datum/mind/proc/traitor_panel() @@ -154,7 +154,7 @@ GLOBAL_VAR(antag_prototypes) continue else //Show removal and current one priority_sections |= antag_category - antag_header_parts += "[current_antag.name]" + antag_header_parts += span_bad("[current_antag.name]") antag_header_parts += "Remove" antag_header_parts += "Open VV" diff --git a/code/modules/admin/outfit_editor.dm b/code/modules/admin/outfit_editor.dm index 67196c54bd434..a3bd433f52e40 100644 --- a/code/modules/admin/outfit_editor.dm +++ b/code/modules/admin/outfit_editor.dm @@ -100,7 +100,7 @@ drip.vars[slot] = null if("rename") - var/newname = tgui_input_text(owner, "What do you want to name this outfit?", OUTFIT_EDITOR_NAME) + var/newname = tgui_input_text(owner, "What do you want to name this outfit?", OUTFIT_EDITOR_NAME, max_length = MAX_NAME_LEN) if(newname) drip.name = newname if("save") diff --git a/code/modules/admin/painting_manager.dm b/code/modules/admin/painting_manager.dm index 7a8bd7127a4d3..5ebcdef005904 100644 --- a/code/modules/admin/painting_manager.dm +++ b/code/modules/admin/painting_manager.dm @@ -55,7 +55,7 @@ ADMIN_VERB(painting_manager, R_ADMIN, "Paintings Manager", "View and redact pain if("rename") //Modify the metadata var/old_title = chosen_painting.title - var/new_title = tgui_input_text(user, "New painting title?", "Painting Rename", chosen_painting.title) + var/new_title = tgui_input_text(user, "New painting title?", "Painting Rename", chosen_painting.title, max_length = MAX_NAME_LEN) if(!new_title) return chosen_painting.title = new_title @@ -63,7 +63,7 @@ ADMIN_VERB(painting_manager, R_ADMIN, "Paintings Manager", "View and redact pain return TRUE if("rename_author") var/old_name = chosen_painting.creator_name - var/new_name = tgui_input_text(user, "New painting author name?", "Painting Rename", chosen_painting.creator_name) + var/new_name = tgui_input_text(user, "New painting author name?", "Painting Rename", chosen_painting.creator_name, max_length = MAX_NAME_LEN) if(!new_name) return chosen_painting.creator_name = new_name @@ -83,7 +83,7 @@ ADMIN_VERB(painting_manager, R_ADMIN, "Paintings Manager", "View and redact pain log_admin("[key_name(user)] has removed tag [params["tag"]] from persistent painting made by [chosen_painting.creator_ckey] with id [chosen_painting.md5].") return TRUE if("add_tag") - var/tag_name = tgui_input_text(user, "New tag name?", "Add Tag") + var/tag_name = tgui_input_text(user, "New tag name?", "Add Tag", max_length = MAX_NAME_LEN) if(!tag_name) return if(!chosen_painting.tags) diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index e508a10473927..296b6fd2dd86f 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -222,7 +222,7 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm . = ckey(admin_key) if(!.) return FALSE - if(!admin_ckey && (. in GLOB.admin_datums+GLOB.deadmins)) + if(!admin_ckey && (. in (GLOB.admin_datums+GLOB.deadmins))) to_chat(usr, span_danger("[admin_key] is already an admin."), confidential = TRUE) return FALSE if(use_db) diff --git a/code/modules/admin/smites/dock_pay.dm b/code/modules/admin/smites/dock_pay.dm index 0ce91bbd4b701..a3828feb828dc 100644 --- a/code/modules/admin/smites/dock_pay.dm +++ b/code/modules/admin/smites/dock_pay.dm @@ -28,4 +28,4 @@ else card.registered_account.account_balance = card.registered_account.account_balance - new_cost card.registered_account.bank_card_talk("[new_cost] credits deducted from your account based on performance review.") - SEND_SOUND(target, 'sound/machines/buzz-sigh.ogg') + SEND_SOUND(target, 'sound/machines/buzz/buzz-sigh.ogg') diff --git a/code/modules/admin/smites/imaginary_friend_special.dm b/code/modules/admin/smites/imaginary_friend_special.dm index e670e26fd1fa4..37425faf3b1c8 100644 --- a/code/modules/admin/smites/imaginary_friend_special.dm +++ b/code/modules/admin/smites/imaginary_friend_special.dm @@ -1,6 +1,8 @@ #define CHOICE_RANDOM_APPEARANCE "Random" #define CHOICE_PREFS_APPEARANCE "Look-a-like" +#define CHOICE_PICK_PLAYER "Pick player" #define CHOICE_POLL_GHOSTS "Offer to ghosts" +#define CHOICE_END_THEM "Do it!" #define CHOICE_CANCEL "Cancel" /** @@ -15,10 +17,12 @@ **/ /datum/smite/custom_imaginary_friend name = "Imaginary Friend (Special)" - /// Who are we going to add to your head today? - var/list/friend_candidates /// Do we randomise friend appearances or not? var/random_appearance + /// Are we polling for ghosts + var/ghost_polling + /// How many imaginary friends should be added when polling + var/polled_friend_count /datum/smite/custom_imaginary_friend/configure(client/user) var/appearance_choice = tgui_alert(user, @@ -29,69 +33,99 @@ return FALSE random_appearance = appearance_choice == CHOICE_RANDOM_APPEARANCE - var/picked_client = tgui_input_list(user, "Pick the player to put in control", "New Imaginary Friend", list(CHOICE_POLL_GHOSTS) + sort_list(GLOB.clients)) - if(isnull(picked_client)) - return FALSE - - if(picked_client == CHOICE_POLL_GHOSTS) - return poll_ghosts(user) - - var/client/friend_candidate_client = picked_client - if(QDELETED(friend_candidate_client)) - to_chat(user, span_warning("Selected player no longer has a client, aborting.")) - return FALSE + var/client_selection_choice = tgui_alert(user, + "Do you want to pick a specific player, or poll for ghosts?", + "Imaginary Friend Selection?", + list(CHOICE_PICK_PLAYER, CHOICE_POLL_GHOSTS, CHOICE_CANCEL)) - if(isliving(friend_candidate_client.mob) && (tgui_alert(user, "This player already has a living mob ([friend_candidate_client.mob]). Do you still want to turn them into an Imaginary Friend?", "Remove player from mob?", list("Do it!", "Cancel")) != "Do it!")) + if(isnull(client_selection_choice) || client_selection_choice == CHOICE_CANCEL) return FALSE + ghost_polling = client_selection_choice == CHOICE_POLL_GHOSTS - if(QDELETED(friend_candidate_client)) - to_chat(user, span_warning("Selected player no longer has a client, aborting.")) - return FALSE + if(ghost_polling) + var/how_many = tgui_input_number(user, "How many imaginary friends should be added?", "Imaginary friend count", default = 1, min_value = 1) + if(isnull(how_many) || how_many < 1) + return FALSE + polled_friend_count = how_many - friend_candidates = list(friend_candidate_client) return TRUE -/// Try to offer the role to ghosts -/datum/smite/custom_imaginary_friend/proc/poll_ghosts(client/user) - var/how_many = tgui_input_number(user, "How many imaginary friends should be added?", "Imaginary friend count", default = 1, min_value = 1) - if (isnull(how_many) || how_many < 1) - return FALSE +/// Try to offer the role to ghosts +/datum/smite/custom_imaginary_friend/proc/poll_ghosts(client/user, mob/living/target) var/list/volunteers = SSpolling.poll_ghost_candidates( check_jobban = ROLE_PAI, poll_time = 10 SECONDS, ignore_category = POLL_IGNORE_IMAGINARYFRIEND, - role_name_text = "imaginary friend", + jump_target = target, + role_name_text = "an imaginary friend for [target.real_name]", ) var/volunteer_count = length(volunteers) - if (volunteer_count == 0) + if(volunteer_count == 0) to_chat(user, span_warning("No candidates volunteered, aborting.")) - return FALSE + return shuffle_inplace(volunteers) - friend_candidates = list() - while (how_many > 0 && length(volunteers) > 0) + var/list/friend_candidates = list() + while(polled_friend_count > 0 && length(volunteers) > 0) var/mob/dead/observer/lucky_ghost = pop(volunteers) if (!lucky_ghost.client) continue - how_many-- + polled_friend_count-- friend_candidates += lucky_ghost.client - return TRUE + return friend_candidates + +/// Pick client manually +/datum/smite/custom_imaginary_friend/proc/pick_client(client/user) + var/picked_client = tgui_input_list(user, "Pick the player to put in control", "New Imaginary Friend", sort_list(GLOB.clients)) + if(isnull(picked_client)) + return + + var/client/friend_candidate_client = picked_client + if(QDELETED(friend_candidate_client)) + to_chat(user, span_warning("Selected player no longer has a client, aborting.")) + return + + if(isliving(friend_candidate_client.mob)) + var/end_them_choice = tgui_alert(user, + "This player already has a living mob ([friend_candidate_client.mob]). Do you still want to turn them into an Imaginary Friend?", + "Remove player from mob?", + list(CHOICE_END_THEM, CHOICE_CANCEL)) + if(end_them_choice == CHOICE_CANCEL) + return + + if(QDELETED(friend_candidate_client)) + to_chat(user, span_warning("Selected player no longer has a client, aborting.")) + return + + return list(friend_candidate_client) + /datum/smite/custom_imaginary_friend/effect(client/user, mob/living/target) . = ..() + // Run this check before and after polling, we don't wanna poll for something which already stopped existing + if(QDELETED(target)) + to_chat(user, span_warning("The target mob no longer exists, aborting.")) + return + + var/list/friend_candidates + if(ghost_polling) + friend_candidates = poll_ghosts(user, target) + else + friend_candidates = pick_client(user) + if(QDELETED(target)) to_chat(user, span_warning("The target mob no longer exists, aborting.")) return - if(!length(friend_candidates)) + if(isnull(friend_candidates) || !length(friend_candidates)) to_chat(user, span_warning("No provided imaginary friend candidates, aborting.")) return var/list/final_clients = list() - for (var/client/client as anything in friend_candidates) - if (QDELETED(client)) + for(var/client/client as anything in friend_candidates) + if(QDELETED(client)) continue final_clients += client @@ -99,7 +133,7 @@ to_chat(user, span_warning("No provided imaginary friend candidates had clients, aborting.")) return - for (var/client/friend_candidate_client as anything in final_clients) + for(var/client/friend_candidate_client as anything in final_clients) var/mob/client_mob = friend_candidate_client.mob if(isliving(client_mob)) client_mob.ghostize() @@ -114,5 +148,7 @@ #undef CHOICE_RANDOM_APPEARANCE #undef CHOICE_PREFS_APPEARANCE +#undef CHOICE_PICK_PLAYER #undef CHOICE_POLL_GHOSTS +#undef CHOICE_END_THEM #undef CHOICE_CANCEL diff --git a/code/modules/admin/smites/immerse.dm b/code/modules/admin/smites/immerse.dm index fd330868e9940..9cdd8aca95ec8 100644 --- a/code/modules/admin/smites/immerse.dm +++ b/code/modules/admin/smites/immerse.dm @@ -5,5 +5,5 @@ /datum/smite/immerse/effect(client/user, mob/living/target) . = ..() immerse_player(target) - SEND_SOUND(target, sound('sound/voice/roleplay.ogg')) + SEND_SOUND(target, sound('sound/misc/roleplay.ogg')) to_chat(target, span_boldnotice("Please roleplay appropriately, okay?")) diff --git a/code/modules/admin/smites/lightning.dm b/code/modules/admin/smites/lightning.dm index 660af779f9b5c..6ffd8eb58695c 100644 --- a/code/modules/admin/smites/lightning.dm +++ b/code/modules/admin/smites/lightning.dm @@ -12,7 +12,7 @@ var/turf/lightning_source = get_step(get_step(user, NORTH), NORTH) lightning_source.Beam(user, icon_state="lightning[rand(1,12)]", time = 5) user.adjustFireLoss(LIGHTNING_BOLT_DAMAGE) - playsound(get_turf(user), 'sound/magic/lightningbolt.ogg', 50, TRUE) + playsound(get_turf(user), 'sound/effects/magic/lightningbolt.ogg', 50, TRUE) if(ishuman(user)) var/mob/living/carbon/human/human_target = user human_target.electrocution_animation(LIGHTNING_BOLT_ELECTROCUTION_ANIMATION_LENGTH) diff --git a/code/modules/admin/smites/nugget.dm b/code/modules/admin/smites/nugget.dm index 4525f674f2c0d..18e5254e615f5 100644 --- a/code/modules/admin/smites/nugget.dm +++ b/code/modules/admin/smites/nugget.dm @@ -16,6 +16,6 @@ if (limb.body_part == HEAD || limb.body_part == CHEST) continue addtimer(CALLBACK(limb, TYPE_PROC_REF(/obj/item/bodypart/, dismember)), timer) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), carbon_target, 'sound/effects/cartoon_pop.ogg', 70), timer) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), carbon_target, 'sound/effects/cartoon_sfx/cartoon_pop.ogg', 70), timer) addtimer(CALLBACK(carbon_target, TYPE_PROC_REF(/mob/living/, spin), 4, 1), timer - 0.4 SECONDS) timer += 2 SECONDS diff --git a/code/modules/admin/sound_emitter.dm b/code/modules/admin/sound_emitter.dm index d697537c6df5f..c68baa32e4ea1 100644 --- a/code/modules/admin/sound_emitter.dm +++ b/code/modules/admin/sound_emitter.dm @@ -81,7 +81,7 @@ return var/mob/user = usr if(href_list["edit_label"]) - var/new_label = tgui_input_text(user, "Choose a new label", "Sound Emitter") + var/new_label = tgui_input_text(user, "Choose a new label", "Sound Emitter", max_length = MAX_NAME_LEN) if(!new_label) return maptext = MAPTEXT(new_label) diff --git a/code/modules/admin/verbs/admin.dm b/code/modules/admin/verbs/admin.dm index 88ee5148f7a3c..edd362938af58 100644 --- a/code/modules/admin/verbs/admin.dm +++ b/code/modules/admin/verbs/admin.dm @@ -32,7 +32,7 @@ ADMIN_VERB(unprison, R_ADMIN, "UnPrison", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEG tgui_alert(user, "[prisoner.name] is not prisoned.") return - SSjob.SendToLateJoin(prisoner) + SSjob.send_to_late_join(prisoner) message_admins("[key_name_admin(user)] has unprisoned [key_name_admin(prisoner)]") log_admin("[key_name(user)] has unprisoned [key_name(prisoner)]") BLACKBOX_LOG_ADMIN_VERB("Unprison") diff --git a/code/modules/admin/verbs/admin_newscaster.dm b/code/modules/admin/verbs/admin_newscaster.dm index 4cb7b5c3344e2..b1be5560d69d9 100644 --- a/code/modules/admin/verbs/admin_newscaster.dm +++ b/code/modules/admin/verbs/admin_newscaster.dm @@ -234,14 +234,14 @@ ADMIN_VERB(access_news_network, R_ADMIN, "Access Newscaster Network", "Allows yo return TRUE if("setCriminalName") - var/temp_name = tgui_input_text(usr, "Write the Criminal's Name", "Warrent Alert Handler", "John Doe", MAX_NAME_LEN, multiline = FALSE) + var/temp_name = tgui_input_text(usr, "Write the Criminal's Name", "Warrent Alert Handler", "John Doe", max_length = MAX_NAME_LEN, multiline = FALSE) if(!temp_name) return TRUE criminal_name = temp_name return TRUE if("setCrimeData") - var/temp_desc = tgui_input_text(usr, "Write the Criminal's Crimes", "Warrent Alert Handler", "Unknown", MAX_BROADCAST_LEN, multiline = TRUE) + var/temp_desc = tgui_input_text(usr, "Write the Criminal's Crimes", "Warrent Alert Handler", "Unknown", max_length = MAX_BROADCAST_LEN, multiline = TRUE) if(!temp_desc) return TRUE crime_description = temp_desc @@ -339,7 +339,7 @@ ADMIN_VERB(access_news_network, R_ADMIN, "Access Newscaster Network", "Allows yo if(channel_name == potential_channel.channel_ID) current_channel = potential_channel break - var/temp_message = tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", feed_channel_message, multiline = TRUE) + var/temp_message = tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", feed_channel_message, max_length = MAX_BROADCAST_LEN, multiline = TRUE) if(length(temp_message) <= 1) return TRUE if(temp_message) diff --git a/code/modules/admin/verbs/adminevents.dm b/code/modules/admin/verbs/adminevents.dm index 214cf653d4e1f..b3c61e8e787f2 100644 --- a/code/modules/admin/verbs/adminevents.dm +++ b/code/modules/admin/verbs/adminevents.dm @@ -168,7 +168,7 @@ ADMIN_VERB(disable_shuttle, R_ADMIN, "Disable Shuttle", "Those fuckers aren't ge priority_announce( text = "Emergency Shuttle uplink failure, shuttle disabled until further notice.", title = "Uplink Failure", - sound = 'sound/misc/announce_dig.ogg', + sound = 'sound/announcer/announcement/announce_dig.ogg', sender_override = "Emergency Shuttle Uplink Alert", color_override = "grey", ) @@ -194,7 +194,7 @@ ADMIN_VERB(enable_shuttle, R_ADMIN, "Enable Shuttle", "Those fuckers ARE getting priority_announce( text = "Emergency Shuttle uplink reestablished, shuttle enabled.", title = "Uplink Restored", - sound = 'sound/misc/announce_dig.ogg', + sound = 'sound/announcer/announcement/announce_dig.ogg', sender_override = "Emergency Shuttle Uplink Alert", color_override = "green", ) @@ -269,13 +269,21 @@ ADMIN_VERB(command_report_footnote, R_ADMIN, "Command Report Footnote", "Adds a var/datum/command_footnote/command_report_footnote = new /datum/command_footnote() GLOB.communications_controller.block_command_report += 1 //Add a blocking condition to the counter until the inputs are done. - command_report_footnote.message = tgui_input_text(user, "This message will be attached to the bottom of the roundstart threat report. Be sure to delay the roundstart report if you need extra time.", "P.S.") + command_report_footnote.message = tgui_input_text( + user, + "This message will be attached to the bottom of the roundstart threat report. Be sure to delay the roundstart report if you need extra time.", + "P.S.", + ) if(!command_report_footnote.message) GLOB.communications_controller.block_command_report -= 1 qdel(command_report_footnote) return - command_report_footnote.signature = tgui_input_text(user, "Whose signature will appear on this footnote?", "Also sign here, here, aaand here.") + command_report_footnote.signature = tgui_input_text( + user, + "Whose signature will appear on this footnote?", + "Also sign here, here, aaand here.", + ) if(!command_report_footnote.signature) command_report_footnote.signature = "Classified" diff --git a/code/modules/admin/verbs/adminfun.dm b/code/modules/admin/verbs/adminfun.dm index c7acd1cba4624..c58d63581bd34 100644 --- a/code/modules/admin/verbs/adminfun.dm +++ b/code/modules/admin/verbs/adminfun.dm @@ -147,7 +147,7 @@ ADMIN_VERB(polymorph_all, R_ADMIN, "Polymorph All", "Applies the effects of the continue M.audible_message(span_hear("...wabbajack...wabbajack...")) - playsound(M.loc, 'sound/magic/staff_change.ogg', 50, TRUE, -1) + playsound(M.loc, 'sound/effects/magic/staff_change.ogg', 50, TRUE, -1) M.wabbajack() @@ -187,7 +187,7 @@ ADMIN_VERB_AND_CONTEXT_MENU(admin_smite, R_ADMIN|R_FUN, "Smite", "Smite a player /proc/firing_squad(mob/living/carbon/target, turf/source_turf, body_zone, wound_bonus, damage) if(!target.get_bodypart(body_zone)) return - playsound(target, 'sound/weapons/gun/revolver/shot.ogg', 100) + playsound(target, 'sound/items/weapons/gun/revolver/shot.ogg', 100) var/obj/projectile/bullet/smite/divine_wrath = new(source_turf) divine_wrath.damage = damage divine_wrath.wound_bonus = wound_bonus diff --git a/code/modules/admin/verbs/admingame.dm b/code/modules/admin/verbs/admingame.dm index 57311446961ed..f9a081445b8ea 100644 --- a/code/modules/admin/verbs/admingame.dm +++ b/code/modules/admin/verbs/admingame.dm @@ -150,20 +150,24 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(show_player_panel, R_ADMIN, "Show Player Panel", mo user << browse(body, "window=adminplayeropts-[REF(player)];size=550x515") BLACKBOX_LOG_ADMIN_VERB("Player Panel") -/client/proc/cmd_admin_godmode(mob/M in GLOB.mob_list) +/client/proc/cmd_admin_godmode(mob/mob in GLOB.mob_list) set category = "Admin.Game" set name = "Godmode" if(!check_rights(R_ADMIN)) return - M.status_flags ^= GODMODE - to_chat(usr, span_adminnotice("Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]"), confidential = TRUE) + var/had_trait = HAS_TRAIT_FROM(mob, TRAIT_GODMODE, ADMIN_TRAIT) + if(had_trait) + REMOVE_TRAIT(mob, TRAIT_GODMODE, ADMIN_TRAIT) + else + ADD_TRAIT(mob, TRAIT_GODMODE, ADMIN_TRAIT) + to_chat(usr, span_adminnotice("Toggled [had_trait ? "OFF" : "ON"]"), confidential = TRUE) - log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") - var/msg = "[key_name_admin(usr)] has toggled [ADMIN_LOOKUPFLW(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]" + log_admin("[key_name(usr)] has toggled [key_name(mob)]'s nodamage to [had_trait ? "Off" : "On"]") + var/msg = "[key_name_admin(usr)] has toggled [ADMIN_LOOKUPFLW(mob)]'s nodamage to [had_trait ? "Off" : "On"]" message_admins(msg) - admin_ticket_log(M, msg) - SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Godmode", "[M.status_flags & GODMODE ? "Enabled" : "Disabled"]")) // If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! + admin_ticket_log(mob, msg) + SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Godmode", "[had_trait ? "Disabled" : "Enabled"]")) // If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! /* If a guy was gibbed and you want to revive him, this is a good way to do so. @@ -190,7 +194,7 @@ ADMIN_VERB(respawn_character, R_ADMIN, "Respawn Character", "Respawn a player th if(findtext(G_found.real_name,"monkey")) if(tgui_alert(user,"This character appears to have been a monkey. Would you like to respawn them as such?",,list("Yes","No")) == "Yes") var/mob/living/carbon/human/species/monkey/new_monkey = new - SSjob.SendToLateJoin(new_monkey) + SSjob.send_to_late_join(new_monkey) G_found.mind.transfer_to(new_monkey) //be careful when doing stuff like this! I've already checked the mind isn't in use new_monkey.key = G_found.key to_chat(new_monkey, "You have been fully respawned. Enjoy the game.", confidential = TRUE) @@ -202,7 +206,7 @@ ADMIN_VERB(respawn_character, R_ADMIN, "Respawn Character", "Respawn a player th //Ok, it's not a monkey. So, spawn a human. var/mob/living/carbon/human/new_character = new//The mob being spawned. - SSjob.SendToLateJoin(new_character) + SSjob.send_to_late_join(new_character) var/datum/record/locked/record_found //Referenced to later to either randomize or not randomize the character. if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something @@ -225,7 +229,7 @@ ADMIN_VERB(respawn_character, R_ADMIN, "Respawn Character", "Respawn a player th else new_character.mind_initialize() if(is_unassigned_job(new_character.mind.assigned_role)) - new_character.mind.set_assigned_role(SSjob.GetJobType(SSjob.overflow_role)) + new_character.mind.set_assigned_role(SSjob.get_job_type(SSjob.overflow_role)) new_character.key = G_found.key @@ -242,7 +246,7 @@ ADMIN_VERB(respawn_character, R_ADMIN, "Respawn Character", "Respawn a player th //Now for special roles and equipment. var/datum/antagonist/traitor/traitordatum = new_character.mind.has_antag_datum(/datum/antagonist/traitor) if(traitordatum) - SSjob.EquipRank(new_character, new_character.mind.assigned_role, new_character.client) + SSjob.equip_rank(new_character, new_character.mind.assigned_role, new_character.client) new_character.mind.give_uplink(silent = TRUE, antag_datum = traitordatum) switch(new_character.mind.special_role) @@ -271,7 +275,7 @@ ADMIN_VERB(respawn_character, R_ADMIN, "Respawn Character", "Respawn a player th new_character = new_character.AIize() else if(!traitordatum) // Already equipped there. - SSjob.EquipRank(new_character, new_character.mind.assigned_role, new_character.client)//Or we simply equip them. + SSjob.equip_rank(new_character, new_character.mind.assigned_role, new_character.client)//Or we simply equip them. //Announces the character on all the systems, based on the record. if(!record_found && (new_character.mind.assigned_role.job_flags & JOB_CREW_MEMBER)) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 8540ff99e5733..834e4741cdecf 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -103,7 +103,7 @@ ADMIN_VERB(cmd_admin_pm_panel, R_NONE, "Admin PM", "Show a list of clients to PM if(length(recipient_interactions) == 1) if(length(opening_interactions)) // Inform the admin that they aren't the first var/printable_interators = english_list(opening_interactions) - SEND_SOUND(src, sound('sound/machines/buzz-sigh.ogg', volume=30)) + SEND_SOUND(src, sound('sound/machines/buzz/buzz-sigh.ogg', volume=30)) message_prompt += "\n\n**This ticket is already being responded to by: [printable_interators]**" // add the admin who is currently responding to the list of people responding LAZYADD(recipient_ticket.opening_responders, src) diff --git a/code/modules/admin/verbs/ai_triumvirate.dm b/code/modules/admin/verbs/ai_triumvirate.dm index d63994a25c319..38c2eba712c60 100644 --- a/code/modules/admin/verbs/ai_triumvirate.dm +++ b/code/modules/admin/verbs/ai_triumvirate.dm @@ -36,7 +36,7 @@ GLOBAL_DATUM(triple_ai_controller, /datum/triple_ai_controller) to_chat(usr, "This option is currently only usable during pregame. This may change at a later date.", confidential = TRUE) return - var/datum/job/job = SSjob.GetJobType(/datum/job/ai) + var/datum/job/job = SSjob.get_job_type(/datum/job/ai) if(!job) to_chat(usr, "Unable to locate the AI job", confidential = TRUE) CRASH("triple_ai() called, no /datum/job/ai to be found.") diff --git a/code/modules/admin/verbs/anonymousnames.dm b/code/modules/admin/verbs/anonymousnames.dm index 7f56155c9989a..2192428846709 100644 --- a/code/modules/admin/verbs/anonymousnames.dm +++ b/code/modules/admin/verbs/anonymousnames.dm @@ -268,7 +268,7 @@ GLOBAL_DATUM(current_anonymous_theme, /datum/anonymous_theme) set_station_name("[pick(GLOB.first_names)] [pick(GLOB.last_names)]") /datum/anonymous_theme/station/announce_to_all_players() - priority_announce("Confirmed level 9 reality error event near [station_name()]. All personnel must try their best to carry on, as to not trigger more reality events by accident.", "Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') + priority_announce("Confirmed level 9 reality error event near [station_name()]. All personnel must try their best to carry on, as to not trigger more reality events by accident.", "Central Command Higher Dimensional Affairs", 'sound/announcer/notice/notice1.ogg') /datum/anonymous_theme/station/anonymous_name(mob/target) return new_station_name() diff --git a/code/modules/admin/verbs/change_shuttle_events.dm b/code/modules/admin/verbs/change_shuttle_events.dm index 90f7e03672e73..258370df3b7b5 100644 --- a/code/modules/admin/verbs/change_shuttle_events.dm +++ b/code/modules/admin/verbs/change_shuttle_events.dm @@ -27,5 +27,5 @@ ADMIN_VERB(change_shuttle_events, R_ADMIN|R_FUN, "Change Shuttle Events", "Chang port.event_list.Remove(active[options[result]]) message_admins("[key_name_admin(user)] has removed '[active[result]]' from [port].") else - port.event_list.Add(new typepath (port)) message_admins("[key_name_admin(user)] has added '[typepath]' to [port].") + port.add_shuttle_event(typepath) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 20cdf3514598f..b6c5e10ca1d81 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -583,8 +583,8 @@ ADMIN_VERB(jump_to_ruin, R_DEBUG, "Jump to Ruin", "Displays a list of all placed return var/datum/map_template/ruin/template = landmark.ruin_template user.mob.forceMove(get_turf(landmark)) - to_chat(user, span_name("[template.name]"), confidential = TRUE) - to_chat(user, "[template.description]", confidential = TRUE) + to_chat(user, span_name(template.name), confidential = TRUE) + to_chat(user, span_italics(template.description), confidential = TRUE) ADMIN_VERB_VISIBILITY(place_ruin, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG) ADMIN_VERB(place_ruin, R_DEBUG, "Spawn Ruin", "Attempt to randomly place a specific ruin.", ADMIN_CATEGORY_MAPPING) @@ -625,7 +625,7 @@ ADMIN_VERB(place_ruin, R_DEBUG, "Spawn Ruin", "Attempt to randomly place a speci log_admin("[key_name(user)] randomly spawned ruin [ruinname] at [COORD(landmark)].") user.mob.forceMove(get_turf(landmark)) to_chat(user, span_name("[template.name]"), confidential = TRUE) - to_chat(user, "[template.description]", confidential = TRUE) + to_chat(user, span_italics("[template.description]"), confidential = TRUE) else to_chat(user, span_warning("Failed to place [template.name]."), confidential = TRUE) diff --git a/code/modules/admin/verbs/ert.dm b/code/modules/admin/verbs/ert.dm index 441a5d0dd56fe..23f1627503e06 100644 --- a/code/modules/admin/verbs/ert.dm +++ b/code/modules/admin/verbs/ert.dm @@ -248,7 +248,7 @@ ert_antag.random_names = ertemplate.random_names ert_operative.mind.add_antag_datum(ert_antag,ert_team) - ert_operative.mind.set_assigned_role(SSjob.GetJobType(ert_antag.ert_job_path)) + ert_operative.mind.set_assigned_role(SSjob.get_job_type(ert_antag.ert_job_path)) //Logging and cleanup ert_operative.log_message("has been selected as \a [ert_antag.name].", LOG_GAME) diff --git a/code/modules/admin/verbs/grant_dna_infusion.dm b/code/modules/admin/verbs/grant_dna_infusion.dm index 06cfa8110d60d..2e087a160574d 100644 --- a/code/modules/admin/verbs/grant_dna_infusion.dm +++ b/code/modules/admin/verbs/grant_dna_infusion.dm @@ -19,7 +19,7 @@ // This is necessary because list propererties are not defined until initialization picked_infusion = infusions[picked_infusion] - picked_infusion = new picked_infusion + picked_infusion = new picked_infusion() if(!length(picked_infusion.output_organs)) return FALSE @@ -27,7 +27,8 @@ . = picked_infusion for(var/obj/item/organ/infusion_organ as anything in picked_infusion.output_organs) var/obj/item/organ/new_organ = new infusion_organ() - if(!new_organ.replace_into(target)) + new_organ.replace_into(target) + if(new_organ.owner != target) to_chat(usr, span_notice("[target] is unable to carry [new_organ]!")) qdel(new_organ) . = FALSE diff --git a/code/modules/admin/verbs/lawpanel.dm b/code/modules/admin/verbs/lawpanel.dm index f1daaf175761f..6de3ff70182b8 100644 --- a/code/modules/admin/verbs/lawpanel.dm +++ b/code/modules/admin/verbs/lawpanel.dm @@ -24,7 +24,7 @@ ADMIN_VERB(law_panel, R_ADMIN, "Law Panel", "View the AI laws.", ADMIN_CATEGORY_ var/lawtype = tgui_input_list(user, "Select law type", "Law type", lawtypes) if(isnull(lawtype)) return FALSE - var/lawtext = tgui_input_text(user, "Input law text", "Law text") + var/lawtext = tgui_input_text(user, "Input law text", "Law text") // admin verb so no max length and also any user-level input is config based already so ehhhh if(!lawtext) return FALSE if(QDELETED(src) || QDELETED(borgo)) diff --git a/code/modules/admin/verbs/maprotation.dm b/code/modules/admin/verbs/maprotation.dm index 09d6d93bee632..38d7535758fc7 100644 --- a/code/modules/admin/verbs/maprotation.dm +++ b/code/modules/admin/verbs/maprotation.dm @@ -1,12 +1,3 @@ - -ADMIN_VERB(force_random_rotate, R_SERVER, "Trigger 'Random' Map Rotation", "Force a map vote.", ADMIN_CATEGORY_SERVER) - var/rotate = tgui_alert(user,"Force a random map rotation to trigger?", "Rotate map?", list("Yes", "Cancel")) - if (rotate != "Yes") - return - message_admins("[key_name_admin(user)] is forcing a random map rotation.") - log_admin("[key_name(user)] is forcing a random map rotation.") - SSmapping.maprotate() - ADMIN_VERB(admin_change_map, R_SERVER, "Change Map", "Set the next map.", ADMIN_CATEGORY_SERVER) var/list/maprotatechoices = list() for (var/map in config.maplist) @@ -119,14 +110,14 @@ ADMIN_VERB(admin_change_map, R_SERVER, "Change Map", "Set the next map.", ADMIN_ fdel(PATH_TO_NEXT_MAP_JSON) text2file(json_encode(json_value), PATH_TO_NEXT_MAP_JSON) - if(SSmapping.changemap(virtual_map)) + if(SSmap_vote.set_next_map(virtual_map)) message_admins("[key_name_admin(user)] has changed the map to [virtual_map.map_name]") - SSmapping.map_force_chosen = TRUE + SSmap_vote.admin_override = TRUE fdel("data/custom_map_json/[config_file]") else var/datum/map_config/virtual_map = maprotatechoices[chosenmap] message_admins("[key_name_admin(user)] is changing the map to [virtual_map.map_name]") log_admin("[key_name(user)] is changing the map to [virtual_map.map_name]") - if (SSmapping.changemap(virtual_map)) + if (SSmap_vote.set_next_map(virtual_map)) message_admins("[key_name_admin(user)] has changed the map to [virtual_map.map_name]") - SSmapping.map_force_chosen = TRUE + SSmap_vote.admin_override = TRUE diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index bcb89379ef40a..368f6f4d6f45e 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -84,7 +84,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w if("infinite_sec") if(!is_debugger) return - var/datum/job/sec_job = SSjob.GetJobType(/datum/job/security_officer) + var/datum/job/sec_job = SSjob.get_job_type(/datum/job/security_officer) sec_job.total_positions = -1 sec_job.spawn_positions = -1 message_admins("[key_name_admin(holder)] has removed the cap on security officers.") @@ -648,12 +648,12 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w /proc/portalAnnounce(announcement, playlightning) set waitfor = FALSE if (playlightning) - sound_to_playing_players('sound/magic/lightning_chargeup.ogg') + sound_to_playing_players('sound/effects/magic/lightning_chargeup.ogg') sleep(8 SECONDS) priority_announce(replacetext(announcement, "%STATION%", station_name())) if (playlightning) sleep(2 SECONDS) - sound_to_playing_players('sound/magic/lightningbolt.ogg') + sound_to_playing_players('sound/effects/magic/lightningbolt.ogg') /// Spawns a portal storm that spawns in sentient/non sentient mobs /// portal_appearance is a list in the form (turf's plane offset + 1) -> appearance to use @@ -671,7 +671,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w H.equipOutfit(humanoutfit) var/turf/T = get_step(loc, SOUTHWEST) T.flick_overlay_static(portal_appearance[GET_TURF_PLANE_OFFSET(T) + 1], 15) - playsound(T, 'sound/magic/lightningbolt.ogg', rand(80, 100), TRUE) + playsound(T, 'sound/effects/magic/lightningbolt.ogg', rand(80, 100), TRUE) /datum/everyone_is_an_antag_controller var/chosen_antag = "" diff --git a/code/modules/admin/verbs/server.dm b/code/modules/admin/verbs/server.dm index a8389ca0bc155..5ac9fd272b45c 100644 --- a/code/modules/admin/verbs/server.dm +++ b/code/modules/admin/verbs/server.dm @@ -98,7 +98,7 @@ ADMIN_VERB(start_now, R_SERVER, "Start Now", "Start the round RIGHT NOW.", ADMIN SSticker.start_immediately = FALSE SSticker.SetTimeLeft(3 MINUTES) to_chat(world, span_big(span_notice("The game will start in 3 minutes."))) - SEND_SOUND(world, sound('sound/ai/default/attention.ogg')) + SEND_SOUND(world, sound('sound/announcer/default/attention.ogg')) message_admins(span_adminnotice("[key_name_admin(user)] has cancelled immediate game start. Game will start in 3 minutes.")) log_admin("[key_name(user)] has cancelled immediate game start.") return @@ -202,11 +202,11 @@ ADMIN_VERB(delay, R_SERVER, "Delay Pre-Game", "Delay the game start.", ADMIN_CAT SSticker.SetTimeLeft(newtime) SSticker.start_immediately = FALSE if(newtime < 0) - to_chat(world, "The game start has been delayed.", confidential = TRUE) + to_chat(world, span_infoplain("The game start has been delayed."), confidential = TRUE) log_admin("[key_name(user)] delayed the round start.") else to_chat(world, span_infoplain(span_bold("The game will start in [DisplayTimeText(newtime)].")), confidential = TRUE) - SEND_SOUND(world, sound('sound/ai/default/attention.ogg')) + SEND_SOUND(world, sound('sound/announcer/default/attention.ogg')) log_admin("[key_name(user)] set the pre-game delay to [DisplayTimeText(newtime)].") BLACKBOX_LOG_ADMIN_VERB("Delay Game Start") diff --git a/code/modules/admin/view_variables/debug_variable_appearance.dm b/code/modules/admin/view_variables/debug_variable_appearance.dm index 9e92eba4605c3..c5a367e83a064 100644 --- a/code/modules/admin/view_variables/debug_variable_appearance.dm +++ b/code/modules/admin/view_variables/debug_variable_appearance.dm @@ -38,6 +38,9 @@ // can't use the name either for byond reasons var/_vis_flags +#if (MIN_COMPILER_VERSION > 515 || MIN_COMPILER_BUILD > 1643) +#warn vis_flags should now be supported by mutable appearances so we can safely remove the weird copying in this code +#endif // all alone at the end of the universe GLOBAL_DATUM_INIT(pluto, /atom/movable, new /atom/movable(null)) @@ -63,6 +66,13 @@ GLOBAL_DATUM_INIT(pluto, /atom/movable, new /atom/movable(null)) return FALSE if(var_name == NAMEOF(src, realized_underlays)) return FALSE + +#if (MIN_COMPILER_VERSION >= 515 && MIN_COMPILER_BUILD >= 1643) +#warn X/Y/Z and contents are now fully unviewable on our supported versions, remove the below check +#endif + +// lummy removed these from the the MA/image type +#if (DM_VERSION <= 515 && DM_BUILD < 1643) // Filtering out the stuff I know we don't care about if(var_name == NAMEOF(src, x)) return FALSE @@ -70,13 +80,14 @@ GLOBAL_DATUM_INIT(pluto, /atom/movable, new /atom/movable(null)) return FALSE if(var_name == NAMEOF(src, z)) return FALSE - // Could make an argument for these but I think they will just confuse people, so yeeet -#ifndef SPACEMAN_DMM // Spaceman doesn't believe in contents on appearances, sorry lads + #ifndef SPACEMAN_DMM // Spaceman doesn't believe in contents on appearances, sorry lads if(var_name == NAMEOF(src, contents)) return FALSE -#endif + #endif if(var_name == NAMEOF(src, loc)) return FALSE +#endif + // Could make an argument for this but I think they will just confuse people, so yeeet if(var_name == NAMEOF(src, vis_contents)) return FALSE return ..() diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm index 37bf0911c608f..66ac70f3f62f7 100644 --- a/code/modules/admin/view_variables/view_variables.dm +++ b/code/modules/admin/view_variables/view_variables.dm @@ -3,7 +3,7 @@ ADMIN_VERB_AND_CONTEXT_MENU(debug_variables, R_NONE, "View Variables", "View the variables of a datum.", ADMIN_CATEGORY_DEBUG, datum/thing in world) user.debug_variables(thing) -// This is kept as a seperate proc because admins are able to show VV to non-admins +// This is kept as a separate proc because admins are able to show VV to non-admins /client/proc/debug_variables(datum/thing in world) set category = "Debug" @@ -23,7 +23,7 @@ ADMIN_VERB_AND_CONTEXT_MENU(debug_variables, R_NONE, "View Variables", "View the if(isappearance(thing)) thing = get_vv_appearance(thing) // this is /mutable_appearance/our_bs_subtype - var/islist = islist(thing) || (!isdatum(thing) && hascall(thing, "Cut")) // Some special lists dont count as lists, but can be detected by if they have list procs + var/islist = islist(thing) || (!isdatum(thing) && hascall(thing, "Cut")) // Some special lists don't count as lists, but can be detected by if they have list procs if(!islist && !isdatum(thing)) return diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index fc8bfa0de8486..f490095a019d9 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -415,7 +415,7 @@ GLOBAL_LIST_EMPTY(antagonists) * Appears at start of roundend_catagory section. */ /datum/antagonist/proc/roundend_report_header() - return "The [roundend_category] were:
" + return span_header("The [roundend_category] were:
") /** * Proc that sends string data for the round-end report. diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 5f7a7e579d3ee..27c1fd5a0ea89 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -83,7 +83,7 @@ app.wiz_team = master_wizard.wiz_team master_wizard.wiz_team.add_member(app_mind) app_mind.add_antag_datum(app) - app_mind.set_assigned_role(SSjob.GetJobType(/datum/job/wizard_apprentice)) + app_mind.set_assigned_role(SSjob.get_job_type(/datum/job/wizard_apprentice)) app_mind.special_role = ROLE_WIZARD_APPRENTICE SEND_SOUND(M, sound('sound/effects/magic.ogg')) @@ -274,7 +274,7 @@ spawn_antag(chosen_one.client, get_turf(src), initial(demon_type.name), user.mind) to_chat(user, shatter_msg) to_chat(user, veil_msg) - playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE) + playsound(user.loc, 'sound/effects/glass/glassbr1.ogg', 100, TRUE) qdel(src) else to_chat(user, span_warning("The bottle's contents usually pop and boil constantly, but right now they're eerily still and calm. Perhaps you should try again later.")) @@ -424,15 +424,7 @@ monkey_man.fully_replace_character_name(monkey_man.real_name, pick(GLOB.syndicate_monkey_names)) - monkey_man.dna.add_mutation(/datum/mutation/human/clever) - // Can't make them human or nonclever. At least not with the easy and boring way out. - for(var/datum/mutation/human/mutation as anything in monkey_man.dna.mutations) - mutation.mutadone_proof = TRUE - mutation.instability = 0 - - // Extra backup! - ADD_TRAIT(monkey_man, TRAIT_NO_DNA_SCRAMBLE, SPECIES_TRAIT) - // Anything else requires enough effort that they deserve it. + monkey_man.make_clever_and_no_dna_scramble() monkey_man.mind.enslave_mind_to_creator(user) diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm index 29f94b040ec5f..527196c51c3ea 100644 --- a/code/modules/antagonists/_common/antag_team.dm +++ b/code/modules/antagonists/_common/antag_team.dm @@ -49,12 +49,12 @@ GLOBAL_LIST_EMPTY(antagonist_teams) /datum/team/proc/roundend_report() var/list/report = list() - report += "\The [name]:" + report += span_header("\The [name]:") report += "The [member_name]s were:" report += printplayerlist(members) if(objectives.len) - report += "Team had following objectives:" + report += span_header("Team had following objectives:") var/win = TRUE var/objective_count = 1 for(var/datum/objective/objective as anything in objectives) diff --git a/code/modules/antagonists/abductor/abductee/abductee.dm b/code/modules/antagonists/abductor/abductee/abductee.dm index fa529a6504415..9b5421c0fd720 100644 --- a/code/modules/antagonists/abductor/abductee/abductee.dm +++ b/code/modules/antagonists/abductor/abductee/abductee.dm @@ -6,7 +6,7 @@ */ /datum/antagonist/abductee name = "\improper Abductee" - stinger_sound = 'sound/ambience/antag/abductee.ogg' + stinger_sound = 'sound/music/antag/abductee.ogg' roundend_category = "abductees" antagpanel_category = ANTAG_GROUP_ABDUCTORS antag_hud_name = "abductee" diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 7fc0c565ab1df..2ca46499a7db0 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -7,7 +7,7 @@ show_in_antagpanel = FALSE //should only show subtypes show_to_ghosts = TRUE suicide_cry = "FOR THE MOTHERSHIP!!" // They can't even talk but y'know - stinger_sound = 'sound/ambience/antag/ayylien.ogg' + stinger_sound = 'sound/music/antag/ayylien.ogg' var/datum/team/abductor_team/team var/sub_role var/outfit @@ -70,7 +70,7 @@ return team /datum/antagonist/abductor/on_gain() - owner.set_assigned_role(SSjob.GetJobType(role_job)) + owner.set_assigned_role(SSjob.get_job_type(role_job)) owner.special_role = ROLE_ABDUCTOR objectives += team.objectives finalize_abductor() @@ -171,7 +171,7 @@ else result += "[name] team failed its mission." - result += "The abductors of [name] were:" + result += span_header("The abductors of [name] were:") for(var/datum/mind/abductor_mind in members) result += printplayer(abductor_mind) result += printobjectives(objectives) diff --git a/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm b/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm index 25bbea665777c..91107529721bc 100644 --- a/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm +++ b/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm @@ -48,7 +48,7 @@ icon_state = "gizmo_scan" to_chat(user, span_notice("You switch the device to [mode == GIZMO_SCAN? "SCAN": "MARK"] MODE")) -/obj/item/abductor/gizmo/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) +/obj/item/abductor/gizmo/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!ScientistCheck(user)) return ITEM_INTERACT_SKIP_TO_ATTACK // So you slap them with it if(!console) @@ -63,8 +63,10 @@ return ITEM_INTERACT_SUCCESS -/obj/item/abductor/gizmo/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) +/obj/item/abductor/gizmo/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!ismob(interacting_with)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) /obj/item/abductor/gizmo/proc/scan(atom/target, mob/living/user) if(ishuman(target)) @@ -104,15 +106,17 @@ icon_state = "silencer" inhand_icon_state = "gizmo" -/obj/item/abductor/silencer/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) +/obj/item/abductor/silencer/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!AbductorCheck(user)) return ITEM_INTERACT_SKIP_TO_ATTACK // So you slap them with it radio_off(interacting_with, user) return ITEM_INTERACT_SUCCESS -/obj/item/abductor/silencer/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) +/obj/item/abductor/silencer/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!ismob(interacting_with)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) /obj/item/abductor/silencer/proc/radio_off(atom/target, mob/living/user) if( !(user in (viewers(7,target))) ) @@ -155,10 +159,12 @@ icon_state = "mind_device_message" to_chat(user, span_notice("You switch the device to [mode == MIND_DEVICE_MESSAGE? "TRANSMISSION": "COMMAND"] MODE")) -/obj/item/abductor/mind_device/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/abductor/mind_device/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!ismob(interacting_with)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) + +/obj/item/abductor/mind_device/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!ScientistCheck(user)) return ITEM_INTERACT_BLOCKING @@ -183,8 +189,12 @@ to_chat(user, span_warning("Your target is already under a mind-controlling influence!")) return - var/command = tgui_input_text(user, "Enter the command for your target to follow.\ - Uses Left: [target_gland.mind_control_uses], Duration: [DisplayTimeText(target_gland.mind_control_duration)]", "Enter command") + var/command = tgui_input_text( + user, + "Enter the command for your target to follow. Uses Left: [target_gland.mind_control_uses], Duration: [DisplayTimeText(target_gland.mind_control_duration)]", + "Enter command", + max_length = MAX_MESSAGE_LEN, + ) if(!command) return @@ -209,14 +219,14 @@ if(living_target.stat == DEAD) to_chat(user, span_warning("Your target is dead!")) return - var/message = tgui_input_text(user, "Message to send to your target's brain", "Enter message") + var/message = tgui_input_text(user, "Message to send to your target's brain", "Enter message", max_length = MAX_MESSAGE_LEN) if(!message) return if(QDELETED(living_target) || living_target.stat == DEAD) return living_target.balloon_alert(living_target, "you hear a voice") - to_chat(living_target, span_hear("You hear a voice in your head saying:
[message]")) + to_chat(living_target, span_hear("You hear a voice in your head saying: [span_abductor(message)]")) to_chat(user, span_notice("You send the message to your target.")) log_directed_talk(user, living_target, message, LOG_SAY, "abductor whisper") @@ -225,7 +235,7 @@ name = "alien firing pin" icon_state = "firing_pin_ayy" desc = "This firing pin is slimy and warm; you can swear you feel it constantly trying to mentally probe you." - fail_message = "Firing error, please contact Command." + fail_message = span_abductor("Firing error, please contact Command.") /obj/item/firing_pin/abductor/pin_auth(mob/living/user) . = isabductor(user) @@ -296,7 +306,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} cooldown = 0 SECONDS stamina_damage = 0 knockdown_time = 14 SECONDS - on_stun_sound = 'sound/weapons/egloves.ogg' + on_stun_sound = 'sound/items/weapons/egloves.ogg' affect_cyborg = TRUE var/mode = BATON_STUN @@ -329,7 +339,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} affect_cyborg = is_stun_mode log_stun_attack = is_stun_mode // other modes have their own log entries. stun_animation = is_stun_or_sleep - on_stun_sound = is_stun_or_sleep ? 'sound/weapons/egloves.ogg' : null + on_stun_sound = is_stun_or_sleep ? 'sound/items/weapons/egloves.ogg' : null to_chat(usr, span_notice("You switch the baton to [txt] mode.")) update_appearance() @@ -412,7 +422,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} var/mob/living/carbon/carbon_victim = victim if(!carbon_victim.handcuffed) if(carbon_victim.canBeHandcuffed()) - playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) + playsound(src, 'sound/items/weapons/cablecuff.ogg', 30, TRUE, -2) carbon_victim.visible_message(span_danger("[user] begins restraining [carbon_victim] with [src]!"), \ span_userdanger("[user] begins shaping an energy field around your hands!")) if(do_after(user, time_to_cuff, carbon_victim) && carbon_victim.canBeHandcuffed()) @@ -512,7 +522,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} ..() user.visible_message(span_notice("[user] places down [src] and activates it."), span_notice("You place down [src] and activate it.")) user.dropItemToGround(src) - playsound(src, 'sound/machines/terminal_alert.ogg', 50) + playsound(src, 'sound/machines/terminal/terminal_alert.ogg', 50) addtimer(CALLBACK(src, PROC_REF(try_spawn_machine)), 3 SECONDS) /obj/item/abductor_machine_beacon/proc/try_spawn_machine() @@ -529,7 +539,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} visible_message(span_notice("[new_machine] warps on top of the beacon!")) qdel(src) else - playsound(src, 'sound/machines/buzz-two.ogg', 50) + playsound(src, 'sound/machines/buzz/buzz-two.ogg', 50) /obj/item/abductor_machine_beacon/chem_dispenser name = "beacon - Reagent Synthesizer" @@ -608,7 +618,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} inhand_icon_state = "silencer" toolspeed = 0.25 tool_behaviour = null - usesound = 'sound/items/pshoom.ogg' + usesound = 'sound/items/pshoom/pshoom.ogg' ///A list of all the tools we offer. Stored as "Tool" for the key, and the icon/icon_state as the value. var/list/tool_list = list() ///Which toolset do we have active currently? diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index f4fe0fb1875f8..d1f240b7f6821 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -51,7 +51,7 @@ return var/image/holder = owner.hud_list[GLAND_HUD] var/icon/I = icon(owner.icon, owner.icon_state, owner.dir) - holder.pixel_y = I.Height() - world.icon_size + holder.pixel_y = I.Height() - ICON_SIZE_Y if(active_mind_control) holder.icon_state = "hudgland_active" else if(mind_control_uses) diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm index 72b2c1e14ad1c..e0b3df0f19c32 100644 --- a/code/modules/antagonists/abductor/equipment/glands/electric.dm +++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm @@ -23,4 +23,4 @@ /obj/item/organ/internal/heart/gland/electric/proc/zap() tesla_zap(source = owner, zap_range = 4, power = 8e3, cutoff = 1e3, zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN) - playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, TRUE) + playsound(get_turf(owner), 'sound/effects/magic/lightningshock.ogg', 50, TRUE) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 7f4462377654c..83ba7a7ffbdf2 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -183,7 +183,7 @@ owner.visible_message(span_warning("With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body!"), span_userdanger("With a loud snap, your [parse_zone(body_zone)] rapidly grows back from your body!"), span_warning("Your hear a loud snap.")) - playsound(owner, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(owner, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) owner.regenerate_limb(body_zone) /obj/item/organ/internal/heart/gland/heal/proc/replace_blood() @@ -212,7 +212,7 @@ /obj/item/organ/internal/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest) if(!IS_ORGANIC_LIMB(chest)) owner.visible_message(span_warning("[owner]'s [chest.name] rapidly expels its mechanical components, replacing them with flesh!"), span_userdanger("Your [chest.name] rapidly expels its mechanical components, replacing them with flesh!")) - playsound(owner, 'sound/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE) + playsound(owner, 'sound/effects/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE) var/list/dirs = GLOB.alldirs.Copy() for(var/i in 1 to 3) var/obj/effect/decal/cleanable/robot_debris/debris = new(get_turf(owner)) diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index 09790f4ba897e..c4e59c505bf04 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -169,7 +169,7 @@ credits += point_reward return "Experiment successful! [point_reward] new data-points collected." else - playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, TRUE) + playsound(src.loc, 'sound/machines/buzz/buzz-sigh.ogg', 50, TRUE) return "Experiment failed! No replacement organ detected." else say("Brain activity nonexistent - disposing sample...") @@ -190,7 +190,7 @@ H.forceMove(console.pad.teleport_target) return //Area not chosen / It's not safe area - teleport to arrivals - SSjob.SendToLateJoin(H, FALSE) + SSjob.send_to_late_join(H, FALSE) return /obj/machinery/abductor/experiment/update_icon_state() diff --git a/code/modules/antagonists/ashwalker/ashwalker.dm b/code/modules/antagonists/ashwalker/ashwalker.dm index 827d929b0fbb5..fae4dd5059b16 100644 --- a/code/modules/antagonists/ashwalker/ashwalker.dm +++ b/code/modules/antagonists/ashwalker/ashwalker.dm @@ -65,9 +65,9 @@ objectives -= necropolis_objective //So we don't count it in the check for other objectives. report += "The [name] was tasked with defending the Necropolis:" if(necropolis_objective.check_completion()) - report += span_greentext("The nest stands! Glory to the Necropolis!
") + report += span_greentext(span_header("The nest stands! Glory to the Necropolis!
")) else - report += span_redtext("The Necropolis was destroyed, the tribe has fallen...
") + report += span_redtext(span_header("The Necropolis was destroyed, the tribe has fallen...
")) if(length(objectives)) report += span_header("The [name]'s other objectives were:") diff --git a/code/modules/antagonists/battlecruiser/battlecruiser.dm b/code/modules/antagonists/battlecruiser/battlecruiser.dm index bcc2fc963309a..194034e31bbd2 100644 --- a/code/modules/antagonists/battlecruiser/battlecruiser.dm +++ b/code/modules/antagonists/battlecruiser/battlecruiser.dm @@ -20,7 +20,7 @@ antag_hud_name = "battlecruiser_crew" antagpanel_category = ANTAG_GROUP_SYNDICATE job_rank = ROLE_BATTLECRUISER_CREW - stinger_sound = 'sound/ambience/antag/ops.ogg' + stinger_sound = 'sound/music/antag/ops.ogg' /// Team to place the crewmember on. var/datum/team/battlecruiser/battlecruiser_team diff --git a/code/modules/antagonists/blob/blob_antag.dm b/code/modules/antagonists/blob/blob_antag.dm index 9cad238bb0011..9f9d97fac8dde 100644 --- a/code/modules/antagonists/blob/blob_antag.dm +++ b/code/modules/antagonists/blob/blob_antag.dm @@ -6,7 +6,7 @@ show_in_antagpanel = FALSE job_rank = ROLE_BLOB ui_name = "AntagInfoBlob" - stinger_sound = 'sound/ambience/antag/blobalert.ogg' + stinger_sound = 'sound/music/antag/blobalert.ogg' /// Action to release a blob infection var/datum/action/innate/blobpop/pop_action /// Initial points for a human blob @@ -133,13 +133,13 @@ owner.mind.transfer_to(blob_cam) old_body.gib() blob_cam.place_blob_core(placement_override, pop_override = TRUE) - playsound(get_turf(blob_cam), 'sound/ambience/antag/blobalert.ogg', 50, FALSE) + playsound(get_turf(blob_cam), 'sound/music/antag/blobalert.ogg', 50, FALSE) blobtag.has_already_popped = TRUE notify_ghosts( "A Blob host has burst in [get_area_name(blob_cam.blob_core)]", source = blob_cam.blob_core, - ghost_sound = 'sound/ambience/antag/blobalert.ogg', + ghost_sound = 'sound/music/antag/blobalert.ogg', header = "Blob Awakening!", notify_volume = 75, ) diff --git a/code/modules/antagonists/blob/blobstrains/_reagent.dm b/code/modules/antagonists/blob/blobstrains/_reagent.dm index 2d7f4c5d34eb8..65a50621b1717 100644 --- a/code/modules/antagonists/blob/blobstrains/_reagent.dm +++ b/code/modules/antagonists/blob/blobstrains/_reagent.dm @@ -26,12 +26,21 @@ // These can only be applied by blobs. They are what (reagent) blobs are made out of. /datum/reagent/blob name = "Unknown" - description = "shouldn't exist and you should adminhelp immediately." + description = "" color = COLOR_WHITE taste_description = "bad code and slime" chemical_flags = NONE penetrates_skin = NONE + +/datum/reagent/blob/New() + ..() + + if(name == "Unknown") + description = "shouldn't exist and you should adminhelp immediately." + else if(description == "") + description = "[name] is the reagent created by that type of blob." + /// Used by blob reagents to calculate the reaction volume they should use when exposing mobs. /datum/reagent/blob/proc/return_mob_expose_reac_volume(mob/living/exposed_mob, methods=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/overmind) if(exposed_mob.stat == DEAD || HAS_TRAIT(exposed_mob, TRAIT_BLOB_ALLY)) diff --git a/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm b/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm index a18d802ff7dd4..acb4d96c23ad8 100644 --- a/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm +++ b/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm @@ -12,7 +12,7 @@ /datum/reagent/blob/cryogenic_poison name = "Cryogenic Poison" - description = "will inject targets with a freezing poison that does high damage over time." + description = "A freezing poison that does high damage over time. Cryogenic poison blobs inject this into their victims." color = "#8BA6E9" taste_description = "brain freeze" diff --git a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm index a62895ae6c4b7..d9010a965376e 100644 --- a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm +++ b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm @@ -12,6 +12,7 @@ /datum/reagent/blob/regenerative_materia name = "Regenerative Materia" + description = "Chemical that inflicts toxin damage and makes the target believe they are fully healed. Regenerative materia blobs inject this into their victims." taste_description = "heaven" color = "#A88FB7" diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 217a215e8753c..99a27429e61a7 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -187,14 +187,14 @@ GLOBAL_LIST_EMPTY(blob_nodes) blobstrain.on_sporedeath(spore) /mob/camera/blob/proc/victory() - sound_to_playing_players('sound/machines/alarm.ogg') + sound_to_playing_players('sound/announcer/alarm/nuke_alarm.ogg', 70) sleep(10 SECONDS) for(var/mob/living/live_guy as anything in GLOB.mob_living_list) var/turf/guy_turf = get_turf(live_guy) if(isnull(guy_turf) || !is_station_level(guy_turf.z)) continue - if(live_guy in GLOB.overminds || (live_guy.pass_flags & PASSBLOB)) + if((live_guy in GLOB.overminds) || (live_guy.pass_flags & PASSBLOB)) continue var/area/blob_area = get_area(guy_turf) diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 324c91ea3a529..ce1b016dcb045 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -175,6 +175,7 @@ if(isspaceturf(T) && !(locate(/obj/structure/lattice) in T) && prob(80)) make_blob = FALSE playsound(src.loc, 'sound/effects/splat.ogg', 50, TRUE) //Let's give some feedback that we DID try to spawn in space, since players are used to it + balloon_alert(controller, "failed to expand!") ConsumeTile() //hit the tile we're in, making sure there are no border objects blocking us if(!T.CanPass(src, get_dir(T, src))) //is the target turf impassable @@ -281,11 +282,11 @@ switch(damage_type) if(BRUTE) if(damage_amount) - playsound(src.loc, 'sound/effects/attackblob.ogg', 50, TRUE) + playsound(src.loc, 'sound/effects/blob/attackblob.ogg', 50, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + playsound(src.loc, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/structure/blob/run_atom_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) switch(damage_type) diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm index 6eeccc8c361dd..f995dc0b81b03 100644 --- a/code/modules/antagonists/blob/structures/core.dm +++ b/code/modules/antagonists/blob/structures/core.dm @@ -24,7 +24,7 @@ GLOB.blob_cores += src START_PROCESSING(SSobj, src) SSpoints_of_interest.make_point_of_interest(src) - update_appearance() //so it atleast appears + update_appearance() //so it at least appears if(!placed && !overmind) return INITIALIZE_HINT_QDEL if(overmind) diff --git a/code/modules/antagonists/brainwashing/brainwashing.dm b/code/modules/antagonists/brainwashing/brainwashing.dm index 57707688f4daf..ebad949060a91 100644 --- a/code/modules/antagonists/brainwashing/brainwashing.dm +++ b/code/modules/antagonists/brainwashing/brainwashing.dm @@ -30,7 +30,7 @@ /datum/antagonist/brainwashed name = "\improper Brainwashed Victim" job_rank = ROLE_BRAINWASHED - stinger_sound = 'sound/ambience/antag/brainwashed.ogg' + stinger_sound = 'sound/music/antag/brainwashed.ogg' roundend_category = "brainwashed victims" show_in_antagpanel = TRUE antag_hud_name = "brainwashed" @@ -61,7 +61,7 @@ return var/list/objectives = list() do - var/objective = tgui_input_text(admin, "Add an objective", "Brainwashing") + var/objective = tgui_input_text(admin, "Add an objective", "Brainwashing", max_length = MAX_MESSAGE_LEN) if(objective) objectives += objective while(tgui_alert(admin, "Add another objective?", "More Brainwashing", list("Yes","No")) == "Yes") diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 4f535ece8cef0..80d14724170fe 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -9,7 +9,7 @@ suicide_cry = "FOR MY BROTHER!!" antag_moodlet = /datum/mood_event/focused hardcore_random_bonus = TRUE - stinger_sound = 'sound/ambience/antag/tatoralert.ogg' + stinger_sound = 'sound/music/antag/traitor/tatoralert.ogg' VAR_PRIVATE datum/team/brother_team/team diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 20e1c94ee9a60..a7cecf1f134e2 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -14,7 +14,8 @@ can_assign_self_objectives = TRUE default_custom_objective = "Consume the station's most valuable genomes." hardcore_random_bonus = TRUE - stinger_sound = 'sound/ambience/antag/ling_alert.ogg' + stinger_sound = 'sound/music/antag/ling_alert.ogg' + /// Whether to give this changeling objectives or not var/give_objectives = TRUE /// Weather we assign objectives which compete with other lings @@ -59,7 +60,7 @@ /// The voice we're mimicing via the changeling voice ability. var/mimicing = "" /// Whether we can currently respec in the cellular emporium. - var/can_respec = FALSE + var/can_respec = 0 /// The currently active changeling sting. var/datum/action/changeling/sting/chosen_sting @@ -442,7 +443,7 @@ to_chat(owner.current, span_notice("We have removed our evolutions from this form, and are now ready to readapt.")) remove_changeling_powers() - can_respec = FALSE + can_respec -= 1 SSblackbox.record_feedback("tally", "changeling_power_purchase", 1, "Readapt") log_changeling_power("[key_name(owner)] readapted their changeling powers") return TRUE @@ -990,11 +991,11 @@ var/icon/final_icon = render_preview_outfit(/datum/outfit/changeling) var/icon/split_icon = render_preview_outfit(/datum/outfit/job/engineer) - final_icon.Shift(WEST, world.icon_size / 2) - final_icon.Shift(EAST, world.icon_size / 2) + final_icon.Shift(WEST, ICON_SIZE_X / 2) + final_icon.Shift(EAST, ICON_SIZE_X / 2) - split_icon.Shift(EAST, world.icon_size / 2) - split_icon.Shift(WEST, world.icon_size / 2) + split_icon.Shift(EAST, ICON_SIZE_X / 2) + split_icon.Shift(WEST, ICON_SIZE_X / 2) final_icon.Blend(split_icon, ICON_OVERLAY) diff --git a/code/modules/antagonists/changeling/powers/absorb.dm b/code/modules/antagonists/changeling/powers/absorb.dm index 7e13612153b49..71b1509ec816c 100644 --- a/code/modules/antagonists/changeling/powers/absorb.dm +++ b/code/modules/antagonists/changeling/powers/absorb.dm @@ -41,9 +41,14 @@ owner.visible_message(span_danger("[owner] sucks the fluids from [target]!"), span_notice("We have absorbed [target].")) to_chat(target, span_userdanger("You are absorbed by the changeling!")) + var/true_absorbtion = (!isnull(target.client) || !isnull(target.mind) || !isnull(target.last_mind)) + if (!true_absorbtion) + to_chat(owner, span_changeling(span_bold("You absorb [target], but their weak DNA is not enough to satisfy your hunger."))) + if(!changeling.has_profile_with_dna(target.dna)) changeling.add_new_profile(target) - changeling.true_absorbs++ + if (true_absorbtion) + changeling.true_absorbs++ if(owner.nutrition < NUTRITION_LEVEL_WELL_FED) owner.set_nutrition(min((owner.nutrition + target.nutrition), NUTRITION_LEVEL_WELL_FED)) @@ -57,7 +62,8 @@ is_absorbing = FALSE changeling.adjust_chemicals(10) - changeling.can_respec = TRUE + if (true_absorbtion) + changeling.can_respec++ if(target.stat != DEAD) target.investigate_log("has died from being changeling absorbed.", INVESTIGATE_DEATHS) diff --git a/code/modules/antagonists/changeling/powers/defib_grasp.dm b/code/modules/antagonists/changeling/powers/defib_grasp.dm index 867a595e17dcd..227b11c3a387b 100644 --- a/code/modules/antagonists/changeling/powers/defib_grasp.dm +++ b/code/modules/antagonists/changeling/powers/defib_grasp.dm @@ -38,12 +38,12 @@ changeling.set_resting(FALSE) changeling.adjust_jitter(20 SECONDS) changeling.emote("scream") - playsound(changeling, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(changeling, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) // Mimics some real defib stuff (wish this was more generalized) playsound(defib, SFX_BODYFALL, 50, TRUE) - playsound(defib, 'sound/machines/defib_zap.ogg', 75, TRUE, -1) - playsound(defib, 'sound/machines/defib_success.ogg', 50, FALSE) // I guess + playsound(defib, 'sound/machines/defib/defib_zap.ogg', 75, TRUE, -1) + playsound(defib, 'sound/machines/defib/defib_success.ogg', 50, FALSE) // I guess defib.shock_pulling(30, changeling) /// Removes the arms of the defibber if they're a carbon, and stuns them for a bit. diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index 1dff58377fd4a..b0149501e6679 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -108,7 +108,7 @@ if(!length(user.get_missing_limbs() - dont_regenerate)) return - playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(user, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) user.visible_message( span_warning("[user]'s missing limbs reform, making a loud, grotesque sound!"), span_userdanger("Your limbs regrow, making a loud, crunchy sound and giving you great pain!"), @@ -123,7 +123,7 @@ return var/datum/antagonist/changeling/ling = IS_CHANGELING(user) - if(QDELETED(ling) || !(src in ling.innate_powers + ling.purchased_powers)) // checking both innate and purchased for full coverage + if(QDELETED(ling) || !(src in (ling.innate_powers + ling.purchased_powers))) // checking both innate and purchased for full coverage return if(!HAS_TRAIT_FROM(user, TRAIT_DEATHCOMA, CHANGELING_TRAIT)) return diff --git a/code/modules/antagonists/changeling/powers/headcrab.dm b/code/modules/antagonists/changeling/powers/headcrab.dm index 0b7668260d769..c4f2376f755a0 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 = 1 + dna_cost = CHANGELING_POWER_INNATE req_human = TRUE req_stat = DEAD ignores_fakedeath = TRUE diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index db261c29b5433..f6b42bf19f212 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -53,8 +53,8 @@ if(istype(hand_item, weapon_type)) user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL will delete the item if(!silent) - playsound(user, 'sound/effects/blobattack.ogg', 30, TRUE) - user.visible_message(span_warning("With a sickening crunch, [user] reforms [user.p_their()] [weapon_name_simple] into an arm!"), span_notice("We assimilate the [weapon_name_simple] back into our body."), "With a sickening crunch, \ - [target] reforms [target.p_their()] [blade.name] into an arm!", - span_warning("[blade] reforms back to normal."), - "= limit)) return to_chat(owner,span_warning("You begin to carve unnatural symbols into your flesh!")) - SEND_SOUND(owner, sound('sound/weapons/slice.ogg',0,1,10)) + SEND_SOUND(owner, sound('sound/items/weapons/slice.ogg',0,1,10)) if(!channeling) channeling = TRUE else @@ -292,7 +292,7 @@ owner.visible_message(span_warning("Thin grey dust falls from [owner]'s hand!"), \ span_cult_italic("You invoke the veiling spell, hiding nearby runes.")) charges-- - SEND_SOUND(owner, sound('sound/magic/smoke.ogg',0,1,25)) + SEND_SOUND(owner, sound('sound/effects/magic/smoke.ogg',0,1,25)) owner.whisper(invocation, language = /datum/language/common) for(var/obj/effect/rune/R in range(5,owner)) R.conceal() @@ -312,7 +312,7 @@ span_cult_italic("You invoke the counterspell, revealing nearby runes.")) charges-- owner.whisper(invocation, language = /datum/language/common) - SEND_SOUND(owner, sound('sound/magic/enter_blood.ogg',0,1,25)) + SEND_SOUND(owner, sound('sound/effects/magic/enter_blood.ogg',0,1,25)) for(var/obj/effect/rune/R in range(7,owner)) //More range in case you weren't standing in exactly the same spot R.reveal() for(var/obj/structure/destructible/cult/S in range(6,owner)) @@ -461,7 +461,7 @@ target.color = COLOR_HERETIC_GREEN animate(target, color = old_color, time = 4 SECONDS, easing = EASE_IN) target.mob_light(range = 1.5, power = 2.5, color = COLOR_HERETIC_GREEN, duration = 0.5 SECONDS) - playsound(target, 'sound/magic/magic_block_mind.ogg', 150, TRUE) // insanely quiet + playsound(target, 'sound/effects/magic/magic_block_mind.ogg', 150, TRUE) // insanely quiet to_chat(user, span_warning("An eldritch force intervenes as you touch [target], absorbing most of the effects!")) to_chat(target, span_warning("As [user] touches you with vile magicks, the Mansus absorbs most of the effects!")) @@ -559,7 +559,7 @@ /obj/item/melee/blood_magic/shackles/proc/CuffAttack(mob/living/carbon/C, mob/living/user) if(!C.handcuffed) - playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) + playsound(loc, 'sound/items/weapons/cablecuff.ogg', 30, TRUE, -2) C.visible_message(span_danger("[user] begins restraining [C] with dark magic!"), \ span_userdanger("[user] begins shaping dark magic shackles around your wrists!")) if(do_after(user, 3 SECONDS, C)) @@ -642,7 +642,7 @@ if(candidate.mmi || candidate.shell) channeling = TRUE user.visible_message(span_danger("A dark cloud emanates from [user]'s hand and swirls around [candidate]!")) - playsound(T, 'sound/machines/airlock_alien_prying.ogg', 80, TRUE) + playsound(T, 'sound/machines/airlock/airlock_alien_prying.ogg', 80, TRUE) var/prev_color = candidate.color candidate.color = "black" if(!do_after(user, 9 SECONDS, target = candidate)) @@ -673,7 +673,7 @@ if(istype(target,/obj/machinery/door/airlock)) channeling = TRUE - playsound(T, 'sound/machines/airlockforced.ogg', 50, TRUE) + playsound(T, 'sound/machines/airlock/airlockforced.ogg', 50, TRUE) do_sparks(5, TRUE, target) if(!do_after(user, 5 SECONDS, target = user) && !QDELETED(target)) channeling = FALSE @@ -790,7 +790,7 @@ construct_thing.adjust_health(-uses) construct_thing.visible_message(span_warning("[construct_thing] is partially healed by [user]'s blood magic!")) uses = 0 - playsound(get_turf(construct_thing), 'sound/magic/staff_healing.ogg', 25) + playsound(get_turf(construct_thing), 'sound/effects/magic/staff_healing.ogg', 25) user.Beam(construct_thing, icon_state="sendbeam", time = 1 SECONDS) return TRUE @@ -845,7 +845,7 @@ need_mob_update += human_bloodbag.adjustBruteLoss(damage_healed * (human_bloodbag.getBruteLoss() / overall_damage), updating_health = FALSE) if(need_mob_update) human_bloodbag.updatehealth() - playsound(get_turf(human_bloodbag), 'sound/magic/staff_healing.ogg', 25) + playsound(get_turf(human_bloodbag), 'sound/effects/magic/staff_healing.ogg', 25) new /obj/effect/temp_visual/cult/sparks(get_turf(human_bloodbag)) if (user != human_bloodbag) //Dont create beam from the user to the user user.Beam(human_bloodbag, icon_state="sendbeam", time = 15) @@ -866,7 +866,7 @@ human_bloodbag.blood_volume -= BLOOD_DRAIN_GAIN * USES_TO_BLOOD uses += BLOOD_DRAIN_GAIN user.Beam(human_bloodbag, icon_state="drainbeam", time = 1 SECONDS) - playsound(get_turf(human_bloodbag), 'sound/magic/enter_blood.ogg', 50) + playsound(get_turf(human_bloodbag), 'sound/effects/magic/enter_blood.ogg', 50) human_bloodbag.visible_message(span_danger("[user] drains some of [human_bloodbag]'s blood!")) to_chat(user,span_cult_italic("Your blood rite gains 50 charges from draining [human_bloodbag]'s blood.")) new /obj/effect/temp_visual/cult/sparks(get_turf(human_bloodbag)) @@ -900,7 +900,7 @@ return user.Beam(our_turf,icon_state="drainbeam", time = 15) new /obj/effect/temp_visual/cult/sparks(get_turf(user)) - playsound(our_turf, 'sound/magic/enter_blood.ogg', 50) + playsound(our_turf, 'sound/effects/magic/enter_blood.ogg', 50) to_chat(user, span_cult_italic("Your blood rite has gained [round(blood_to_gain)] charge\s from blood sources around you!")) uses += max(1, round(blood_to_gain)) diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index 3d5677996502a..7a8e2fa535fd4 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -27,7 +27,7 @@ return ..() /datum/action/innate/cult/comm/Activate() - var/input = tgui_input_text(usr, "Message to tell to the other acolytes", "Voice of Blood") + var/input = tgui_input_text(usr, "Message to tell to the other acolytes", "Voice of Blood", max_length = MAX_MESSAGE_LEN) if(!input || !IsAvailable(feedback = TRUE)) return @@ -122,7 +122,7 @@ team_member.current.update_mob_action_buttons() if(team_member.current.incapacitated) continue - SEND_SOUND(team_member.current, 'sound/hallucinations/im_here1.ogg') + SEND_SOUND(team_member.current, 'sound/effects/hallucinations/im_here1.ogg') to_chat(team_member.current, span_cult_large("Acolyte [nominee] has asserted that [nominee.p_theyre()] worthy of leading the cult. A vote will be called shortly.")) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(poll_cultists_for_leader), nominee, team), 10 SECONDS) @@ -143,7 +143,7 @@ for(var/datum/mind/team_member as anything in team.members) if(!team_member.current || team_member.current == nominee || team_member.current.incapacitated) continue - SEND_SOUND(team_member.current, 'sound/magic/exit_blood.ogg') + SEND_SOUND(team_member.current, 'sound/effects/magic/exit_blood.ogg') asked_cultists += team_member.current var/list/yes_voters = SSpolling.poll_candidates( @@ -244,7 +244,7 @@ new /obj/effect/temp_visual/dir_setting/cult/phase(mobloc, B.current.dir) playsound(mobloc, SFX_PORTAL_ENTER, 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(4) - playsound(mobloc, 'sound/magic/exit_blood.ogg', 100, TRUE) + playsound(mobloc, 'sound/effects/magic/exit_blood.ogg', 100, TRUE) if(B.current != owner) var/turf/final = pick(destinations) if(istype(B.current.loc, /obj/item/soulstone)) @@ -268,13 +268,13 @@ owner.say("C'arta forbici!", language = /datum/language/common, forced = "cult invocation") if(2) owner.say("Pleggh e'ntrath!", language = /datum/language/common, forced = "cult invocation") - playsound(get_turf(owner),'sound/magic/clockwork/narsie_attack.ogg', 50, TRUE) + playsound(get_turf(owner),'sound/effects/magic/clockwork/narsie_attack.ogg', 50, TRUE) if(3) owner.say("Barhah hra zar'garis!", language = /datum/language/common, forced = "cult invocation") - playsound(get_turf(owner),'sound/magic/clockwork/narsie_attack.ogg', 75, TRUE) + playsound(get_turf(owner),'sound/effects/magic/clockwork/narsie_attack.ogg', 75, TRUE) if(4) owner.say("N'ath reth sh'yro eth d'rekkathnor!!!", language = /datum/language/common, forced = "cult invocation") - playsound(get_turf(owner),'sound/magic/clockwork/narsie_attack.ogg', 100, TRUE) + playsound(get_turf(owner),'sound/effects/magic/clockwork/narsie_attack.ogg', 100, TRUE) /datum/action/innate/cult/master/cultmark name = "Mark Target" @@ -399,7 +399,7 @@ if(QDELETED(owner) || QDELETED(src)) return - SEND_SOUND(owner, 'sound/magic/enter_blood.ogg') + SEND_SOUND(owner, 'sound/effects/magic/enter_blood.ogg') to_chat(owner, span_cult_bold("Your previous mark is gone - you are now ready to create a new blood mark.")) build_all_button_icons(UPDATE_BUTTON_NAME|UPDATE_BUTTON_ICON) @@ -452,7 +452,7 @@ var/turf/throwee_turf = get_turf(throwee) - playsound(throwee_turf, 'sound/magic/exit_blood.ogg') + playsound(throwee_turf, 'sound/effects/magic/exit_blood.ogg') new /obj/effect/temp_visual/cult/sparks(throwee_turf, caller.dir) throwee.visible_message( span_warning("A pulse of magic whisks [throwee] away!"), @@ -488,7 +488,7 @@ var/mob/living/living_clicked = clicked_on if(!IS_CULTIST(living_clicked)) return FALSE - SEND_SOUND(caller, sound('sound/weapons/thudswoosh.ogg')) + SEND_SOUND(caller, sound('sound/items/weapons/thudswoosh.ogg')) to_chat(caller, span_cult_bold("You reach through the veil with your mind's eye and seize [clicked_on]! Click anywhere nearby to teleport [clicked_on.p_them()]!")) throwee_ref = WEAKREF(clicked_on) return TRUE diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 9d386b8f11be7..ccfbf389700fe 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -26,7 +26,7 @@ wound_bonus = -10 bare_wound_bonus = 20 armour_penetration = 35 - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' /obj/item/melee/cultblade/dagger/Initialize(mapload) . = ..() @@ -73,8 +73,8 @@ Striking a noncultist, however, will tear their flesh."} block_chance = 50 // now it's officially a cult esword wound_bonus = -50 bare_wound_bonus = 20 - hitsound = 'sound/weapons/bladeslice.ogg' - block_sound = 'sound/weapons/parry.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' + block_sound = 'sound/items/weapons/parry.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") /// If TRUE, it can be used at will by anyone, non-cultists included @@ -285,7 +285,7 @@ Striking a noncultist, however, will tear their flesh."} item_flags = NEEDS_PERMIT | DROPDEL flags_1 = NONE block_chance = 25 //these dweebs don't get full block chance, because they're free cultists - block_sound = 'sound/weapons/parry.ogg' + block_sound = 'sound/items/weapons/parry.ogg' /obj/item/melee/cultblade/ghost/Initialize(mapload) . = ..() @@ -301,8 +301,8 @@ Striking a noncultist, however, will tear their flesh."} desc = "Use the sword to shear open the flimsy fabric of this reality and teleport to your target." button_icon = 'icons/mob/actions/actions_cult.dmi' button_icon_state = "phaseshift" - dash_sound = 'sound/magic/enter_blood.ogg' - recharge_sound = 'sound/magic/exit_blood.ogg' + dash_sound = 'sound/effects/magic/enter_blood.ogg' + recharge_sound = 'sound/effects/magic/exit_blood.ogg' beam_effect = "sendbeam" phasein = /obj/effect/temp_visual/dir_setting/cult/phase phaseout = /obj/effect/temp_visual/dir_setting/cult/phase/out @@ -717,7 +717,7 @@ Striking a noncultist, however, will tear their flesh."} SSshuttle.block_recall(surplus) totalcurses++ to_chat(user, span_danger("You shatter the orb! A dark essence spirals into the air, then disappears.")) - playsound(user.loc, 'sound/effects/glassbr1.ogg', 50, TRUE) + playsound(user.loc, 'sound/effects/glass/glassbr1.ogg', 50, TRUE) if(!remaining_curses) remaining_curses = strings(CULT_SHUTTLE_CURSE, "curse_announce") @@ -725,7 +725,7 @@ Striking a noncultist, however, will tear their flesh."} var/curse_message = pick_n_take(remaining_curses) || "Something has gone horrendously wrong..." curse_message += " The shuttle will be delayed by three minutes." - priority_announce("[curse_message]", "System Failure", 'sound/misc/notice1.ogg') + priority_announce("[curse_message]", "System Failure", 'sound/announcer/notice/notice1.ogg') if(MAX_SHUTTLE_CURSES-totalcurses <= 0) to_chat(user, span_danger(span_big("You sense that the emergency escape shuttle can no longer be cursed. It would be unwise to create more cursed orbs."))) else if(MAX_SHUTTLE_CURSES-totalcurses == 1) @@ -735,7 +735,7 @@ Striking a noncultist, however, will tear their flesh."} if(totalcurses >= MAX_SHUTTLE_CURSES && (world.time < first_curse_time + SHUTTLE_CURSE_OMFG_TIMESPAN)) var/omfg_message = pick_list(CULT_SHUTTLE_CURSE, "omfg_announce") || "LEAVE US ALONE!" - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(priority_announce), omfg_message, "Priority Alert", 'sound/misc/announce_syndi.ogg', null, "Nanotrasen Department of Transportation: Central Command"), rand(2 SECONDS, 6 SECONDS)) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(priority_announce), omfg_message, "Priority Alert", 'sound/announcer/announcement/announce_syndi.ogg', null, "Nanotrasen Department of Transportation: Central Command"), rand(2 SECONDS, 6 SECONDS)) for(var/mob/iter_player as anything in GLOB.player_list) if(IS_CULTIST(iter_player)) iter_player.client?.give_award(/datum/award/achievement/misc/cult_shuttle_omfg, iter_player) @@ -953,8 +953,8 @@ Striking a noncultist, however, will tear their flesh."} attack_verb_continuous = list("attacks", "slices", "shreds", "sunders", "lacerates", "cleaves") attack_verb_simple = list("attack", "slice", "shred", "sunder", "lacerate", "cleave") sharpness = SHARP_EDGED - hitsound = 'sound/weapons/bladeslice.ogg' - block_sound = 'sound/weapons/parry.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' + block_sound = 'sound/items/weapons/parry.ogg' var/datum/action/innate/cult/halberd/halberd_act /obj/item/melee/cultblade/halberd/Initialize(mapload) @@ -984,7 +984,7 @@ Striking a noncultist, however, will tear their flesh."} var/mob/living/target = hit_atom if(IS_CULTIST(target) && target.put_in_active_hand(src)) - playsound(src, 'sound/weapons/throwtap.ogg', 50) + playsound(src, 'sound/items/weapons/throwtap.ogg', 50) target.visible_message(span_warning("[target] catches [src] out of the air!")) return if(target.can_block_magic() || IS_CULTIST(target)) @@ -1004,7 +1004,7 @@ Striking a noncultist, however, will tear their flesh."} T.visible_message(span_warning("[src] shatters and melts back into blood!")) new /obj/effect/temp_visual/cult/sparks(T) new /obj/effect/decal/cleanable/blood/splatter(T) - playsound(T, 'sound/effects/glassbr3.ogg', 100) + playsound(T, 'sound/effects/glass/glassbr3.ogg', 100) qdel(src) /obj/item/melee/cultblade/halberd/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) @@ -1053,7 +1053,7 @@ Striking a noncultist, however, will tear their flesh."} desc = "Blood for blood." color = "#ff0000" ammo_type = /obj/item/ammo_casing/magic/arcane_barrage/blood - fire_sound = 'sound/magic/wand_teleport.ogg' + fire_sound = 'sound/effects/magic/wand_teleport.ogg' /obj/item/ammo_casing/magic/arcane_barrage/blood projectile_type = /obj/projectile/magic/arcane_barrage/blood @@ -1142,7 +1142,7 @@ Striking a noncultist, however, will tear their flesh."} /obj/item/blood_beam/proc/charge(mob/user) var/obj/O - playsound(src, 'sound/magic/lightning_chargeup.ogg', 100, TRUE) + playsound(src, 'sound/effects/magic/lightning_chargeup.ogg', 100, TRUE) for(var/i in 1 to 12) if(!charging) break @@ -1171,7 +1171,7 @@ Striking a noncultist, however, will tear their flesh."} second = !second //Handles beam firing in pairs if(!firing) break - playsound(src, 'sound/magic/exit_blood.ogg', 75, TRUE) + playsound(src, 'sound/effects/magic/exit_blood.ogg', 75, TRUE) new /obj/effect/temp_visual/dir_setting/cult/phase(user.loc, user.dir) var/turf/temp_target = get_turf_in_angle(set_angle, targets_from, 40) for(var/turf/T in get_line(targets_from,temp_target)) @@ -1199,7 +1199,7 @@ Striking a noncultist, however, will tear their flesh."} if(L.density) L.Paralyze(20) L.adjustBruteLoss(45) - playsound(L, 'sound/hallucinations/wail.ogg', 50, TRUE) + playsound(L, 'sound/effects/hallucinations/wail.ogg', 50, TRUE) L.emote("scream") user.Beam(temp_target, icon_state="blood_beam", time = 7, beam_type = /obj/effect/ebeam/blood) @@ -1221,8 +1221,9 @@ Striking a noncultist, however, will tear their flesh."} w_class = WEIGHT_CLASS_BULKY attack_verb_continuous = list("bumps", "prods") attack_verb_simple = list("bump", "prod") - hitsound = 'sound/weapons/smash.ogg' - block_sound = 'sound/weapons/effects/ric5.ogg' + hitsound = 'sound/items/weapons/smash.ogg' + block_sound = 'sound/items/weapons/effects/ric5.ogg' + shield_bash_sound = 'sound/effects/glass/glassknock.ogg' var/illusions = 2 /obj/item/shield/mirror/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) @@ -1233,7 +1234,7 @@ Striking a noncultist, however, will tear their flesh."} var/turf/T = get_turf(owner) T.visible_message(span_warning("The sheer force from [hitby] shatters the mirror shield!")) new /obj/effect/temp_visual/cult/sparks(T) - playsound(T, 'sound/effects/glassbr3.ogg', 100) + playsound(T, 'sound/effects/glass/glassbr3.ogg', 100) owner.Paralyze(25) qdel(src) return FALSE @@ -1270,7 +1271,7 @@ Striking a noncultist, however, will tear their flesh."} illusions++ if(illusions == initial(illusions) && isliving(loc)) var/mob/living/holder = loc - to_chat(holder, "The shield's illusions are back at full strength!") + to_chat(holder, span_cult_italic("The shield's illusions are back at full strength!")) /obj/item/shield/mirror/IsReflect() if(prob(block_chance)) @@ -1285,13 +1286,13 @@ Striking a noncultist, however, will tear their flesh."} target.visible_message(span_warning("[src] bounces off of [target], as if repelled by an unseen force!")) return if(IS_CULTIST(target) && target.put_in_active_hand(src)) - playsound(src, 'sound/weapons/throwtap.ogg', 50) + playsound(src, 'sound/items/weapons/throwtap.ogg', 50) target.visible_message(span_warning("[target] catches [src] out of the air!")) return if(!..()) target.Paralyze(30) new /obj/effect/temp_visual/cult/sparks(target) - playsound(target, 'sound/effects/glassbr3.ogg', 100) + playsound(target, 'sound/effects/glass/glassbr3.ogg', 100) qdel(src) else ..() diff --git a/code/modules/antagonists/cult/cult_objectives.dm b/code/modules/antagonists/cult/cult_objectives.dm index d290b212ab22f..60542f259bf2a 100644 --- a/code/modules/antagonists/cult/cult_objectives.dm +++ b/code/modules/antagonists/cult/cult_objectives.dm @@ -63,7 +63,7 @@ /datum/objective/sacrifice/proc/on_possible_mindswap(mob/source) SIGNAL_HANDLER UnregisterSignal(target.current, list(COMSIG_QDELETING, COMSIG_MOB_MIND_TRANSFERRED_INTO)) - //we check if the mind is bodyless only after mindswap shenanigeans to avoid issues. + //we check if the mind is bodyless only after mindswap shenanigans to avoid issues. addtimer(CALLBACK(src, PROC_REF(do_we_have_a_body)), 0 SECONDS) /datum/objective/sacrifice/proc/do_we_have_a_body() diff --git a/code/modules/antagonists/cult/cult_structure_altar.dm b/code/modules/antagonists/cult/cult_structure_altar.dm index e38591c0c0705..e3fcf645a2f0e 100644 --- a/code/modules/antagonists/cult/cult_structure_altar.dm +++ b/code/modules/antagonists/cult/cult_structure_altar.dm @@ -10,7 +10,7 @@ desc = "A bloodstained altar dedicated to Nar'Sie." cult_examine_tip = "Can be used to create eldritch whetstones, construct shells, and flasks of unholy water." icon_state = "talismanaltar" - break_message = "The altar shatters, leaving only the wailing of the damned!" + break_message = span_warning("The altar shatters, leaving only the wailing of the damned!") mansus_conversion_path = /obj/effect/heretic_rune /obj/structure/destructible/cult/item_dispenser/altar/setup_options() diff --git a/code/modules/antagonists/cult/cult_structure_archives.dm b/code/modules/antagonists/cult/cult_structure_archives.dm index 9917d9505f7be..d4867659651f8 100644 --- a/code/modules/antagonists/cult/cult_structure_archives.dm +++ b/code/modules/antagonists/cult/cult_structure_archives.dm @@ -12,7 +12,7 @@ icon_state = "tomealtar" light_range = 1.5 light_color = LIGHT_COLOR_FIRE - break_message = "The books and tomes of the archives burn into ash as the desk shatters!" + break_message = span_warning("The books and tomes of the archives burn into ash as the desk shatters!") mansus_conversion_path = /obj/item/codex_cicatrix /obj/structure/destructible/cult/item_dispenser/archives/setup_options() diff --git a/code/modules/antagonists/cult/cult_structure_forge.dm b/code/modules/antagonists/cult/cult_structure_forge.dm index 12d15b9296ef4..2ba11b2905afe 100644 --- a/code/modules/antagonists/cult/cult_structure_forge.dm +++ b/code/modules/antagonists/cult/cult_structure_forge.dm @@ -12,7 +12,7 @@ icon_state = "forge" light_range = 2 light_color = LIGHT_COLOR_LAVA - break_message = "The forge breaks apart into shards with a howling scream!" + break_message = span_warning("The forge breaks apart into shards with a howling scream!") mansus_conversion_path = /obj/structure/destructible/eldritch_crucible /obj/structure/destructible/cult/item_dispenser/forge/setup_options() diff --git a/code/modules/antagonists/cult/cult_structure_pylon.dm b/code/modules/antagonists/cult/cult_structure_pylon.dm index e436601325d25..54151f1171e12 100644 --- a/code/modules/antagonists/cult/cult_structure_pylon.dm +++ b/code/modules/antagonists/cult/cult_structure_pylon.dm @@ -5,8 +5,8 @@ icon_state = "pylon" light_range = 1.5 light_color = COLOR_SOFT_RED - break_sound = 'sound/effects/glassbr2.ogg' - break_message = "The blood-red crystal falls to the floor and shatters!" + break_sound = 'sound/effects/glass/glassbr2.ogg' + break_message = span_warning("The blood-red crystal falls to the floor and shatters!") /// Length of the cooldown in between tile corruptions. Doubled if no turfs are found. var/corruption_cooldown_duration = 5 SECONDS /// The cooldown for corruptions. diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index 773f890d25dbb..5aae2a6ccbc22 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -1,7 +1,7 @@ // Cult buildings! /obj/structure/destructible/cult icon = 'icons/obj/antags/cult/structures.dmi' - break_sound = 'sound/hallucinations/veryfar_noise.ogg' + break_sound = 'sound/effects/hallucinations/veryfar_noise.ogg' density = TRUE anchored = TRUE light_power = 2 @@ -137,7 +137,7 @@ /* * Set up and populate our list of options. - * Overriden by subtypes. + * Overridden by subtypes. * * The list of options is a associated list of format: * item_name = list( diff --git a/code/modules/antagonists/cult/datums/cult_team.dm b/code/modules/antagonists/cult/datums/cult_team.dm index 4d77f65f588df..87ad2ab649101 100644 --- a/code/modules/antagonists/cult/datums/cult_team.dm +++ b/code/modules/antagonists/cult/datums/cult_team.dm @@ -55,7 +55,7 @@ if(ratio > CULT_RISEN && !cult_risen) for(var/datum/mind/mind as anything in members) if(mind.current) - SEND_SOUND(mind.current, 'sound/ambience/antag/bloodcult/bloodcult_eyes.ogg') + SEND_SOUND(mind.current, 'sound/music/antag/bloodcult/bloodcult_eyes.ogg') to_chat(mind.current, span_cult_large(span_warning("The veil weakens as your cult grows, your eyes begin to glow..."))) mind.current.AddElement(/datum/element/cult_eyes) cult_risen = TRUE @@ -64,7 +64,7 @@ if(ratio > CULT_ASCENDENT && !cult_ascendent) for(var/datum/mind/mind as anything in members) if(mind.current) - SEND_SOUND(mind.current, 'sound/ambience/antag/bloodcult/bloodcult_halos.ogg') + SEND_SOUND(mind.current, 'sound/music/antag/bloodcult/bloodcult_halos.ogg') to_chat(mind.current, span_cult_large(span_warning("Your cult is ascendant and the red harvest approaches - you cannot hide your true nature for much longer!!"))) mind.current.AddElement(/datum/element/cult_halo) cult_ascendent = TRUE @@ -125,7 +125,7 @@ count++ if(members.len) - parts += "The cultists were:" + parts += span_header("The cultists were:") if(length(true_cultists)) parts += printplayerlist(true_cultists) else @@ -165,7 +165,7 @@ continue to_chat(cultist.current, span_bold(span_cult_large("[marker] has marked [blood_target] in the [target_area.name] as the cult's top priority, get there immediately!"))) - SEND_SOUND(cultist.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'), 0, 1, 75)) + SEND_SOUND(cultist.current, sound(pick('sound/effects/hallucinations/over_here2.ogg','sound/effects/hallucinations/over_here3.ogg'), 0, 1, 75)) cultist.current.client.images += blood_target_image if(duration != INFINITY) diff --git a/code/modules/antagonists/cult/datums/cultist.dm b/code/modules/antagonists/cult/datums/cultist.dm index de415f59c7482..433c9ebedbef8 100644 --- a/code/modules/antagonists/cult/datums/cultist.dm +++ b/code/modules/antagonists/cult/datums/cultist.dm @@ -7,7 +7,7 @@ preview_outfit = /datum/outfit/cultist job_rank = ROLE_CULTIST antag_hud_name = "cult" - stinger_sound = 'sound/ambience/antag/bloodcult/bloodcult_gain.ogg' + stinger_sound = 'sound/music/antag/bloodcult/bloodcult_gain.ogg' ///The vote ability Cultists have to elect someone to be the leader. var/datum/action/innate/cult/mastervote/vote_ability @@ -256,7 +256,7 @@ var/area/current_area = get_area(owner.current) for(var/datum/mind/cult_mind as anything in cult_team.members) - SEND_SOUND(cult_mind, sound('sound/hallucinations/veryfar_noise.ogg')) + SEND_SOUND(cult_mind, sound('sound/effects/hallucinations/veryfar_noise.ogg')) to_chat(cult_mind, span_cult_large("The Cult's Master, [owner.current.name], has fallen in \the [current_area]!")) /datum/antagonist/cult/get_preview_icon() diff --git a/code/modules/antagonists/cult/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm index 3d791dbce44dc..be0e1e88ff8ed 100644 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ b/code/modules/antagonists/cult/rune_spawn_action.dm @@ -67,7 +67,7 @@ var/scribe_mod = scribe_time if(istype(T, /turf/open/floor/engine/cult)) scribe_mod *= 0.5 - playsound(T, 'sound/magic/enter_blood.ogg', 100, FALSE) + playsound(T, 'sound/effects/magic/enter_blood.ogg', 100, FALSE) if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob, break_do_after_checks), health, action_interrupt))) new rune_type(owner.loc, chosen_keyword) else diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 985f5da950193..e334b17e3603a 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -34,7 +34,8 @@ Runes can either be invoked by one's self or with many different cultists. Each icon = 'icons/obj/antags/cult/rune.dmi' icon_state = "1" resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER color = RUNE_COLOR_RED /// The name of the rune to cultists @@ -386,14 +387,14 @@ structure_check() searches for nearby cultist structures required for the invoca qdel(sacrificial) return TRUE if(sacrificial && (signal_result & DUST_SACRIFICE)) // No soulstone when dusted - playsound(sacrificial, 'sound/magic/teleport_diss.ogg', 100, TRUE) + playsound(sacrificial, 'sound/effects/magic/teleport_diss.ogg', 100, TRUE) sacrificial.investigate_log("has been sacrificially dusted by the cult.", INVESTIGATE_DEATHS) sacrificial.dust(TRUE, FALSE, TRUE) else if (sacrificial) var/obj/item/soulstone/stone = new(loc) if(sacrificial.mind && !HAS_TRAIT(sacrificial, TRAIT_SUICIDED)) stone.capture_soul(sacrificial, invokers[1], forced = TRUE) - playsound(sacrificial, 'sound/magic/disintegrate.ogg', 100, TRUE) + playsound(sacrificial, 'sound/effects/magic/disintegrate.ogg', 100, TRUE) sacrificial.investigate_log("has been sacrificially gibbed by the cult.", INVESTIGATE_DEATHS) sacrificial.gib(DROP_ALL_REMAINS) @@ -500,7 +501,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/turf/T = get_turf(src) if(is_away_level(T.z)) - to_chat(user, "You are not in the right dimension!") + to_chat(user, span_cult_italic("You are not in the right dimension!")) log_game("Teleport rune activated by [user] at [COORD(src)] failed - [user] is in away mission.") fail_invoke() return @@ -771,7 +772,7 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) else fail_invoke() return - SEND_SOUND(mob_to_revive, 'sound/ambience/antag/bloodcult/bloodcult_gain.ogg') + SEND_SOUND(mob_to_revive, 'sound/music/antag/bloodcult/bloodcult_gain.ogg') to_chat(mob_to_revive, span_cult_large("\"PASNAR SAVRAE YAM'TOTH. Arise.\"")) mob_to_revive.visible_message(span_warning("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes."), \ span_cult_large("You awaken suddenly from the void. You're alive!")) @@ -849,37 +850,37 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated) return if(isnull(cultist_to_summon)) - to_chat(user, "You require a summoning target!") + to_chat(user, span_cult_italic("You require a summoning target!")) fail_logmsg += "no target." log_game(fail_logmsg) fail_invoke() return if(cultist_to_summon.stat == DEAD) - to_chat(user, "[cultist_to_summon] has died!") + to_chat(user, span_cult_italic("[cultist_to_summon] has died!")) fail_logmsg += "target died." log_game(fail_logmsg) fail_invoke() return if(cultist_to_summon.pulledby || cultist_to_summon.buckled) - to_chat(user, "[cultist_to_summon] is being held in place!") + to_chat(user, span_cult_italic("[cultist_to_summon] is being held in place!")) fail_logmsg += "target restrained." log_game(fail_logmsg) fail_invoke() return if(!IS_CULTIST(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of the Geometer!") + to_chat(user, span_cult_italic("[cultist_to_summon] is not a follower of the Geometer!")) fail_logmsg += "target deconverted." log_game(fail_logmsg) fail_invoke() return if(is_away_level(cultist_to_summon.z)) - to_chat(user, "[cultist_to_summon] is not in our dimension!") + to_chat(user, span_cult_italic("[cultist_to_summon] is not in our dimension!")) fail_logmsg += "target is in away mission." log_game(fail_logmsg) fail_invoke() return cultist_to_summon.visible_message(span_warning("[cultist_to_summon] suddenly disappears in a flash of red light!"), \ - "Overwhelming vertigo consumes you as you are hurled through the air!") + span_cult_italic("Overwhelming vertigo consumes you as you are hurled through the air!")) ..() visible_message(span_warning("A foggy shape materializes atop [src] and solidifies into [cultist_to_summon]!")) var/turf/old_turf = get_turf(cultist_to_summon) @@ -969,12 +970,12 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) /obj/effect/rune/manifest/can_invoke(mob/living/user) if(!(user in get_turf(src))) - to_chat(user, "You must be standing on [src]!") + to_chat(user, span_cult_italic("You must be standing on [src]!")) fail_invoke() log_game("Manifest rune failed - user not standing on rune") return list() if(user.has_status_effect(/datum/status_effect/cultghost)) - to_chat(user, "Ghosts can't summon more ghosts!") + to_chat(user, span_cult_italic("Ghosts can't summon more ghosts!")) fail_invoke() log_game("Manifest rune failed - user is a ghost") return list() @@ -1021,7 +1022,7 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) new_human.set_invis_see(SEE_INVISIBLE_OBSERVER) new_human.add_traits(list(TRAIT_NOBREATH, TRAIT_PERMANENTLY_MORTAL), INNATE_TRAIT) // permanently mortal can be removed once this is a bespoke kind of mob ghosts++ - playsound(src, 'sound/magic/exit_blood.ogg', 50, TRUE) + playsound(src, 'sound/effects/magic/exit_blood.ogg', 50, TRUE) visible_message(span_warning("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo":""]man.")) to_chat(user, span_cult_italic("Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...")) var/obj/structure/emergency_shield/cult/weak/N = new(T) @@ -1136,7 +1137,7 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) intensity = max(60, 360 - (360*(intensity/length(GLOB.player_list) + 0.3)**2)) //significantly lower intensity for "winning" cults var/duration = intensity*10 - playsound(T, 'sound/magic/enter_blood.ogg', 100, TRUE) + playsound(T, 'sound/effects/magic/enter_blood.ogg', 100, TRUE) visible_message(span_warning("A colossal shockwave of energy bursts from the rune, disintegrating it in the process!")) for(var/mob/living/target in range(src, 3)) @@ -1157,7 +1158,7 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, NONE) addtimer(CALLBACK(M, TYPE_PROC_REF(/atom/, remove_alt_appearance),"human_apoc",TRUE), duration) images += A - SEND_SOUND(M, pick(sound('sound/ambience/antag/bloodcult/bloodcult_gain.ogg'),sound('sound/voice/ghost_whisper.ogg'),sound('sound/misc/ghosty_wind.ogg'))) + SEND_SOUND(M, pick(sound('sound/music/antag/bloodcult/bloodcult_gain.ogg'),sound('sound/music/antag/bloodcult/ghost_whisper.ogg'),sound('sound/music/antag/bloodcult/ghosty_wind.ogg'))) else var/construct = pick("wraith","artificer","juggernaut") var/image/B = image('icons/mob/nonhuman-player/cult.dmi',M,construct, ABOVE_MOB_LAYER) diff --git a/code/modules/antagonists/cult/sword_fling.dm b/code/modules/antagonists/cult/sword_fling.dm index 83238b0d8a2f4..d4c1530f06b98 100644 --- a/code/modules/antagonists/cult/sword_fling.dm +++ b/code/modules/antagonists/cult/sword_fling.dm @@ -56,7 +56,7 @@ new particle_to_spawn(get_turf(loccer)) loccer.shake_up_animation() - playsound(loccer, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + playsound(loccer, 'sound/items/weapons/thudswoosh.ogg', 50, TRUE, -1) if(prob(resist_chance)) flinged_sword.forceMove(get_turf(loccer)) diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index f8257b1cbbe39..29515e45bb124 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -233,9 +233,11 @@ var/mob/living/carbon/human/H = owner.current if(!istype(H)) return + if(isplasmaman(H)) - H.equipOutfit(plasmaman_outfit) - H.open_internals(H.get_item_for_held_index(2)) + H.dna.species.outfit_important_for_life = plasmaman_outfit + + H.dna.species.give_important_for_life(H) H.equipOutfit(outfit) if(isplasmaman(H)) @@ -289,3 +291,13 @@ name = "Frontier Militia General" outfit = /datum/outfit/centcom/militia/general role = "General" + +/datum/antagonist/ert/medical_commander + role = "Chief EMT" + outfit = /datum/outfit/centcom/ert/medical_commander + plasmaman_outfit = /datum/outfit/plasmaman/medical_commander + +/datum/antagonist/ert/medical_technician + role = "Emergency Medical Technician" + outfit = /datum/outfit/centcom/ert/medical_technician + plasmaman_outfit = /datum/outfit/plasmaman/medical_technician diff --git a/code/modules/antagonists/fugitive/hunters/hunter_gear.dm b/code/modules/antagonists/fugitive/hunters/hunter_gear.dm index 2905dff3a0f58..8e2b62c8187a4 100644 --- a/code/modules/antagonists/fugitive/hunters/hunter_gear.dm +++ b/code/modules/antagonists/fugitive/hunters/hunter_gear.dm @@ -157,11 +157,11 @@ switch(damage_type) if(BRUTE) if(damage_amount) - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) + playsound(src, 'sound/effects/blob/attackblob.ogg', 50, TRUE) else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + playsound(src, 'sound/items/weapons/tap.ogg', 50, TRUE) if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 100, TRUE) /obj/item/paper/crumpled/fluff/fortune_teller name = "scribbled note" diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm index 82a0f8ca6228f..d6e21bed03bea 100644 --- a/code/modules/antagonists/heretic/heretic_antag.dm +++ b/code/modules/antagonists/heretic/heretic_antag.dm @@ -26,7 +26,8 @@ can_assign_self_objectives = TRUE default_custom_objective = "Turn a department into a testament for your dark knowledge." hardcore_random_bonus = TRUE - stinger_sound = 'sound/ambience/antag/heretic/heretic_gain.ogg' + stinger_sound = 'sound/music/antag/heretic/heretic_gain.ogg' + /// Whether we give this antagonist objectives on gain. var/give_objectives = TRUE /// Whether we've ascended! (Completed one of the final rituals) @@ -513,7 +514,7 @@ for(var/datum/mind/mind as anything in cult_team.members) if(mind.current) - SEND_SOUND(mind.current, 'sound/magic/clockwork/narsie_attack.ogg') + SEND_SOUND(mind.current, 'sound/effects/magic/clockwork/narsie_attack.ogg') to_chat(mind.current, span_cult_large(span_warning("Arcane and forbidden knowledge floods your forges and archives. The cult has learned how to create the ")) + span_cult_large(span_hypnophrase("[result]!"))) return SILENCE_SACRIFICE_MESSAGE|DUST_SACRIFICE diff --git a/code/modules/antagonists/heretic/heretic_monsters.dm b/code/modules/antagonists/heretic/heretic_monsters.dm index 5bc7041cd461d..2cb3dd3bfa4d0 100644 --- a/code/modules/antagonists/heretic/heretic_monsters.dm +++ b/code/modules/antagonists/heretic/heretic_monsters.dm @@ -8,7 +8,7 @@ antag_hud_name = "heretic_beast" suicide_cry = "MY MASTER SMILES UPON ME!!" show_in_antagpanel = FALSE - stinger_sound = 'sound/ambience/antag/heretic/heretic_gain.ogg' + stinger_sound = 'sound/music/antag/heretic/heretic_gain.ogg' /// Our master (a heretic)'s mind. var/datum/mind/master diff --git a/code/modules/antagonists/heretic/influences.dm b/code/modules/antagonists/heretic/influences.dm index abba2c3f1007e..7b316d6cdb984 100644 --- a/code/modules/antagonists/heretic/influences.dm +++ b/code/modules/antagonists/heretic/influences.dm @@ -43,7 +43,7 @@ while((length(smashes) + num_drained) < how_many_can_we_make && location_sanity < 100) var/turf/chosen_location = get_safe_random_station_turf() - // We don't want them close to each other - at least 1 tile of seperation + // We don't want them close to each other - at least 1 tile of separation var/list/nearby_things = range(1, chosen_location) var/obj/effect/heretic_influence/what_if_i_have_one = locate() in nearby_things var/obj/effect/visible_heretic_influence/what_if_i_had_one_but_its_used = locate() in nearby_things diff --git a/code/modules/antagonists/heretic/items/corrupted_organs.dm b/code/modules/antagonists/heretic/items/corrupted_organs.dm index 3bd3ead7f6094..335279c9553a6 100644 --- a/code/modules/antagonists/heretic/items/corrupted_organs.dm +++ b/code/modules/antagonists/heretic/items/corrupted_organs.dm @@ -2,7 +2,7 @@ /obj/item/organ/internal/eyes/corrupt name = "corrupt orbs" desc = "These eyes have seen something they shouldn't have." - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// The override images we are applying var/list/hallucinations @@ -40,7 +40,7 @@ /obj/item/organ/internal/tongue/corrupt name = "corrupt tongue" desc = "This one tells only lies." - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /obj/item/organ/internal/tongue/corrupt/Initialize(mapload) . = ..() @@ -67,7 +67,7 @@ /obj/item/organ/internal/liver/corrupt name = "corrupt liver" desc = "After what you've seen you could really go for a drink." - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// How much extra ingredients to add? var/amount_added = 5 /// What extra ingredients can we add? @@ -111,7 +111,7 @@ /obj/item/organ/internal/stomach/corrupt name = "corrupt stomach" desc = "This parasite demands an unwholesome diet in order to be satisfied." - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// Do we have an unholy thirst? var/thirst_satiated = FALSE /// Timer for when we get thirsty again @@ -177,7 +177,7 @@ /obj/item/organ/internal/heart/corrupt name = "corrupt heart" desc = "What corruption is this spreading along with the blood?" - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// How long until the next heart? COOLDOWN_DECLARE(hand_cooldown) @@ -197,7 +197,7 @@ /obj/item/organ/internal/lungs/corrupt name = "corrupt lungs" desc = "Some things SHOULD be drowned in tar." - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// How likely are we not to cough every time we take a breath? var/cough_chance = 15 /// How much gas to emit? @@ -232,7 +232,7 @@ /obj/item/organ/internal/appendix/corrupt name = "corrupt appendix" desc = "What kind of dark, cosmic force is even going to bother to corrupt an appendix?" - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT + organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// How likely are we to spawn worms? var/worm_chance = 2 diff --git a/code/modules/antagonists/heretic/items/heretic_armor.dm b/code/modules/antagonists/heretic/items/heretic_armor.dm index 0c64e4a227eaf..8375c3ae44334 100644 --- a/code/modules/antagonists/heretic/items/heretic_armor.dm +++ b/code/modules/antagonists/heretic/items/heretic_armor.dm @@ -153,6 +153,7 @@ RemoveElement(/datum/element/heretic_focus) if(isliving(loc)) + REMOVE_TRAIT(loc, TRAIT_RESISTLOWPRESSURE, REF(src)) loc.balloon_alert(loc, "cloak hidden") loc.visible_message(span_notice("Light shifts around [loc], making the cloak around them invisible!")) @@ -163,5 +164,6 @@ AddElement(/datum/element/heretic_focus) if(isliving(loc)) + ADD_TRAIT(loc, TRAIT_RESISTLOWPRESSURE, REF(src)) loc.balloon_alert(loc, "cloak revealed") loc.visible_message(span_notice("A kaleidoscope of colours collapses around [loc], a cloak appearing suddenly around their person!")) diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm index 4d2636fa19e8c..ab98e1b9e4c7c 100644 --- a/code/modules/antagonists/heretic/items/heretic_blades.dm +++ b/code/modules/antagonists/heretic/items/heretic_blades.dm @@ -19,7 +19,7 @@ bare_wound_bonus = 15 toolspeed = 0.375 demolition_mod = 0.8 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' armour_penetration = 35 attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm index 5c73c22a4e793..a738b4aae47ea 100644 --- a/code/modules/antagonists/heretic/items/heretic_necks.dm +++ b/code/modules/antagonists/heretic/items/heretic_necks.dm @@ -1,5 +1,5 @@ /obj/item/clothing/neck/heretic_focus - name = "Amber Focus" + name = "amber focus" desc = "An amber focusing glass that provides a link to the world beyond. The necklace seems to twitch, but only when you look at it from the corner of your eye." icon_state = "eldritch_necklace" w_class = WEIGHT_CLASS_SMALL @@ -10,7 +10,7 @@ AddElement(/datum/element/heretic_focus) /obj/item/clothing/neck/heretic_focus/crimson_medallion - name = "Crimson Medallion" + name = "crimson medallion" desc = "A blood-red focusing glass that provides a link to the world beyond, and worse. Its eye is constantly twitching and gazing in all directions. It almost seems to be silently screaming..." icon_state = "crimson_medallion" /// The aura healing component. Used to delete it when taken off. @@ -105,7 +105,7 @@ . += span_red("You can also squeeze it to recover a large amount of health quickly, at a cost...") /obj/item/clothing/neck/eldritch_amulet - name = "Warm Eldritch Medallion" + name = "warm eldritch medallion" desc = "A strange medallion. Peering through the crystalline surface, the world around you melts away. You see your own beating heart, and the pulsing of a thousand others." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "eye_medalion" @@ -134,7 +134,7 @@ user.update_sight() /obj/item/clothing/neck/eldritch_amulet/piercing - name = "Piercing Eldritch Medallion" + name = "piercing eldritch medallion" desc = "A strange medallion. Peering through the crystalline surface, the light refracts into new and terrifying spectrums of color. You see yourself, reflected off cascading mirrors, warped into impossible shapes." heretic_only_trait = TRAIT_XRAY_VISION @@ -149,7 +149,7 @@ // The amulet conversion tool used by moon heretics /obj/item/clothing/neck/heretic_focus/moon_amulet - name = "Moonlight Amulet" + name = "moonlight amulet" desc = "A piece of the mind, the soul and the moon. Gazing into it makes your head spin and hear whispers of laughter and joy." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "moon_amulette" diff --git a/code/modules/antagonists/heretic/items/hunter_rifle.dm b/code/modules/antagonists/heretic/items/hunter_rifle.dm index 53f1c1555861b..cb8636aed2b14 100644 --- a/code/modules/antagonists/heretic/items/hunter_rifle.dm +++ b/code/modules/antagonists/heretic/items/hunter_rifle.dm @@ -12,7 +12,7 @@ inhand_icon_state = "lionhunter" worn_icon_state = "lionhunter" accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/lionhunter - fire_sound = 'sound/weapons/gun/sniper/shot.ogg' + fire_sound = 'sound/items/weapons/gun/sniper/shot.ogg' SET_BASE_PIXEL(-8, 0) @@ -64,7 +64,7 @@ return TRUE user.balloon_alert(user, "taking aim...") - user.playsound_local(get_turf(user), 'sound/weapons/gun/general/chunkyrack.ogg', 100, TRUE) + user.playsound_local(get_turf(user), 'sound/items/weapons/gun/general/chunkyrack.ogg', 100, TRUE) var/image/reticle = image( icon = 'icons/mob/actions/actions_items.dmi', diff --git a/code/modules/antagonists/heretic/items/labyrinth_handbook.dm b/code/modules/antagonists/heretic/items/labyrinth_handbook.dm index 8555b60f0c393..178b8b16da5b7 100644 --- a/code/modules/antagonists/heretic/items/labyrinth_handbook.dm +++ b/code/modules/antagonists/heretic/items/labyrinth_handbook.dm @@ -41,10 +41,12 @@ . += span_hypnophrase("Materializes a barrier upon any tile in sight, which only you can pass through. Lasts 8 seconds.") . += span_hypnophrase("It has [uses] uses left.") -/obj/item/heretic_labyrinth_handbook/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - return interact_with_atom(interacting_with, user, modifiers) - /obj/item/heretic_labyrinth_handbook/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(HAS_TRAIT(interacting_with, TRAIT_COMBAT_MODE_SKIP_INTERACTION)) + return NONE + return ranged_interact_with_atom(interacting_with, user, modifiers) + +/obj/item/heretic_labyrinth_handbook/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!IS_HERETIC(user)) if(ishuman(user)) var/mob/living/carbon/human/human_user = user @@ -60,7 +62,7 @@ return ITEM_INTERACT_BLOCKING turf_target.visible_message(span_warning("A storm of paper materializes!")) new /obj/effect/temp_visual/paper_scatter(turf_target) - playsound(turf_target, 'sound/magic/smoke.ogg', 30) + playsound(turf_target, 'sound/effects/magic/smoke.ogg', 30) new barrier_type(turf_target, user) uses-- if(uses <= 0) diff --git a/code/modules/antagonists/heretic/items/unfathomable_curio.dm b/code/modules/antagonists/heretic/items/unfathomable_curio.dm index 716b0927f54c6..eff1fa7ea2fe2 100644 --- a/code/modules/antagonists/heretic/items/unfathomable_curio.dm +++ b/code/modules/antagonists/heretic/items/unfathomable_curio.dm @@ -21,6 +21,7 @@ atom_storage.max_total_storage = 21 atom_storage.set_holdable(list( /obj/item/ammo_box/strilka310/lionhunter, + /obj/item/heretic_labyrinth_handbook, /obj/item/bodypart, // Bodyparts are often used in rituals. /obj/item/clothing/neck/eldritch_amulet, /obj/item/clothing/neck/heretic_focus, diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm index 957a78a27269c..4f061ca2d6dda 100644 --- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm @@ -230,7 +230,7 @@ priority_announce( text = "[generate_heretic_text()] Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_ash.ogg', + sound = 'sound/music/antag/heretic/ascend_ash.ogg', color_override = "pink", ) diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.dm b/code/modules/antagonists/heretic/knowledge/blade_lore.dm index 55db187ee73ba..dc76f242c018f 100644 --- a/code/modules/antagonists/heretic/knowledge/blade_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.dm @@ -98,7 +98,7 @@ target.AdjustParalyzed(1.5 SECONDS) target.apply_damage(10, BRUTE, wound_bonus = CANT_WOUND) target.balloon_alert(source, "backstab!") - playsound(get_turf(target), 'sound/weapons/guillotine.ogg', 100, TRUE) + playsound(get_turf(target), 'sound/items/weapons/guillotine.ogg', 100, TRUE) /// The cooldown duration between trigers of blade dance #define BLADE_DANCE_COOLDOWN (20 SECONDS) @@ -184,7 +184,7 @@ addtimer(CALLBACK(src, PROC_REF(reset_riposte), source), BLADE_DANCE_COOLDOWN) /datum/heretic_knowledge/blade_dance/proc/counter_attack(mob/living/carbon/human/source, mob/living/target, obj/item/melee/sickly_blade/weapon, attack_text) - playsound(get_turf(source), 'sound/weapons/parry.ogg', 100, TRUE) + playsound(get_turf(source), 'sound/items/weapons/parry.ogg', 100, TRUE) source.balloon_alert(source, "riposte used") source.visible_message( span_warning("[source] leans into [attack_text] and delivers a sudden riposte back at [target]!"), @@ -423,7 +423,7 @@ priority_announce( text = "[generate_heretic_text()] Master of blades, the Torn Champion's disciple, [user.real_name] has ascended! Their steel is that which will cut reality in a maelstom of silver! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_blade.ogg', + sound = 'sound/music/antag/heretic/ascend_blade.ogg', color_override = "pink", ) ADD_TRAIT(user, TRAIT_NEVER_WOUNDED, name) diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm index dfc8aa39bef29..f6e364766f6ef 100644 --- a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm @@ -191,7 +191,7 @@ combo_counter += 1 if(second_target_resolved) new /obj/effect/temp_visual/cosmic_explosion(get_turf(second_target_resolved)) - playsound(get_turf(second_target_resolved), 'sound/magic/cosmic_energy.ogg', 25, FALSE) + playsound(get_turf(second_target_resolved), 'sound/effects/magic/cosmic_energy.ogg', 25, FALSE) need_mob_update = FALSE need_mob_update += second_target_resolved.adjustFireLoss(14, updating_health = FALSE) need_mob_update += second_target_resolved.adjustOrganLoss(pick(valid_organ_slots), 12) @@ -199,7 +199,7 @@ second_target_resolved.updatehealth() if(third_target_resolved) new /obj/effect/temp_visual/cosmic_domain(get_turf(third_target_resolved)) - playsound(get_turf(third_target_resolved), 'sound/magic/cosmic_energy.ogg', 50, FALSE) + playsound(get_turf(third_target_resolved), 'sound/effects/magic/cosmic_energy.ogg', 50, FALSE) need_mob_update = FALSE need_mob_update += third_target_resolved.adjustFireLoss(28, updating_health = FALSE) need_mob_update += third_target_resolved.adjustOrganLoss(pick(valid_organ_slots), 14) @@ -282,7 +282,7 @@ priority_announce( text = "[generate_heretic_text()] A Star Gazer has arrived into the station, [user.real_name] has ascended! This station is the domain of the Cosmos! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_cosmic.ogg', + sound = 'sound/music/antag/heretic/ascend_cosmic.ogg', color_override = "pink", ) var/mob/living/basic/heretic_summon/star_gazer/star_gazer_mob = new /mob/living/basic/heretic_summon/star_gazer(loc) diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm index 6f5b51d4eba4e..c0fd2b7bbe381 100644 --- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm @@ -329,7 +329,7 @@ priority_announce( text = "[generate_heretic_text()] Ever coiling vortex. Reality unfolded. ARMS OUTREACHED, THE LORD OF THE NIGHT, [user.real_name] has ascended! Fear the ever twisting hand! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_flesh.ogg', + sound = 'sound/music/antag/heretic/ascend_flesh.ogg', color_override = "pink", ) diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.dm b/code/modules/antagonists/heretic/knowledge/lock_lore.dm index 72eacf607de55..ea0b609ef5c13 100644 --- a/code/modules/antagonists/heretic/knowledge/lock_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/lock_lore.dm @@ -90,7 +90,7 @@ var/turf/target_turf = get_turf(target) SEND_SIGNAL(target_turf, COMSIG_ATOM_MAGICALLY_UNLOCKED, src, source) - playsound(target, 'sound/magic/hereticknock.ogg', 100, TRUE, -1) + playsound(target, 'sound/effects/magic/hereticknock.ogg', 100, TRUE, -1) return COMPONENT_USE_HAND @@ -240,7 +240,7 @@ priority_announce( text = "Delta-class dimensional anomaly detec[generate_heretic_text()] Reality rended, torn. Gates open, doors open, [user.real_name] has ascended! Fear the tide! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_knock.ogg', + sound = 'sound/music/antag/heretic/ascend_knock.ogg', color_override = "pink", ) diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm index 3c6b4e2109b69..99ee675c8ecab 100644 --- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm @@ -208,7 +208,7 @@ text = "[generate_heretic_text()] Laugh, for the ringleader [user.real_name] has ascended! \ The truth shall finally devour the lie! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_moon.ogg', + sound = 'sound/music/antag/heretic/ascend_moon.ogg', color_override = "pink", ) diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm index 8c5a4587928dd..c1c1e2a4a04c9 100644 --- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm @@ -255,7 +255,7 @@ priority_announce( text = "[generate_heretic_text()] Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_rust.ogg', + sound = 'sound/music/antag/heretic/ascend_rust.ogg', color_override = "pink", ) trigger(loc) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm index 30757e88a4b29..9c29d15ba67c6 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -115,7 +115,7 @@ if (isnull(spawn_turf)) return new /obj/effect/temp_visual/dir_setting/curse/grasp_portal(spawn_turf, victim.dir) - playsound(spawn_turf, 'sound/effects/curse2.ogg', 80, TRUE, -1) + playsound(spawn_turf, 'sound/effects/curse/curse2.ogg', 80, TRUE, -1) var/obj/projectile/curse_hand/hel/hand = new (spawn_turf) hand.preparePixelProjectile(victim, spawn_turf) if (QDELETED(hand)) // safety check if above fails - above has a stack trace if it does fail diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm index 4b3525c93b044..65e6b6b2470e7 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm @@ -223,7 +223,7 @@ if(prob(min(15 * rewards_given)) && (rewards_given <= 5)) for(var/datum/mind/mind as anything in cultist_datum.cult_team.members) if(mind.current) - SEND_SOUND(mind.current, 'sound/magic/clockwork/narsie_attack.ogg') + SEND_SOUND(mind.current, 'sound/effects/magic/clockwork/narsie_attack.ogg') var/message = span_narsie("A vile heretic has ") + \ span_cult_large(span_hypnophrase("sacrificed")) + \ span_narsie(" one of our own. Destroy and sacrifice the infidel before it claims more!") @@ -249,7 +249,7 @@ // Visible and audible encouragement! to_chat(user, span_big(span_hypnophrase("A servant of the Sanguine Apostate!"))) to_chat(user, span_hierophant("Your patrons are rapturous!")) - playsound(sacrifice, 'sound/magic/disintegrate.ogg', 75, TRUE) + playsound(sacrifice, 'sound/effects/magic/disintegrate.ogg', 75, TRUE) // Drop all items and splatter them around messily. var/list/dustee_items = sacrifice.unequip_everything() @@ -281,7 +281,7 @@ return // Remove the outline, we don't need it anymore. rune?.remove_filter("reward_outline") - playsound(loc, 'sound/magic/repulse.ogg', 75, TRUE) + playsound(loc, 'sound/effects/magic/repulse.ogg', 75, TRUE) var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) ASSERT(heretic_datum) // This list will be almost identical to unlocked_heretic_items, with the same keys, the difference being the values will be 1 to 5. @@ -389,7 +389,7 @@ curse_organs(sac_target) // Send 'em to the destination. If the teleport fails, just disembowel them and stop the chain - if(!destination || !do_teleport(sac_target, destination, asoundin = 'sound/magic/repulse.ogg', asoundout = 'sound/magic/blind.ogg', no_effects = TRUE, channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE)) + if(!destination || !do_teleport(sac_target, destination, asoundin = 'sound/effects/magic/repulse.ogg', asoundout = 'sound/effects/magic/blind.ogg', no_effects = TRUE, channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE)) disembowel_target(sac_target) return @@ -403,7 +403,7 @@ to_chat(sac_target, span_big(span_hypnophrase("Unnatural forces begin to claw at your every being from beyond the veil."))) - playsound(sac_target, 'sound/ambience/antag/heretic/heretic_sacrifice.ogg', 50, FALSE) // play theme + playsound(sac_target, 'sound/music/antag/heretic/heretic_sacrifice.ogg', 50, FALSE) // play theme sac_target.apply_status_effect(/datum/status_effect/unholy_determination, SACRIFICE_REALM_DURATION) addtimer(CALLBACK(src, PROC_REF(after_target_wakes), sac_target), SACRIFICE_SLEEP_DURATION * 0.5) // Begin the minigame @@ -501,6 +501,7 @@ sac_target.remove_status_effect(/datum/status_effect/necropolis_curse) sac_target.remove_status_effect(/datum/status_effect/unholy_determination) sac_target.reagents?.del_reagent(/datum/reagent/inverse/helgrasp/heretic) + sac_target.uncuff() sac_target.clear_mood_event("shadow_realm") if(IS_HERETIC(sac_target)) var/datum/antagonist/heretic/victim_heretic = sac_target.mind?.has_antag_datum(/datum/antagonist/heretic) @@ -524,7 +525,7 @@ safe_turf = get_turf(backup_loc) stack_trace("[type] - return_target was unable to find a safe turf for [sac_target] to return to. Defaulting to observer start turf.") - if(!do_teleport(sac_target, safe_turf, asoundout = 'sound/magic/blind.ogg', no_effects = TRUE, channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE)) + if(!do_teleport(sac_target, safe_turf, asoundout = 'sound/effects/magic/blind.ogg', no_effects = TRUE, channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE)) safe_turf = get_turf(backup_loc) sac_target.forceMove(safe_turf) stack_trace("[type] - return_target was unable to teleport [sac_target] to the observer start turf. Forcemoving.") diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm index 5055d2d9628ce..07b126fe74f2f 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm @@ -91,7 +91,7 @@ GLOBAL_LIST_EMPTY(heretic_sacrifice_landmarks) /area/centcom/heretic_sacrifice/Initialize(mapload) if(!ambientsounds) - ambientsounds = GLOB.ambience_assoc[ambience_index] + 'sound/ambience/ambiatm1.ogg' + ambientsounds = GLOB.ambience_assoc[ambience_index] + 'sound/ambience/misc/ambiatm1.ogg' return ..() /area/centcom/heretic_sacrifice/ash //also, the default diff --git a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm index 3a0f17ed48391..2bae6ed540296 100644 --- a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm +++ b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm @@ -47,7 +47,7 @@ desc = "Allows you to transmute any ballistic weapon, such as a pipegun, with hide \ from any animal, a plank of wood, and a camera to create the Lionhunter's rifle. \ The Lionhunter's Rifle is a long ranged ballistic weapon with three shots. \ - These shots function as normal, albeit weak high caliber mutitions when fired from \ + These shots function as normal, albeit weak high-caliber munitions when fired from \ close range or at inanimate objects. You can aim the rifle at distant foes, \ causing the shot to deal massively increased damage and hone in on them." gain_text = "I met an old man in an antique shop who wielded a very unusual weapon. \ diff --git a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm index a958ab3f272bb..d54646fe103b2 100644 --- a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm +++ b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm @@ -37,6 +37,23 @@ route = PATH_SIDE depth = 8 +/datum/heretic_knowledge/spell/void_prison + name = "Void Prison" + desc = "Grants you Void Prison, a spell that places your victim into ball, making them unable to do anything or speak. \ + Applies void chill afterwards." + gain_text = "At first, I see myself, waltzing along a snow-laden street. \ + I try to yell, grab hold of this fool and tell them to run. \ + But the only welts made are on my own beating fist. \ + My smiling face turns to regard me, reflecting back in glassy eyes the empty path I have been lead down." + next_knowledge = list( + /datum/heretic_knowledge/spell/void_phase, + /datum/heretic_knowledge/summon/raw_prophet, + ) + spell_to_add = /datum/action/cooldown/spell/pointed/void_prison + cost = 1 + route = PATH_SIDE + depth = 8 + /datum/heretic_knowledge/spell/cleave name = "Blood Cleave" desc = "Grants you Cleave, an area-of-effect targeted spell \ diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.dm b/code/modules/antagonists/heretic/knowledge/starting_lore.dm index ad48bb8fee331..2b5186bb55019 100644 --- a/code/modules/antagonists/heretic/knowledge/starting_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.dm @@ -109,27 +109,24 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) /datum/heretic_knowledge/living_heart/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) var/datum/antagonist/heretic/our_heretic = GET_HERETIC(user) var/obj/item/organ/our_living_heart = user.get_organ_slot(our_heretic.living_heart_organ_slot) - // Obviously you need a heart in your chest to do a ritual on your... heart - if(!our_living_heart) - loc.balloon_alert(user, "ritual failed, you have no [our_heretic.living_heart_organ_slot]!") // "you have no heart!" - return FALSE - // For sanity's sake, check if they've got a heart - + // For sanity's sake, check if they've got a living heart - // even though it's not invokable if you already have one, // they may have gained one unexpectantly in between now and then - if(HAS_TRAIT(our_living_heart, TRAIT_LIVING_HEART)) - loc.balloon_alert(user, "ritual failed, already have a living heart!") - return FALSE + if(!QDELETED(our_living_heart)) + if(HAS_TRAIT(our_living_heart, TRAIT_LIVING_HEART)) + loc.balloon_alert(user, "ritual failed, already have a living heart!") + return FALSE - // By this point they are making a new heart - // If their current heart is organic / not synthetic, we can continue the ritual as normal - if(is_valid_heart(our_living_heart)) - return TRUE + // By this point they are making a new heart + // If their current heart is organic / not synthetic, we can continue the ritual as normal + if(is_valid_heart(our_living_heart)) + return TRUE - // If their current heart is not organic / is synthetic, they need an organic replacement - // ...But if our organ-to-be-replaced is unremovable, we're screwed - if(our_living_heart.organ_flags & ORGAN_UNREMOVABLE) - loc.balloon_alert(user, "ritual failed, [our_heretic.living_heart_organ_slot] unremovable!") // "heart unremovable!" - return FALSE + // If their current heart is not organic / is synthetic, they need an organic replacement + // ...But if our organ-to-be-replaced is unremovable, we're screwed + if(our_living_heart.organ_flags & ORGAN_UNREMOVABLE) + loc.balloon_alert(user, "ritual failed, [our_heretic.living_heart_organ_slot] unremovable!") // "heart unremovable!" + return FALSE // Otherwise, seek out a replacement in our atoms for(var/obj/item/organ/nearby_organ in atoms) @@ -151,17 +148,21 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) // Our heart is robotic or synthetic - we need to replace it, and we fortunately should have one by here if(!is_valid_heart(our_new_heart)) var/obj/item/organ/our_replacement_heart = locate(required_organ_type) in selected_atoms - if(our_replacement_heart) + if(!our_replacement_heart) + CRASH("[type] required a replacement organic heart in on_finished_recipe, but did not find one.") + // Repair the organic heart, if needed, to just below the high threshold + if(our_replacement_heart.damage >= our_replacement_heart.high_threshold) + our_replacement_heart.set_organ_damage(our_replacement_heart.high_threshold - 1) + // And now, put our organic heart in its place + our_replacement_heart.Insert(user, TRUE, TRUE) + if(our_new_heart) // Throw our current heart out of our chest, violently user.visible_message(span_boldwarning("[user]'s [our_new_heart.name] bursts suddenly out of [user.p_their()] chest!")) INVOKE_ASYNC(user, TYPE_PROC_REF(/mob, emote), "scream") user.apply_damage(20, BRUTE, BODY_ZONE_CHEST) - // And put our organic heart in its place - our_replacement_heart.Insert(user, TRUE, TRUE) + selected_atoms -= our_new_heart // so we don't delete our old heart while we dramatically toss is out our_new_heart.throw_at(get_edge_target_turf(user, pick(GLOB.alldirs)), 2, 2) - our_new_heart = our_replacement_heart - else - CRASH("[type] required a replacement organic heart in on_finished_recipe, but did not find one.") + our_new_heart = our_replacement_heart if(!our_new_heart) CRASH("[type] somehow made it to on_finished_recipe without a heart. What?") @@ -177,12 +178,12 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) // Make it the living heart our_new_heart.AddComponent(/datum/component/living_heart) to_chat(user, span_warning("You feel your [our_new_heart.name] begin pulse faster and faster as it awakens!")) - playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(user, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) return TRUE /// Checks if the passed heart is a valid heart to become a living heart /datum/heretic_knowledge/living_heart/proc/is_valid_heart(obj/item/organ/new_heart) - if(!new_heart) + if(QDELETED(new_heart)) return FALSE if(!new_heart.useable) return FALSE @@ -233,7 +234,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) gain_text = "The occult leaves fragments of knowledge and power anywhere and everywhere. The Codex Cicatrix is one such example. \ Within the leather-bound faces and age old pages, a path into the Mansus is revealed." required_atoms = list( - /obj/item/book = 1, + list(/obj/item/toy/eldritch_book, /obj/item/book) = 1, /obj/item/pen = 1, list(/mob/living, /obj/item/stack/sheet/leather, /obj/item/stack/sheet/animalhide) = 1, ) @@ -296,7 +297,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) var/obj/item/book/le_book = locate() in selected_atoms if(!le_book) stack_trace("Somehow, no book in codex cicatrix selected atoms! [english_list(selected_atoms)]") - playsound(body, 'sound/items/poster_ripped.ogg', 100, TRUE) + playsound(body, 'sound/items/poster/poster_ripped.ogg', 100, TRUE) body.do_jitter_animation() body.visible_message(span_danger("An awful ripping sound is heard as [ripped_thing]'s [exterior_text] is ripped straight out, wrapping around [le_book || "the book"], turning into an eldritch shade of blue!")) return ..() @@ -328,7 +329,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) heretic_datum.feast_of_owls = TRUE user.set_temp_blindness(reward * 1 SECONDS) user.AdjustParalyzed(reward * 1 SECONDS) - user.playsound_local(get_turf(user), 'sound/ambience/antag/heretic/heretic_gain_intense.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) + user.playsound_local(get_turf(user), 'sound/music/antag/heretic/heretic_gain_intense.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) for(var/i in 1 to reward) user.emote("scream") playsound(loc, 'sound/items/eatfood.ogg', 100, TRUE) diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm index 11031a51aca96..cc7cc085364c0 100644 --- a/code/modules/antagonists/heretic/knowledge/void_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm @@ -12,9 +12,10 @@ * * Mark of Void * Ritual of Knowledge - * Cone of Cold + * Void Conduit * Void Phase * > Sidepaths: + * Void Stasis * Carving Knife * Blood Siphon * @@ -78,7 +79,7 @@ var/mob/living/carbon/carbon_target = target carbon_target.adjust_silence(10 SECONDS) - carbon_target.apply_status_effect(/datum/status_effect/void_chill) + carbon_target.apply_status_effect(/datum/status_effect/void_chill, 2) /datum/heretic_knowledge/cold_snap name = "Aristocrat's Way" @@ -96,12 +97,29 @@ research_tree_icon_path = 'icons/effects/effects.dmi' research_tree_icon_state = "the_freezer" depth = 4 + /// Traits we apply to become immune to the environment + var/static/list/gain_traits = list(TRAIT_NO_SLIP_ICE, TRAIT_NO_SLIP_SLIDE) /datum/heretic_knowledge/cold_snap/on_gain(mob/user, datum/antagonist/heretic/our_heretic) user.add_traits(list(TRAIT_NOBREATH, TRAIT_RESISTCOLD), type) + RegisterSignal(user, COMSIG_LIVING_LIFE, PROC_REF(check_environment)) /datum/heretic_knowledge/cold_snap/on_lose(mob/user, datum/antagonist/heretic/our_heretic) user.remove_traits(list(TRAIT_RESISTCOLD, TRAIT_NOBREATH), type) + UnregisterSignal(user, COMSIG_LIVING_LIFE) + +///Checks if our traits should be active +/datum/heretic_knowledge/cold_snap/proc/check_environment(mob/living/user) + SIGNAL_HANDLER + + var/datum/gas_mixture/environment = user.loc?.return_air() + if(!isnull(environment)) + var/affected_temperature = environment.return_temperature() + var/affected_pressure = environment.return_pressure() + if(affected_temperature <= T0C || affected_pressure < ONE_ATMOSPHERE) + user.add_traits(gain_traits, type) + else + user.remove_traits(gain_traits, type) /datum/heretic_knowledge/mark/void_mark name = "Mark of Void" @@ -114,17 +132,17 @@ mark_type = /datum/status_effect/eldritch/void /datum/heretic_knowledge/knowledge_ritual/void - next_knowledge = list(/datum/heretic_knowledge/spell/void_cone) + next_knowledge = list(/datum/heretic_knowledge/spell/void_conduit) route = PATH_VOID -/datum/heretic_knowledge/spell/void_cone - name = "Void Blast" - desc = "Grants you Void Blast, a spell that shoots out a freezing blast in a cone in front of you, \ - freezing the ground and any victims within." - gain_text = "Every door I open racks my body. I am afraid of what is behind them. Someone is expecting me, \ - and my legs start to drag. Is that... snow?" +/datum/heretic_knowledge/spell/void_conduit + name = "Void Conduit" + desc = "Grants you Void Conduit, a spell which summons a pulsing gate to the Void itself. Every pulse breaks windows and airlocks, while afflicting Heathens with an eldritch chill and shielding Heretics against low pressure." + gain_text = "The hum in the still, cold air turns to a cacophonous rattle. \ + Over the noise, there is no distinction to the clattering of window panes and the yawning knowledge that ricochets through my skull. \ + The doors won't close. I can't keep the cold out now." next_knowledge = list(/datum/heretic_knowledge/spell/void_phase) - spell_to_add = /datum/action/cooldown/spell/cone/staggered/cone_of_cold/void + spell_to_add = /datum/action/cooldown/spell/conjure/void_conduit cost = 1 route = PATH_VOID depth = 7 @@ -139,6 +157,7 @@ /datum/heretic_knowledge/blade_upgrade/void, /datum/heretic_knowledge/reroll_targets, /datum/heretic_knowledge/spell/blood_siphon, + /datum/heretic_knowledge/spell/void_prison, /datum/heretic_knowledge/rune_carver, ) spell_to_add = /datum/action/cooldown/spell/pointed/void_phase @@ -149,13 +168,19 @@ /datum/heretic_knowledge/blade_upgrade/void name = "Seeking Blade" - desc = "You can now attack distant marked targets with your Void Blade, teleporting directly next to them." + desc = "Your blade now freezes enemies. Additionally, you can now attack distant marked targets with your Void Blade, teleporting directly next to them." gain_text = "Fleeting memories, fleeting feet. I mark my way with frozen blood upon the snow. Covered and forgotten." next_knowledge = list(/datum/heretic_knowledge/spell/void_pull) route = PATH_VOID research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_void" +/datum/heretic_knowledge/blade_upgrade/void/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade) + if(source == target) + return + + target.apply_status_effect(/datum/status_effect/void_chill, 2) + /datum/heretic_knowledge/blade_upgrade/void/do_ranged_effects(mob/living/user, mob/living/target, obj/item/melee/sickly_blade/blade) if(!target.has_status_effect(/datum/status_effect/eldritch)) return @@ -200,6 +225,8 @@ var/datum/looping_sound/void_loop/sound_loop ///Reference to the ongoing voidstrom that surrounds the heretic var/datum/weather/void_storm/storm + ///The storm where there are actual effects + var/datum/proximity_monitor/advanced/void_storm/heavy_storm /datum/heretic_knowledge/ultimate/void_final/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) if(!isopenturf(loc)) @@ -218,19 +245,25 @@ priority_announce( text = "[generate_heretic_text()] The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! [generate_heretic_text()]", title = "[generate_heretic_text()]", - sound = 'sound/ambience/antag/heretic/ascend_void.ogg', + sound = 'sound/music/antag/heretic/ascend_void.ogg', color_override = "pink", ) - ADD_TRAIT(user, TRAIT_RESISTLOWPRESSURE, MAGIC_TRAIT) + user.add_traits(list(TRAIT_RESISTLOWPRESSURE, TRAIT_NEGATES_GRAVITY, TRAIT_MOVE_FLYING, TRAIT_FREE_HYPERSPACE_MOVEMENT), MAGIC_TRAIT) // Let's get this show on the road! sound_loop = new(user, TRUE, TRUE) RegisterSignal(user, COMSIG_LIVING_LIFE, PROC_REF(on_life)) - RegisterSignal(user, COMSIG_LIVING_DEATH, PROC_REF(on_death)) + RegisterSignal(user, COMSIG_ATOM_PRE_BULLET_ACT, PROC_REF(hit_by_projectile)) + RegisterSignals(user, list(COMSIG_LIVING_DEATH, COMSIG_QDELETING), PROC_REF(on_death)) + heavy_storm = new(user, 10) + if(ishuman(user)) + var/mob/living/carbon/human/ascended_human = user + var/obj/item/organ/internal/eyes/heretic_eyes = ascended_human.get_organ_slot(ORGAN_SLOT_EYES) + heretic_eyes?.color_cutoffs = list(30, 30, 30) + ascended_human.update_sight() /datum/heretic_knowledge/ultimate/void_final/on_lose(mob/user, datum/antagonist/heretic/our_heretic) on_death() // Losing is pretty much dying. I think - RegisterSignals(user, list(COMSIG_LIVING_LIFE, COMSIG_LIVING_DEATH)) /** * Signal proc for [COMSIG_LIVING_LIFE]. @@ -243,10 +276,29 @@ /datum/heretic_knowledge/ultimate/void_final/proc/on_life(mob/living/source, seconds_per_tick, times_fired) SIGNAL_HANDLER - for(var/mob/living/carbon/close_carbon in view(5, source)) - if(IS_HERETIC_OR_MONSTER(close_carbon)) - continue - close_carbon.adjust_silence_up_to(2 SECONDS, 20 SECONDS) + for(var/atom/thing_in_range as anything in range(10, source)) + if(iscarbon(thing_in_range)) + var/mob/living/carbon/close_carbon = thing_in_range + if(IS_HERETIC_OR_MONSTER(close_carbon)) + close_carbon.apply_status_effect(/datum/status_effect/void_conduit) + continue + close_carbon.adjust_silence_up_to(2 SECONDS, 20 SECONDS) + close_carbon.apply_status_effect(/datum/status_effect/void_chill, 1) + close_carbon.adjust_eye_blur(rand(0 SECONDS, 2 SECONDS)) + close_carbon.adjust_bodytemperature(-30 * TEMPERATURE_DAMAGE_COEFFICIENT) + + if(istype(thing_in_range, /obj/machinery/door) || istype(thing_in_range, /obj/structure/door_assembly)) + var/obj/affected_door = thing_in_range + affected_door.take_damage(rand(60, 80)) + + if(istype(thing_in_range, /obj/structure/window) || istype(thing_in_range, /obj/structure/grille)) + var/obj/structure/affected_structure = thing_in_range + affected_structure.take_damage(rand(20, 40)) + + if(isturf(thing_in_range)) + var/turf/affected_turf = thing_in_range + var/datum/gas_mixture/environment = affected_turf.return_air() + environment.temperature *= 0.9 // Telegraph the storm in every area on the station. var/list/station_levels = SSmapping.levels_by_trait(ZTRAIT_STATION) @@ -254,14 +306,6 @@ storm = new /datum/weather/void_storm(station_levels) storm.telegraph() - // When the heretic enters a new area, intensify the storm in the new area, - // and lessen the intensity in the former area. - var/area/source_area = get_area(source) - if(!storm.impacted_areas[source_area]) - storm.former_impacted_areas |= storm.impacted_areas - storm.impacted_areas = list(source_area) - storm.update_areas() - /** * Signal proc for [COMSIG_LIVING_DEATH]. * @@ -275,3 +319,32 @@ if(storm) storm.end() QDEL_NULL(storm) + if(heavy_storm) + QDEL_NULL(heavy_storm) + UnregisterSignal(source, list(COMSIG_LIVING_LIFE, COMSIG_ATOM_PRE_BULLET_ACT, COMSIG_LIVING_DEATH, COMSIG_QDELETING)) + +///Few checks to determine if we can deflect bullets +/datum/heretic_knowledge/ultimate/void_final/proc/can_deflect(mob/living/ascended_heretic) + if(!(ascended_heretic.mobility_flags & MOBILITY_USE)) + return FALSE + if(!isturf(ascended_heretic.loc)) + return FALSE + return TRUE + +/datum/heretic_knowledge/ultimate/void_final/proc/hit_by_projectile(mob/living/ascended_heretic, obj/projectile/hitting_projectile, def_zone) + SIGNAL_HANDLER + + if(!can_deflect(ascended_heretic)) + return NONE + + ascended_heretic.visible_message( + span_danger("The void storm surrounding [ascended_heretic] deflects [hitting_projectile]!"), + span_userdanger("The void storm protects you from [hitting_projectile]!"), + ) + playsound(ascended_heretic, pick('sound/effects/magic/VoidDeflect01.ogg', 'sound/effects/magic/VoidDeflect02.ogg', 'sound/effects/magic/VoidDeflect03.ogg'), 75, TRUE) + hitting_projectile.firer = ascended_heretic + if(prob(75)) + hitting_projectile.set_angle(get_angle(hitting_projectile.firer, hitting_projectile.fired_from)) + else + hitting_projectile.set_angle(rand(0, 360))//SHING + return COMPONENT_BULLET_PIERCED diff --git a/code/modules/antagonists/heretic/magic/aggressive_spread.dm b/code/modules/antagonists/heretic/magic/aggressive_spread.dm index dfb4a94847406..77c6a6227deb8 100644 --- a/code/modules/antagonists/heretic/magic/aggressive_spread.dm +++ b/code/modules/antagonists/heretic/magic/aggressive_spread.dm @@ -5,7 +5,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "corrode" - sound = 'sound/items/welder.ogg' + sound = 'sound/items/tools/welder.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS diff --git a/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm b/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm index e792dc116da6f..a11c8d1d3a93a 100644 --- a/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm +++ b/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm @@ -20,7 +20,7 @@ if(!.) return //buff our forms so this ascension ability isnt shit - playsound(caster, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(caster, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) var/mob/living/monster = . monster.AddComponent(/datum/component/seethrough_mob) monster.maxHealth *= 1.5 diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.dm b/code/modules/antagonists/heretic/magic/ash_ascension.dm index 8b564198a61eb..f4ed8686c1053 100644 --- a/code/modules/antagonists/heretic/magic/ash_ascension.dm +++ b/code/modules/antagonists/heretic/magic/ash_ascension.dm @@ -67,7 +67,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "fire_ring" - sound = 'sound/items/welder.ogg' + sound = 'sound/items/tools/welder.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS @@ -151,7 +151,7 @@ if(L.can_block_magic()) L.visible_message(span_danger("The spell bounces off of [L]!"), span_danger("The spell bounces off of you!")) continue - if(L in hit_list || L == source) + if((L in hit_list) || L == source) continue hit_list += L L.adjustFireLoss(20) diff --git a/code/modules/antagonists/heretic/magic/blood_siphon.dm b/code/modules/antagonists/heretic/magic/blood_siphon.dm index 1e3d6258826d4..1801b6d9dbc9f 100644 --- a/code/modules/antagonists/heretic/magic/blood_siphon.dm +++ b/code/modules/antagonists/heretic/magic/blood_siphon.dm @@ -25,7 +25,7 @@ /datum/action/cooldown/spell/pointed/blood_siphon/cast(mob/living/cast_on) . = ..() - playsound(owner, 'sound/magic/demon_attack1.ogg', 75, TRUE) + playsound(owner, 'sound/effects/magic/demon_attack1.ogg', 75, TRUE) if(cast_on.can_block_magic()) owner.balloon_alert(owner, "spell blocked!") cast_on.visible_message( diff --git a/code/modules/antagonists/heretic/magic/caretaker.dm b/code/modules/antagonists/heretic/magic/caretaker.dm index 86ff285001917..b882386329a89 100644 --- a/code/modules/antagonists/heretic/magic/caretaker.dm +++ b/code/modules/antagonists/heretic/magic/caretaker.dm @@ -8,7 +8,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "caretaker" - sound = 'sound/effects/curse2.ogg' + sound = 'sound/effects/curse/curse2.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 1 MINUTES diff --git a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm index 3fb197d392cb0..9baf3366f4ba8 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm @@ -7,7 +7,7 @@ button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "cosmic_domain" - sound = 'sound/magic/cosmic_expansion.ogg' + sound = 'sound/effects/magic/cosmic_expansion.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS diff --git a/code/modules/antagonists/heretic/magic/cosmic_runes.dm b/code/modules/antagonists/heretic/magic/cosmic_runes.dm index 207b60ae9393a..be8f103678e09 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_runes.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_runes.dm @@ -7,7 +7,7 @@ button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "cosmic_rune" - sound = 'sound/magic/forcewall.ogg' + sound = 'sound/effects/magic/forcewall.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS @@ -57,7 +57,8 @@ icon = 'icons/obj/service/hand_of_god_structures.dmi' icon_state = "cosmic_rune" resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER /// The other rune this rune is linked with var/datum/weakref/linked_rune /// Effect for when someone teleports @@ -99,8 +100,8 @@ get_turf(linked_rune_resolved), no_effects = TRUE, channel = TELEPORT_CHANNEL_MAGIC, - asoundin = 'sound/magic/cosmic_energy.ogg', - asoundout = 'sound/magic/cosmic_energy.ogg', + asoundin = 'sound/effects/magic/cosmic_energy.ogg', + asoundout = 'sound/effects/magic/cosmic_energy.ogg', ) for(var/mob/living/person_on_rune in get_turf(src)) if(person_on_rune.has_status_effect(/datum/status_effect/star_mark)) @@ -133,7 +134,8 @@ name = "cosmic rune" icon = 'icons/obj/service/hand_of_god_structures.dmi' icon_state = "cosmic_rune_fade" - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER anchored = TRUE duration = 5 @@ -147,7 +149,8 @@ name = "cosmic rune" icon = 'icons/obj/service/hand_of_god_structures.dmi' icon_state = "cosmic_rune_light" - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER anchored = TRUE duration = 5 diff --git a/code/modules/antagonists/heretic/magic/expand_sight.dm b/code/modules/antagonists/heretic/magic/expand_sight.dm index e9715c9a77926..126a5a180ec2f 100644 --- a/code/modules/antagonists/heretic/magic/expand_sight.dm +++ b/code/modules/antagonists/heretic/magic/expand_sight.dm @@ -17,7 +17,7 @@ /datum/action/innate/expand_sight/Activate() active = TRUE owner.client?.view_size.setTo(boost_to) - playsound(owner, pick('sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE) + playsound(owner, pick('sound/effects/hallucinations/i_see_you1.ogg', 'sound/effects/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE) COOLDOWN_START(src, last_toggle, 8 SECONDS) /datum/action/innate/expand_sight/Deactivate() diff --git a/code/modules/antagonists/heretic/magic/fire_blast.dm b/code/modules/antagonists/heretic/magic/fire_blast.dm index 4c17ca5ffc0de..104b4697cd2d0 100644 --- a/code/modules/antagonists/heretic/magic/fire_blast.dm +++ b/code/modules/antagonists/heretic/magic/fire_blast.dm @@ -7,7 +7,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "flames" - sound = 'sound/magic/fireball.ogg' + sound = 'sound/effects/magic/fireball.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS diff --git a/code/modules/antagonists/heretic/magic/flesh_surgery.dm b/code/modules/antagonists/heretic/magic/flesh_surgery.dm index ff474f063198f..87d1927cc977c 100644 --- a/code/modules/antagonists/heretic/magic/flesh_surgery.dm +++ b/code/modules/antagonists/heretic/magic/flesh_surgery.dm @@ -96,7 +96,7 @@ var/organ_hp_to_heal = to_heal.maxHealth * organ_percent_healing to_heal.set_organ_damage(max(0 , to_heal.damage - organ_hp_to_heal)) to_heal.balloon_alert(caster, "organ healed") - playsound(to_heal, 'sound/magic/staff_healing.ogg', 30) + playsound(to_heal, 'sound/effects/magic/staff_healing.ogg', 30) new /obj/effect/temp_visual/cult/sparks(get_turf(to_heal)) var/condition = (to_heal.damage > 0) ? "better" : "perfect" caster.visible_message( @@ -118,7 +118,7 @@ // while for human minions(ghouls), this will heal brute and burn like normal. So be careful adjusting to bigger numbers to_heal.balloon_alert(caster, "[what_are_we] healed") to_heal.heal_overall_damage(monster_brute_healing, monster_burn_healing) - playsound(to_heal, 'sound/magic/staff_healing.ogg', 30) + playsound(to_heal, 'sound/effects/magic/staff_healing.ogg', 30) new /obj/effect/temp_visual/cult/sparks(get_turf(to_heal)) caster.visible_message( span_warning("[caster]'s hand glows a brilliant red as [caster.p_they()] restore[caster.p_s()] [to_heal] to good condition!"), @@ -181,7 +181,7 @@ ) carbon_victim.balloon_alert(caster, "extracting [chosen_organ]...") - playsound(victim, 'sound/weapons/slice.ogg', 50, TRUE) + playsound(victim, 'sound/items/weapons/slice.ogg', 50, TRUE) carbon_victim.add_atom_colour(COLOR_DARK_RED, TEMPORARY_COLOUR_PRIORITY) if(!do_after(caster, time_it_takes, carbon_victim, extra_checks = CALLBACK(src, PROC_REF(extraction_checks), picked_organ, hand, victim, caster))) carbon_victim.balloon_alert(caster, "interrupted!") diff --git a/code/modules/antagonists/heretic/magic/furious_steel.dm b/code/modules/antagonists/heretic/magic/furious_steel.dm index 0ab882a9289e1..d61ce5d1a3920 100644 --- a/code/modules/antagonists/heretic/magic/furious_steel.dm +++ b/code/modules/antagonists/heretic/magic/furious_steel.dm @@ -7,7 +7,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "furious_steel" - sound = 'sound/weapons/guillotine.ogg' + sound = 'sound/items/weapons/guillotine.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 60 SECONDS @@ -155,7 +155,7 @@ overlay_icon_state = "bg_cult_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "cursed_steel" - sound = 'sound/weapons/guillotine.ogg' + sound = 'sound/items/weapons/guillotine.ogg' cooldown_time = 40 SECONDS invocation = "IA!" diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 43dde25374f89..67df0f2be0468 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -5,7 +5,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "mansus_grasp" - sound = 'sound/items/welder.ogg' + sound = 'sound/items/tools/welder.ogg' school = SCHOOL_EVOCATION cooldown_time = 10 SECONDS @@ -56,7 +56,7 @@ carbon_hit.color = COLOR_CULT_RED animate(carbon_hit, color = old_color, time = 4 SECONDS, easing = EASE_IN) carbon_hit.mob_light(range = 1.5, power = 2.5, color = COLOR_CULT_RED, duration = 0.5 SECONDS) - playsound(carbon_hit, 'sound/magic/curse.ogg', 50, TRUE) + playsound(carbon_hit, 'sound/effects/magic/curse.ogg', 50, TRUE) to_chat(caster, span_warning("An unholy force intervenes as you grasp [carbon_hit], absorbing most of the effects!")) to_chat(carbon_hit, span_warning("As [caster] grasps you with eldritch forces, your blood magic absorbs most of the effects!")) diff --git a/code/modules/antagonists/heretic/magic/mind_gate.dm b/code/modules/antagonists/heretic/magic/mind_gate.dm index c5a6e74452a61..7963c4d6c0266 100644 --- a/code/modules/antagonists/heretic/magic/mind_gate.dm +++ b/code/modules/antagonists/heretic/magic/mind_gate.dm @@ -7,7 +7,7 @@ button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "mind_gate" - sound = 'sound/magic/curse.ogg' + sound = 'sound/effects/magic/curse.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS diff --git a/code/modules/antagonists/heretic/magic/mirror_walk.dm b/code/modules/antagonists/heretic/magic/mirror_walk.dm index b9029e1ab072d..93642c7f324d4 100644 --- a/code/modules/antagonists/heretic/magic/mirror_walk.dm +++ b/code/modules/antagonists/heretic/magic/mirror_walk.dm @@ -67,7 +67,7 @@ if(!do_after(jaunter, phase_out_time, nearby_reflection, IGNORE_USER_LOC_CHANGE|IGNORE_INCAPACITATED, hidden = TRUE)) return - playsound(jaunter, 'sound/magic/ethereal_enter.ogg', 50, TRUE, -1) + playsound(jaunter, 'sound/effects/magic/ethereal_enter.ogg', 50, TRUE, -1) jaunter.visible_message( span_boldwarning("[jaunter] phases out of reality, vanishing before your very eyes!"), span_notice("You jump into the reflection coming off of [nearby_reflection], entering the mirror's realm."), @@ -107,7 +107,7 @@ /datum/action/cooldown/spell/jaunt/mirror_walk/on_jaunt_exited(obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter) . = ..() UnregisterSignal(jaunt, COMSIG_MOVABLE_MOVED) - playsound(unjaunter, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) + playsound(unjaunter, 'sound/effects/magic/ethereal_exit.ogg', 50, TRUE, -1) var/turf/phase_turf = get_turf(unjaunter) // Chilly! diff --git a/code/modules/antagonists/heretic/magic/moon_parade.dm b/code/modules/antagonists/heretic/magic/moon_parade.dm index 3b7f1d007cd6e..e6457a6a2b101 100644 --- a/code/modules/antagonists/heretic/magic/moon_parade.dm +++ b/code/modules/antagonists/heretic/magic/moon_parade.dm @@ -7,7 +7,7 @@ button_icon_state = "moon_parade" ranged_mousepointer = 'icons/effects/mouse_pointers/moon_target.dmi' - sound = 'sound/magic/cosmic_energy.ogg' + sound = 'sound/effects/magic/cosmic_energy.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS diff --git a/code/modules/antagonists/heretic/magic/moon_smile.dm b/code/modules/antagonists/heretic/magic/moon_smile.dm index 35f2d77e3e6b6..63bcc4cc84831 100644 --- a/code/modules/antagonists/heretic/magic/moon_smile.dm +++ b/code/modules/antagonists/heretic/magic/moon_smile.dm @@ -8,7 +8,7 @@ button_icon_state = "moon_smile" ranged_mousepointer = 'icons/effects/mouse_pointers/moon_target.dmi' - sound = 'sound/magic/blind.ogg' + sound = 'sound/effects/magic/blind.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS @@ -35,7 +35,7 @@ to_chat(owner, span_warning("The moon does not smile upon them.")) return FALSE - playsound(cast_on, 'sound/hallucinations/i_see_you1.ogg', 50, 1) + playsound(cast_on, 'sound/effects/hallucinations/i_see_you1.ogg', 50, 1) to_chat(cast_on, span_warning("Your eyes cry out in pain, your ears bleed and your lips seal! THE MOON SMILES UPON YOU!")) cast_on.adjust_temp_blindness(moon_smile_duration + 1 SECONDS) cast_on.set_eye_blur_if_lower(moon_smile_duration + 2 SECONDS) diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm index d3ddc03fbbef3..8ad6ce7829970 100644 --- a/code/modules/antagonists/heretic/magic/realignment.dm +++ b/code/modules/antagonists/heretic/magic/realignment.dm @@ -7,7 +7,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/hud/implants.dmi' button_icon_state = "adrenal" - // sound = 'sound/magic/whistlereset.ogg' + // sound = 'sound/effects/magic/whistlereset.ogg' I have no idea why this was commented out school = SCHOOL_FORBIDDEN cooldown_time = 6 SECONDS diff --git a/code/modules/antagonists/heretic/magic/rust_wave.dm b/code/modules/antagonists/heretic/magic/rust_wave.dm index 0282a32b2b687..b109a068042b9 100644 --- a/code/modules/antagonists/heretic/magic/rust_wave.dm +++ b/code/modules/antagonists/heretic/magic/rust_wave.dm @@ -8,7 +8,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "entropic_plume" - sound = 'sound/magic/forcewall.ogg' + sound = 'sound/effects/magic/forcewall.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS @@ -90,7 +90,7 @@ alpha = 180 damage = 30 damage_type = TOX - hitsound = 'sound/weapons/punch3.ogg' + hitsound = 'sound/items/weapons/punch3.ogg' trigger_range = 0 ignored_factions = list(FACTION_HERETIC) range = 15 @@ -98,7 +98,7 @@ /obj/projectile/magic/aoe/rust_wave/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) . = ..() - playsound(src, 'sound/items/welder.ogg', 75, TRUE) + playsound(src, 'sound/items/tools/welder.ogg', 75, TRUE) var/list/turflist = list() var/turf/T1 turflist += get_turf(src) diff --git a/code/modules/antagonists/heretic/magic/shadow_cloak.dm b/code/modules/antagonists/heretic/magic/shadow_cloak.dm index ad942c71a328a..ca0ca1fa15b05 100644 --- a/code/modules/antagonists/heretic/magic/shadow_cloak.dm +++ b/code/modules/antagonists/heretic/magic/shadow_cloak.dm @@ -7,7 +7,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_minor_antag.dmi' button_icon_state = "ninja_cloak" - sound = 'sound/effects/curse2.ogg' + sound = 'sound/effects/curse/curse2.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 6 SECONDS @@ -36,12 +36,12 @@ /datum/action/cooldown/spell/shadow_cloak/before_cast(mob/living/cast_on) . = ..() sound = pick( - 'sound/effects/curse1.ogg', - 'sound/effects/curse2.ogg', - 'sound/effects/curse3.ogg', - 'sound/effects/curse4.ogg', - 'sound/effects/curse5.ogg', - 'sound/effects/curse6.ogg', + 'sound/effects/curse/curse1.ogg', + 'sound/effects/curse/curse2.ogg', + 'sound/effects/curse/curse3.ogg', + 'sound/effects/curse/curse4.ogg', + 'sound/effects/curse/curse5.ogg', + 'sound/effects/curse/curse6.ogg', ) // We handle the CD on our own return . | SPELL_NO_IMMEDIATE_COOLDOWN @@ -66,7 +66,7 @@ StartCooldown(uncloak_timer / 3) /datum/action/cooldown/spell/shadow_cloak/proc/cloak_mob(mob/living/cast_on) - playsound(cast_on, 'sound/chemistry/ahaha.ogg', 50, TRUE, -1, extrarange = SILENCED_SOUND_EXTRARANGE, frequency = 0.5) + playsound(cast_on, 'sound/effects/chemistry/ahaha.ogg', 50, TRUE, -1, extrarange = SILENCED_SOUND_EXTRARANGE, frequency = 0.5) cast_on.visible_message( span_warning("[cast_on] disappears into the shadows!"), span_notice("You disappear into the shadows, becoming unidentifiable."), @@ -83,7 +83,7 @@ active_cloak = null UnregisterSignal(cast_on, SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING)) - playsound(cast_on, 'sound/effects/curseattack.ogg', 50) + playsound(cast_on, 'sound/effects/curse/curseattack.ogg', 50) if(show_message) cast_on.visible_message( span_warning("[cast_on] appears from the shadows!"), diff --git a/code/modules/antagonists/heretic/magic/space_crawl.dm b/code/modules/antagonists/heretic/magic/space_crawl.dm index 49b9ae96f3088..6a96403872f11 100644 --- a/code/modules/antagonists/heretic/magic/space_crawl.dm +++ b/code/modules/antagonists/heretic/magic/space_crawl.dm @@ -83,7 +83,7 @@ jaunter.put_in_hands(right_hand) RegisterSignal(jaunter, SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING), PROC_REF(on_focus_lost)) - playsound(our_turf, 'sound/magic/cosmic_energy.ogg', 50, TRUE, -1) + playsound(our_turf, 'sound/effects/magic/cosmic_energy.ogg', 50, TRUE, -1) our_turf.visible_message(span_warning("[jaunter] sinks into [our_turf]!")) new /obj/effect/temp_visual/space_explosion(our_turf) jaunter.extinguish_mob() @@ -107,7 +107,7 @@ /datum/action/cooldown/spell/jaunt/space_crawl/on_jaunt_exited(obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter) UnregisterSignal(jaunt, COMSIG_MOVABLE_MOVED) UnregisterSignal(unjaunter, list(SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING))) - playsound(get_turf(unjaunter), 'sound/magic/cosmic_energy.ogg', 50, TRUE, -1) + playsound(get_turf(unjaunter), 'sound/effects/magic/cosmic_energy.ogg', 50, TRUE, -1) new /obj/effect/temp_visual/space_explosion(get_turf(unjaunter)) if(iscarbon(unjaunter)) for(var/obj/item/space_crawl/space_hand in unjaunter.held_items) diff --git a/code/modules/antagonists/heretic/magic/star_blast.dm b/code/modules/antagonists/heretic/magic/star_blast.dm index 3eb62b7ada814..e6f7a96811e40 100644 --- a/code/modules/antagonists/heretic/magic/star_blast.dm +++ b/code/modules/antagonists/heretic/magic/star_blast.dm @@ -6,7 +6,7 @@ button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "star_blast" - sound = 'sound/magic/cosmic_energy.ogg' + sound = 'sound/effects/magic/cosmic_energy.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS @@ -46,7 +46,7 @@ nearby_mob.apply_status_effect(/datum/status_effect/star_mark, cast_on) /obj/projectile/magic/star_ball/Destroy() - playsound(get_turf(src), 'sound/magic/cosmic_energy.ogg', 50, FALSE) + playsound(get_turf(src), 'sound/effects/magic/cosmic_energy.ogg', 50, FALSE) for(var/turf/cast_turf as anything in get_turfs()) new /obj/effect/forcefield/cosmic_field(cast_turf) return ..() diff --git a/code/modules/antagonists/heretic/magic/star_touch.dm b/code/modules/antagonists/heretic/magic/star_touch.dm index 89c5d02e7d498..d9cd5a05eab2b 100644 --- a/code/modules/antagonists/heretic/magic/star_touch.dm +++ b/code/modules/antagonists/heretic/magic/star_touch.dm @@ -10,7 +10,7 @@ button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "star_touch" - sound = 'sound/items/welder.ogg' + sound = 'sound/items/tools/welder.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS invocation = "ST'R 'N'RG'!" @@ -107,8 +107,8 @@ get_turf(star_gazer_mob), no_effects = TRUE, channel = TELEPORT_CHANNEL_MAGIC, - asoundin = 'sound/magic/cosmic_energy.ogg', - asoundout = 'sound/magic/cosmic_energy.ogg', + asoundin = 'sound/effects/magic/cosmic_energy.ogg', + asoundout = 'sound/effects/magic/cosmic_energy.ogg', ) remove_hand_with_no_refund(user) diff --git a/code/modules/antagonists/heretic/magic/void_conduit.dm b/code/modules/antagonists/heretic/magic/void_conduit.dm new file mode 100644 index 0000000000000..036415269c975 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/void_conduit.dm @@ -0,0 +1,128 @@ +/datum/action/cooldown/spell/conjure/void_conduit + name = "Void Conduit" + desc = "Opens a gate to the Void; it releases an intermittent pulse that damages windows and airlocks, \ + while afflicting Heathens with void chill. \ + Affected Heretics instead receive low pressure resistance." + background_icon_state = "bg_heretic" + overlay_icon_state = "bg_heretic_border" + button_icon = 'icons/mob/actions/actions_ecult.dmi' + button_icon_state = "void_rift" + + cooldown_time = 1 MINUTES + + sound = null + school = SCHOOL_FORBIDDEN + invocation = "MBR'C' TH' V''D!" + invocation_type = INVOCATION_SHOUT + spell_requirements = NONE + + summon_radius = 0 + summon_type = list(/obj/structure/void_conduit) + summon_respects_density = TRUE + summon_respects_prev_spawn_points = TRUE + +/obj/structure/void_conduit + name = "Void Conduit" + desc = "An open gate which leads to nothingness. Releases pulses which you do not want to get hit by." + icon = 'icons/effects/effects.dmi' + icon_state = "void_conduit" + anchored = TRUE + density = TRUE + ///Overlay to apply to the tiles in range of the conduit + var/static/image/void_overlay = image(icon = 'icons/turf/overlays.dmi', icon_state = "voidtile") + ///List of tiles that we added an overlay to, so we can clear them when the conduit is deleted + var/list/overlayed_turfs = list() + ///How many tiles far our effect is + var/effect_range = 8 + ///id of the deletion timer + var/timerid + ///Audio loop for the rift being alive + var/datum/looping_sound/void_conduit/soundloop + +/obj/structure/void_conduit/Initialize(mapload) + . = ..() + soundloop = new(src, start_immediately = TRUE) + timerid = QDEL_IN_STOPPABLE(src, 1 MINUTES) + START_PROCESSING(SSobj, src) + build_view_turfs() + +/obj/structure/void_conduit/proc/build_view_turfs() + for(var/turf/affected_turf as anything in overlayed_turfs) + affected_turf.cut_overlay(void_overlay) + for(var/turf/affected_turf as anything in view(effect_range, src)) + if(!isopenturf(affected_turf)) + continue + affected_turf.add_overlay(void_overlay) + overlayed_turfs += affected_turf + void_overlay.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + void_overlay.alpha = 180 + +/obj/structure/void_conduit/Destroy(force) + QDEL_NULL(soundloop) + deltimer(timerid) + STOP_PROCESSING(SSobj, src) + for(var/turf/affected_turf as anything in overlayed_turfs) //If the portal is moved, the overlays don't stick around + affected_turf.cut_overlay(void_overlay) + return ..() + +/obj/structure/void_conduit/process(seconds_per_tick) + build_view_turfs() + do_conduit_pulse() + +///Sends out a pulse +/obj/structure/void_conduit/proc/do_conduit_pulse() + var/list/turfs_to_affect = list() + for(var/turf/affected_turf as anything in view(effect_range, loc)) + var/distance = get_dist(loc, affected_turf) + if(!turfs_to_affect["[distance]"]) + turfs_to_affect["[distance]"] = list() + turfs_to_affect["[distance]"] += affected_turf + + for(var/distance in 0 to effect_range) + if(!turfs_to_affect["[distance]"]) + continue + addtimer(CALLBACK(src, PROC_REF(handle_effects), turfs_to_affect["[distance]"]), (1 SECONDS) * distance) + + new /obj/effect/temp_visual/circle_wave/void_conduit(get_turf(src)) + +///Applies the effects of the pulse "hitting" something. Freezes non-heretic, destroys airlocks/windows +/obj/structure/void_conduit/proc/handle_effects(list/turfs) + for(var/turf/affected_turf as anything in turfs) + for(var/atom/thing_to_affect as anything in affected_turf.contents) + + if(isliving(thing_to_affect)) + var/mob/living/affected_mob = thing_to_affect + if(affected_mob.can_block_magic(MAGIC_RESISTANCE)) + continue + if(IS_HERETIC(affected_mob)) + affected_mob.apply_status_effect(/datum/status_effect/void_conduit) + else + affected_mob.apply_status_effect(/datum/status_effect/void_chill, 1) + + if(istype(thing_to_affect, /obj/machinery/door) || istype(thing_to_affect, /obj/structure/door_assembly)) + var/obj/affected_door = thing_to_affect + affected_door.take_damage(rand(15, 30)) + + if(istype(thing_to_affect, /obj/structure/window) || istype(thing_to_affect, /obj/structure/grille)) + var/obj/structure/affected_structure = thing_to_affect + affected_structure.take_damage(rand(10, 20)) + +/datum/looping_sound/void_conduit + mid_sounds = 'sound/ambience/misc/ambiatm1.ogg' + mid_length = 1 SECONDS + extra_range = 10 + volume = 40 + falloff_distance = 5 + falloff_exponent = 20 + +/datum/status_effect/void_conduit + duration = 15 SECONDS + status_type = STATUS_EFFECT_REPLACE + alert_type = null + +/datum/status_effect/void_conduit/on_apply() + ADD_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "void_conduit") + return TRUE + +/datum/status_effect/void_conduit/on_remove() + REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "void_conduit") diff --git a/code/modules/antagonists/heretic/magic/void_phase.dm b/code/modules/antagonists/heretic/magic/void_phase.dm index 350ca0f29c100..473fa057cf54c 100644 --- a/code/modules/antagonists/heretic/magic/void_phase.dm +++ b/code/modules/antagonists/heretic/magic/void_phase.dm @@ -10,7 +10,7 @@ ranged_mousepointer = 'icons/effects/mouse_pointers/throw_target.dmi' school = SCHOOL_FORBIDDEN - cooldown_time = 30 SECONDS + cooldown_time = 25 SECONDS invocation = "RE'L'TY PH'S'E." invocation_type = INVOCATION_WHISPER @@ -50,13 +50,14 @@ /// Does the AOE effect of the blinka t the passed turf /datum/action/cooldown/spell/pointed/void_phase/proc/cause_aoe(turf/target_turf, effect_type = /obj/effect/temp_visual/voidin) new effect_type(target_turf) - playsound(target_turf, 'sound/magic/voidblink.ogg', 60, FALSE) + playsound(target_turf, 'sound/effects/magic/voidblink.ogg', 60, FALSE) for(var/mob/living/living_mob in range(damage_radius, target_turf)) if(IS_HERETIC_OR_MONSTER(living_mob) || living_mob == owner) continue if(living_mob.can_block_magic(antimagic_flags)) continue living_mob.apply_damage(40, BRUTE, wound_bonus = CANT_WOUND) + living_mob.apply_status_effect(/datum/status_effect/void_chill, 1) /obj/effect/temp_visual/voidin icon = 'icons/effects/96x96.dmi' diff --git a/code/modules/antagonists/heretic/magic/void_prison.dm b/code/modules/antagonists/heretic/magic/void_prison.dm new file mode 100644 index 0000000000000..cfd85c92b6e1c --- /dev/null +++ b/code/modules/antagonists/heretic/magic/void_prison.dm @@ -0,0 +1,101 @@ +/datum/action/cooldown/spell/pointed/void_prison + name = "Void Prison" + desc = "Sends a heathen into the void for 10 seconds. \ + They will be unable to perform any actions for the duration. \ + Afterwards, they will be chilled and returned to the mortal plane." + background_icon_state = "bg_heretic" + overlay_icon_state = "bg_heretic_border" + button_icon = 'icons/mob/actions/actions_ecult.dmi' + button_icon_state = "voidball" + ranged_mousepointer = 'icons/effects/mouse_pointers/throw_target.dmi' + sound = 'sound/effects/magic/voidblink.ogg' + + cooldown_time = 1 MINUTES + cast_range = 3 + + sound = null + school = SCHOOL_FORBIDDEN + invocation = "V''D PR'S'N!" + invocation_type = INVOCATION_SHOUT + spell_requirements = NONE + +/datum/action/cooldown/spell/pointed/void_prison/before_cast(atom/cast_on) + . = ..() + if(. & SPELL_CANCEL_CAST) + return + if(!ismob(cast_on)) + return SPELL_CANCEL_CAST + +/datum/action/cooldown/spell/pointed/void_prison/cast(mob/living/carbon/human/cast_on) + . = ..() + if(cast_on.can_block_magic(antimagic_flags)) + cast_on.visible_message( + span_danger("A swirling, cold void wraps around [cast_on], but they burst free in a wave of heat!"), + span_danger("A yawning void begins to open before you, but a great wave of heat bursts it apart! You are protected!!") + ) + return + cast_on.apply_status_effect(/datum/status_effect/void_prison, "void_stasis") + +/datum/status_effect/void_prison + id = "void_prison" + duration = 10 SECONDS + alert_type = /atom/movable/screen/alert/status_effect/void_prison + ///The overlay that gets applied to whoever has this status active + var/obj/effect/abstract/voidball/stasis_overlay + +/datum/status_effect/void_prison/on_creation(mob/living/new_owner, set_duration) + . = ..() + stasis_overlay = new /obj/effect/abstract/voidball(new_owner) + RegisterSignal(stasis_overlay, COMSIG_QDELETING, PROC_REF(clear_overlay)) + new_owner.vis_contents += stasis_overlay + stasis_overlay.animate_opening() + addtimer(CALLBACK(src, PROC_REF(enter_prison), new_owner), 1 SECONDS) + +/datum/status_effect/void_prison/on_remove() + if(!IS_HERETIC(owner)) + owner.apply_status_effect(/datum/status_effect/void_chill, 3) + if(stasis_overlay) + //Free our prisoner + owner.remove_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) + owner.forceMove(get_turf(stasis_overlay)) + stasis_overlay.forceMove(owner) + owner.vis_contents += stasis_overlay + //Animate closing the ball + stasis_overlay.animate_closing() + stasis_overlay.icon_state = "voidball_closed" + QDEL_IN(stasis_overlay, 1.1 SECONDS) + stasis_overlay = null + return ..() + +///Freezes our prisoner in place +/datum/status_effect/void_prison/proc/enter_prison(mob/living/prisoner) + stasis_overlay.forceMove(prisoner.loc) + prisoner.forceMove(stasis_overlay) + prisoner.add_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) + +///Makes sure to clear the ref in case the voidball ever suddenly disappears +/datum/status_effect/void_prison/proc/clear_overlay() + SIGNAL_HANDLER + stasis_overlay = null + +//----Voidball effect +/obj/effect/abstract/voidball + icon = 'icons/mob/actions/actions_ecult.dmi' + icon_state = "voidball_effect" + layer = ABOVE_ALL_MOB_LAYER + vis_flags = VIS_INHERIT_ID + +///Plays a opening animation +/obj/effect/abstract/voidball/proc/animate_opening() + flick("voidball_opening", src) + +///Plays a closing animation +/obj/effect/abstract/voidball/proc/animate_closing() + flick("voidball_closing", src) + +//---- Screen alert +/atom/movable/screen/alert/status_effect/void_prison + name = "Void Prison" + desc = "A Yawning void encases your mortal coil." //Go straight to jail, do not pass GO, do not collect 200$ + icon = 'icons/mob/actions/actions_ecult.dmi' + icon_state = "voidball_effect" diff --git a/code/modules/antagonists/heretic/magic/void_pull.dm b/code/modules/antagonists/heretic/magic/void_pull.dm index 2021bf8a04e4f..4e73ff6f49bf9 100644 --- a/code/modules/antagonists/heretic/magic/void_pull.dm +++ b/code/modules/antagonists/heretic/magic/void_pull.dm @@ -6,10 +6,10 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "voidpull" - sound = 'sound/magic/voidblink.ogg' + sound = 'sound/effects/magic/voidblink.ogg' school = SCHOOL_FORBIDDEN - cooldown_time = 40 SECONDS + cooldown_time = 30 SECONDS invocation = "BR'NG F'RTH TH'M T' M'." invocation_type = INVOCATION_WHISPER @@ -32,6 +32,7 @@ // Before we cast the actual effects, deal AOE damage to anyone adjacent to us for(var/mob/living/nearby_living as anything in get_things_to_cast_on(cast_on, damage_radius)) nearby_living.apply_damage(30, BRUTE, wound_bonus = CANT_WOUND) + nearby_living.apply_status_effect(/datum/status_effect/void_chill, 1) /datum/action/cooldown/spell/aoe/void_pull/get_things_to_cast_on(atom/center, radius_override = 1) var/list/things = list() diff --git a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm index 3b78b56ddc0ba..16e3440ebbeec 100644 --- a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm +++ b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm @@ -6,7 +6,7 @@ overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "uncuff" - sound = 'sound/magic/swap.ogg' + sound = 'sound/effects/magic/swap.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 5 MINUTES diff --git a/code/modules/antagonists/heretic/rust_effect.dm b/code/modules/antagonists/heretic/rust_effect.dm index ad86fa5a747f5..9af6c4f6d89a0 100644 --- a/code/modules/antagonists/heretic/rust_effect.dm +++ b/code/modules/antagonists/heretic/rust_effect.dm @@ -3,9 +3,9 @@ icon = 'icons/effects/eldritch.dmi' icon_state = "small_rune_1" anchored = TRUE - layer = LOW_SIGIL_LAYER + plane = FLOOR_PLANE + layer = LOWER_RUNE_LAYER mouse_opacity = MOUSE_OPACITY_TRANSPARENT - plane = GAME_PLANE /obj/effect/glowing_rune/Initialize(mapload) . = ..() diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm index 1668ea5a11ef7..387301f2c489d 100644 --- a/code/modules/antagonists/heretic/status_effects/buffs.dm +++ b/code/modules/antagonists/heretic/status_effects/buffs.dm @@ -190,7 +190,7 @@ var/obj/effect/floating_blade/to_remove = blades[1] - playsound(get_turf(source), 'sound/weapons/parry.ogg', 100, TRUE) + playsound(get_turf(source), 'sound/items/weapons/parry.ogg', 100, TRUE) source.visible_message( span_warning("[to_remove] orbiting [source] snaps in front of [attack_text], blocking it before vanishing!"), span_warning("[to_remove] orbiting you snaps in front of [attack_text], blocking it before vanishing!"), @@ -251,22 +251,20 @@ status_type = STATUS_EFFECT_REFRESH duration = -1 alert_type = null - var/static/list/caretaking_traits = list(TRAIT_HANDS_BLOCKED, TRAIT_IGNORESLOWDOWN, TRAIT_SECLUDED_LOCATION) + var/static/list/caretaking_traits = list(TRAIT_GODMODE, TRAIT_HANDS_BLOCKED, TRAIT_IGNORESLOWDOWN, TRAIT_SECLUDED_LOCATION) /datum/status_effect/caretaker_refuge/on_apply() - owner.add_traits(caretaking_traits, TRAIT_STATUS_EFFECT(id)) - owner.status_flags |= GODMODE animate(owner, alpha = 45,time = 0.5 SECONDS) owner.density = FALSE RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING), PROC_REF(on_focus_lost)) RegisterSignal(owner, COMSIG_MOB_BEFORE_SPELL_CAST, PROC_REF(prevent_spell_usage)) RegisterSignal(owner, COMSIG_ATOM_HOLYATTACK, PROC_REF(nullrod_handler)) RegisterSignal(owner, COMSIG_CARBON_CUFF_ATTEMPTED, PROC_REF(prevent_cuff)) + owner.add_traits(caretaking_traits, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/caretaker_refuge/on_remove() owner.remove_traits(caretaking_traits, TRAIT_STATUS_EFFECT(id)) - owner.status_flags &= ~GODMODE owner.alpha = initial(owner.alpha) owner.density = initial(owner.density) UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING)) @@ -283,14 +281,14 @@ /datum/status_effect/caretaker_refuge/proc/nullrod_handler(datum/source, obj/item/weapon) SIGNAL_HANDLER - playsound(get_turf(owner), 'sound/effects/curse1.ogg', 80, TRUE) + playsound(get_turf(owner), 'sound/effects/curse/curse1.ogg', 80, TRUE) owner.visible_message(span_warning("[weapon] repels the haze around [owner]!")) owner.remove_status_effect(type) /datum/status_effect/caretaker_refuge/proc/on_focus_lost() SIGNAL_HANDLER to_chat(owner, span_danger("Without a focus, your refuge weakens and dissipates!")) - owner.remove_status_effect(type) + qdel(src) /datum/status_effect/caretaker_refuge/proc/prevent_spell_usage(datum/source, datum/spell) SIGNAL_HANDLER diff --git a/code/modules/antagonists/heretic/status_effects/debuffs.dm b/code/modules/antagonists/heretic/status_effects/debuffs.dm index 7037d1cc3778b..8b1751bccde69 100644 --- a/code/modules/antagonists/heretic/status_effects/debuffs.dm +++ b/code/modules/antagonists/heretic/status_effects/debuffs.dm @@ -1,41 +1,3 @@ -// VOID CHILL -/datum/status_effect/void_chill - id = "void_chill" - alert_type = /atom/movable/screen/alert/status_effect/void_chill - duration = 8 SECONDS - status_type = STATUS_EFFECT_REPLACE - tick_interval = 0.5 SECONDS - /// The amount the victim's body temperature changes each tick() in kelvin. Multiplied by TEMPERATURE_DAMAGE_COEFFICIENT. - var/cooling_per_tick = -14 - -/atom/movable/screen/alert/status_effect/void_chill - name = "Void Chill" - desc = "There's something freezing you from within and without. You've never felt cold this oppressive before..." - icon_state = "void_chill" - -/datum/status_effect/void_chill/on_apply() - owner.add_atom_colour(COLOR_BLUE_LIGHT, TEMPORARY_COLOUR_PRIORITY) - owner.add_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE) - return TRUE - -/datum/status_effect/void_chill/on_remove() - owner.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_BLUE_LIGHT) - owner.remove_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE) - -/datum/status_effect/void_chill/tick(seconds_between_ticks) - owner.adjust_bodytemperature(cooling_per_tick * TEMPERATURE_DAMAGE_COEFFICIENT) - -/datum/status_effect/void_chill/major - duration = 10 SECONDS - cooling_per_tick = -20 - -/datum/status_effect/void_chill/lasting - id = "lasting_void_chill" - duration = -1 - -/datum/movespeed_modifier/void_chill - multiplicative_slowdown = 0.3 - // AMOK /datum/status_effect/amok id = "amok" diff --git a/code/modules/antagonists/heretic/status_effects/mark_effects.dm b/code/modules/antagonists/heretic/status_effects/mark_effects.dm index b647ba6ca8077..2521794907231 100644 --- a/code/modules/antagonists/heretic/status_effects/mark_effects.dm +++ b/code/modules/antagonists/heretic/status_effects/mark_effects.dm @@ -47,7 +47,7 @@ /datum/status_effect/eldritch/proc/on_effect() SHOULD_CALL_PARENT(TRUE) - playsound(owner, 'sound/magic/repulse.ogg', 75, TRUE) + playsound(owner, 'sound/effects/magic/repulse.ogg', 75, TRUE) qdel(src) //what happens when this is procced. //Each mark has different effects when it is destroyed that combine with the mansus grasp effect. @@ -105,7 +105,7 @@ effect_icon_state = "emark4" /datum/status_effect/eldritch/void/on_effect() - owner.apply_status_effect(/datum/status_effect/void_chill/major) + owner.apply_status_effect(/datum/status_effect/void_chill, 3) owner.adjust_silence(10 SECONDS) return ..() diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.dm b/code/modules/antagonists/heretic/status_effects/void_chill.dm new file mode 100644 index 0000000000000..ed4bf1f3cb521 --- /dev/null +++ b/code/modules/antagonists/heretic/status_effects/void_chill.dm @@ -0,0 +1,113 @@ +/*! + * Contains the "Void Chill" status effect. Harmful debuff which freezes and slows down non-heretics + * Cannot affect silicons (How are you gonna freeze a robot?) + */ +/datum/status_effect/void_chill + id = "void_chill" + duration = 30 SECONDS + alert_type = /atom/movable/screen/alert/status_effect/void_chill + status_type = STATUS_EFFECT_REFRESH //Custom code + on_remove_on_mob_delete = TRUE + remove_on_fullheal = TRUE + ///Current amount of stacks we have + var/stacks + ///Maximum of stacks that we could possibly get + var/stack_limit = 5 + ///icon for the overlay + var/image/stacks_overlay + +/datum/status_effect/void_chill/on_creation(mob/living/new_owner, new_stacks, ...) + . = ..() + RegisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(update_stacks_overlay)) + set_stacks(new_stacks) + owner.add_atom_colour(COLOR_BLUE_LIGHT, TEMPORARY_COLOUR_PRIORITY) + owner.update_icon(UPDATE_OVERLAYS) + +/datum/status_effect/void_chill/on_apply() + if(issilicon(owner)) + return FALSE + return TRUE + +/datum/status_effect/void_chill/on_remove() + owner.update_icon(UPDATE_OVERLAYS) + owner.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_BLUE_LIGHT) + owner.remove_movespeed_modifier(/datum/movespeed_modifier/void_chill) + owner.remove_alt_appearance("heretic_status") + REMOVE_TRAIT(owner, TRAIT_HYPOTHERMIC, REF(src)) + UnregisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS) + +/datum/status_effect/void_chill/tick(seconds_between_ticks) + owner.adjust_bodytemperature(-12 * stacks * seconds_between_ticks) + +/datum/status_effect/void_chill/refresh(mob/living/new_owner, new_stacks, forced = FALSE) + . = ..() + if(forced) + set_stacks(new_stacks) + else + adjust_stacks(new_stacks) + owner.update_icon(UPDATE_OVERLAYS) + +///Updates the overlay that gets applied on our victim +/datum/status_effect/void_chill/proc/update_stacks_overlay(atom/parent_atom, list/overlays) + SIGNAL_HANDLER + + linked_alert?.update_appearance(UPDATE_ICON_STATE|UPDATE_DESC) + owner.remove_alt_appearance("heretic_status") + stacks_overlay = image('icons/effects/effects.dmi', owner, "void_chill_partial") + if(stacks >= 5) + stacks_overlay = image('icons/effects/effects.dmi', owner, "void_chill_oh_fuck") + owner.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/heretic, "heretic_status", stacks_overlay, NONE) + +/** + * Setter and adjuster procs for stacks + * + * Arguments: + * - new_stacks + * + */ + +/datum/status_effect/void_chill/proc/set_stacks(new_stacks) + stacks = max(0, min(stack_limit, new_stacks)) + update_movespeed(stacks) + +/datum/status_effect/void_chill/proc/adjust_stacks(new_stacks) + stacks = max(0, min(stack_limit, stacks + new_stacks)) + update_movespeed(stacks) + if(stacks >= 5) + ADD_TRAIT(owner, TRAIT_HYPOTHERMIC, REF(src)) + +///Updates the movespeed of owner based on the amount of stacks of the debuff +/datum/status_effect/void_chill/proc/update_movespeed(stacks) + owner.add_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE) + owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE, multiplicative_slowdown = (0.5 * stacks)) + linked_alert.maptext = MAPTEXT_TINY_UNICODE("[stacks]") + +/datum/status_effect/void_chill/lasting + id = "lasting_void_chill" + duration = -1 + +/datum/movespeed_modifier/void_chill + variable = TRUE + multiplicative_slowdown = 0.1 + +//---- Screen alert +/atom/movable/screen/alert/status_effect/void_chill + name = "Void Chill" + desc = "There's something freezing you from within and without. You've never felt cold this oppressive before..." + icon_state = "void_chill_minor" + +/atom/movable/screen/alert/status_effect/void_chill/update_icon_state() + . = ..() + if(!istype(attached_effect, /datum/status_effect/void_chill)) + return + var/datum/status_effect/void_chill/chill_effect = attached_effect + if(chill_effect.stacks >= 5) + icon_state = "void_chill_oh_fuck" + +/atom/movable/screen/alert/status_effect/void_chill/update_desc(updates) + . = ..() + if(!istype(attached_effect, /datum/status_effect/void_chill)) + return + var/datum/status_effect/void_chill/chill_effect = attached_effect + if(chill_effect.stacks >= 5) + desc = "You had your chance to run, now it's too late. You may never feel warmth again..." diff --git a/code/modules/antagonists/heretic/structures/carving_knife.dm b/code/modules/antagonists/heretic/structures/carving_knife.dm index 70133e951af91..72b224d117dd4 100644 --- a/code/modules/antagonists/heretic/structures/carving_knife.dm +++ b/code/modules/antagonists/heretic/structures/carving_knife.dm @@ -11,7 +11,7 @@ wound_bonus = 20 force = 10 throwforce = 20 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") actions_types = list(/datum/action/item_action/rune_shatter) @@ -152,7 +152,7 @@ if(!.) return - owner.playsound_local(get_turf(owner), 'sound/magic/blind.ogg', 50, TRUE) + owner.playsound_local(get_turf(owner), 'sound/effects/magic/blind.ogg', 50, TRUE) var/obj/item/melee/rune_carver/target_sword = target QDEL_LIST(target_sword.current_runes) target_sword.SpinAnimation(5, 1) @@ -203,7 +203,7 @@ var/mob/living/real_owner = owner?.resolve() if(real_owner) to_chat(real_owner, span_userdanger("[victim.real_name] has stepped foot on the alert rune in [get_area(src)]!")) - real_owner.playsound_local(get_turf(real_owner), 'sound/magic/curse.ogg', 50, TRUE) + real_owner.playsound_local(get_turf(real_owner), 'sound/effects/magic/curse.ogg', 50, TRUE) /obj/structure/trap/eldritch/tentacle name = "grasping carving" @@ -219,7 +219,7 @@ carbon_victim.Paralyze(5 SECONDS) carbon_victim.apply_damage(20, BRUTE, BODY_ZONE_R_LEG) carbon_victim.apply_damage(20, BRUTE, BODY_ZONE_L_LEG) - playsound(src, 'sound/magic/demon_attack1.ogg', 75, TRUE) + playsound(src, 'sound/effects/magic/demon_attack1.ogg', 75, TRUE) /obj/structure/trap/eldritch/mad name = "mad carving" @@ -240,4 +240,4 @@ carbon_victim.set_dizzy_if_lower(40 SECONDS) carbon_victim.adjust_temp_blindness(4 SECONDS) carbon_victim.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) - playsound(src, 'sound/magic/blind.ogg', 75, TRUE) + playsound(src, 'sound/effects/magic/blind.ogg', 75, TRUE) diff --git a/code/modules/antagonists/heretic/structures/lock_final.dm b/code/modules/antagonists/heretic/structures/lock_final.dm index 5512d6027ee5a..295ecbb3a2b91 100644 --- a/code/modules/antagonists/heretic/structures/lock_final.dm +++ b/code/modules/antagonists/heretic/structures/lock_final.dm @@ -47,7 +47,7 @@ /obj/structure/lock_tear/proc/end_madness(datum/former_master) SIGNAL_HANDLER var/turf/our_turf = get_turf(src) - playsound(our_turf, 'sound/magic/castsummon.ogg', vol = 100, vary = TRUE) + playsound(our_turf, 'sound/effects/magic/castsummon.ogg', vol = 100, vary = TRUE) visible_message(span_boldwarning("The rip in space spasms and disappears!")) UnregisterSignal(former_master, list(COMSIG_LIVING_DEATH, COMSIG_QDELETING)) // Just in case they die THEN delete new /obj/effect/temp_visual/destabilising_tear(our_turf) diff --git a/code/modules/antagonists/heretic/structures/mawed_crucible.dm b/code/modules/antagonists/heretic/structures/mawed_crucible.dm index 2135ffa134ca5..ea962cbc5a4e1 100644 --- a/code/modules/antagonists/heretic/structures/mawed_crucible.dm +++ b/code/modules/antagonists/heretic/structures/mawed_crucible.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/antags/eldritch.dmi' icon_state = "crucible" base_icon_state = "crucible" - break_sound = 'sound/hallucinations/wail.ogg' + break_sound = 'sound/effects/hallucinations/wail.ogg' light_power = 1 anchored = TRUE density = TRUE @@ -31,7 +31,7 @@ for(var/turf/nearby_turf as anything in get_adjacent_open_turfs(our_turf)) if(prob(10 * current_mass)) new /obj/effect/decal/cleanable/greenglow(nearby_turf) - playsound(our_turf, 'sound/effects/bubbles2.ogg', 50, TRUE) + playsound(our_turf, 'sound/effects/bubbles/bubbles2.ogg', 50, TRUE) return ..() @@ -69,12 +69,6 @@ bite_the_hand(user) return TRUE - if(istype(weapon, /obj/item/codex_cicatrix) || istype(weapon, /obj/item/melee/touch_attack/mansus_fist)) - playsound(src, 'sound/items/deconstruct.ogg', 30, TRUE, ignore_walls = FALSE) - set_anchored(!anchored) - balloon_alert(user, "[anchored ? "":"un"]anchored") - return TRUE - if(isbodypart(weapon)) var/obj/item/bodypart/consumed = weapon @@ -99,6 +93,13 @@ return ..() +/obj/structure/destructible/eldritch_crucible/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/codex_cicatrix) || istype(tool, /obj/item/melee/touch_attack/mansus_fist)) + playsound(src, 'sound/items/deconstruct.ogg', 30, TRUE, ignore_walls = FALSE) + set_anchored(!anchored) + balloon_alert(user, "[anchored ? "":"un"]anchored") + return ITEM_INTERACT_SUCCESS + /obj/structure/destructible/eldritch_crucible/attack_hand(mob/user, list/modifiers) . = ..() if(.) @@ -163,7 +164,7 @@ var/obj/item/spawned_pot = new spawned_type(drop_location()) - playsound(src, 'sound/misc/desecration-02.ogg', 75, TRUE) + playsound(src, 'sound/effects/desecration/desecration-02.ogg', 75, TRUE) visible_message(span_notice("[src]'s shining liquid drains into a flask, creating a [spawned_pot.name]!")) balloon_alert(user, "potion created") @@ -237,7 +238,7 @@ if(!iscarbon(user)) return - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) + playsound(src, 'sound/effects/bubbles/bubbles.ogg', 50, TRUE) if(!IS_HERETIC_OR_MONSTER(user)) to_chat(user, span_danger("You down some of the liquid from [src]. The taste causes you to retch, and the glass vanishes.")) diff --git a/code/modules/antagonists/heretic/transmutation_rune.dm b/code/modules/antagonists/heretic/transmutation_rune.dm index 3f7072201590f..a2bf4af77f4fa 100644 --- a/code/modules/antagonists/heretic/transmutation_rune.dm +++ b/code/modules/antagonists/heretic/transmutation_rune.dm @@ -7,7 +7,8 @@ anchored = TRUE interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER ///Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters. var/is_in_use = FALSE @@ -167,7 +168,7 @@ // This doesn't necessarily mean the ritual will succeed, but it's valid! // Do the animations and associated feedback. flick("[icon_state]_active", src) - playsound(user, 'sound/magic/castsummon.ogg', 75, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_exponent = 10) + playsound(user, 'sound/effects/magic/castsummon.ogg', 75, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_exponent = 10) // - We temporarily make all of our chosen atoms invisible, as some rituals may sleep, // and we don't want people to be able to run off with ritual items. @@ -222,8 +223,8 @@ pixel_x = -30 pixel_y = 18 pixel_z = -48 - plane = GAME_PLANE - layer = SIGIL_LAYER + plane = FLOOR_PLANE + layer = RUNE_LAYER greyscale_config = /datum/greyscale_config/heretic_rune /// We only set this state after setting the colour, otherwise the animation doesn't colour correctly var/animation_state = "transmutation_rune_draw" diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index a1c31241e0b75..184ca9c4f77f4 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -43,8 +43,8 @@ . = ..() /datum/antagonist/highlander/greet() - to_chat(owner, "Your [sword.name] cries out for blood. Claim the lives of others, and your own will be restored!\n\ - Activate it in your hand, and it will lead to the nearest target. Attack the nuclear authentication disk with it, and you will store it.") + to_chat(owner, span_boldannounce("Your [sword.name] cries out for blood. Claim the lives of others, and your own will be restored!\n\ + Activate it in your hand, and it will lead to the nearest target. Attack the nuclear authentication disk with it, and you will store it.")) owner.announce_objectives() @@ -88,8 +88,8 @@ name = "\improper highlander" /datum/antagonist/highlander/robot/greet() - to_chat(owner, "Your integrated claymore cries out for blood. Claim the lives of others, and your own will be restored!\n\ - Activate it in your hand, and it will lead to the nearest target. Attack the nuclear authentication disk with it, and you will store it.") + to_chat(owner, span_boldannounce("Your integrated claymore cries out for blood. Claim the lives of others, and your own will be restored!\n\ + Activate it in your hand, and it will lead to the nearest target. Attack the nuclear authentication disk with it, and you will store it.")) /datum/antagonist/highlander/robot/give_equipment() var/mob/living/silicon/robot/robotlander = owner.current diff --git a/code/modules/antagonists/hypnotized/hypnotized.dm b/code/modules/antagonists/hypnotized/hypnotized.dm index fc1e5d7d5ad24..bde67390bf7fb 100644 --- a/code/modules/antagonists/hypnotized/hypnotized.dm +++ b/code/modules/antagonists/hypnotized/hypnotized.dm @@ -1,7 +1,7 @@ /// Antag datum associated with the hypnosis brain trauma, used for displaying objectives and antag hud /datum/antagonist/hypnotized name = "\improper Hypnotized Victim" - stinger_sound = 'sound/ambience/antag/hypnotized.ogg' + stinger_sound = 'sound/music/antag/hypnotized.ogg' job_rank = ROLE_HYPNOTIZED roundend_category = "hypnotized victims" antag_hud_name = "brainwashed" diff --git a/code/modules/antagonists/malf_ai/malf_ai.dm b/code/modules/antagonists/malf_ai/malf_ai.dm index 4dc2568fe0e89..6220127f68794 100644 --- a/code/modules/antagonists/malf_ai/malf_ai.dm +++ b/code/modules/antagonists/malf_ai/malf_ai.dm @@ -21,7 +21,7 @@ ///since the module purchasing is built into the antag info, we need to keep track of its compact mode here var/module_picker_compactmode = FALSE ///malf on_gain sound effect. Set here so Infected AI can override - var/malf_sound = 'sound/ambience/antag/malf.ogg' + var/malf_sound = 'sound/music/antag/malf.ogg' /datum/antagonist/malf_ai/New(give_objectives = TRUE) . = ..() @@ -41,6 +41,7 @@ malfunction_flavor = strings(MALFUNCTION_FLAVOR_FILE, employer) add_law_zero() + RegisterSignal(owner.current, COMSIG_SILICON_AI_CORE_STATUS, PROC_REF(core_status)) if(malf_sound) owner.current.playsound_local(get_turf(owner.current), malf_sound, 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) owner.current.grant_language(/datum/language/codespeak, source = LANGUAGE_MALF) @@ -58,7 +59,7 @@ QDEL_NULL(malf_ai.malf_picker) owner.special_role = null - + UnregisterSignal(owner, COMSIG_SILICON_AI_CORE_STATUS) return ..() /// Generates a complete set of malf AI objectives up to the traitor objective limit. @@ -197,7 +198,7 @@ "name" = category, "items" = (category == malf_ai.malf_picker.selected_cat ? list() : null)) for(var/module in malf_ai.malf_picker.possible_modules[category]) - var/datum/ai_module/mod = malf_ai.malf_picker.possible_modules[category][module] + var/datum/ai_module/malf/mod = malf_ai.malf_picker.possible_modules[category][module] cat["items"] += list(list( "name" = mod.name, "cost" = mod.cost, @@ -222,7 +223,7 @@ for(var/category in malf_ai.malf_picker.possible_modules) buyable_items += malf_ai.malf_picker.possible_modules[category] for(var/key in buyable_items) - var/datum/ai_module/valid_mod = buyable_items[key] + var/datum/ai_module/malf/valid_mod = buyable_items[key] if(valid_mod.name == item_name) malf_ai.malf_picker.purchase_module(malf_ai, valid_mod) return TRUE @@ -257,7 +258,7 @@ result += span_greentext("The [special_role_text] was successful!") else result += span_redtext("The [special_role_text] has failed!") - SEND_SOUND(owner.current, 'sound/ambience/ambifailure.ogg') + SEND_SOUND(owner.current, 'sound/ambience/misc/ambifailure.ogg') return result.Join("
") @@ -271,6 +272,14 @@ return malf_ai_icon +/datum/antagonist/malf_ai/proc/core_status(datum/source) + SIGNAL_HANDLER + + var/mob/living/silicon/ai/malf_owner = owner.current + if(malf_owner.linked_core) + return COMPONENT_CORE_ALL_GOOD + return COMPONENT_CORE_DISCONNECTED + //Subtype of Malf AI datum, used for one of the traitor final objectives /datum/antagonist/malf_ai/infected name = "Infected AI" diff --git a/code/modules/antagonists/malf_ai/malf_ai_modules.dm b/code/modules/antagonists/malf_ai/malf_ai_modules.dm index 90f3b76649230..f91d1b90ba46b 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_modules.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_modules.dm @@ -52,7 +52,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( /obj/machinery/computer/gateway_control, ))) -GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) +GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module/malf)) /// The malf AI action subtype. All malf actions are subtypes of this. /datum/action/innate/ai @@ -137,19 +137,19 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) return /// Modules causing destruction -/datum/ai_module/destructive +/datum/ai_module/malf/destructive category = "Destructive Modules" /// Modules with stealthy and utility uses -/datum/ai_module/utility +/datum/ai_module/malf/utility category = "Utility Modules" /// Modules that are improving AI abilities and assets -/datum/ai_module/upgrade +/datum/ai_module/malf/upgrade category = "Upgrade Modules" /// Doomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely. -/datum/ai_module/destructive/nuke_station +/datum/ai_module/malf/destructive/nuke_station name = "Doomsday Device" description = "Activate a weapon that will disintegrate all organic life on the station after a 450 second delay. \ Can only be used while on the station, will fail if your core is moved off station or destroyed. \ @@ -201,7 +201,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(QDELETED(owner) || !isturf(owner_AI.loc)) active = FALSE return - owner.playsound_local(owner, 'sound/misc/bloblarm.ogg', 50, 0, use_reverb = FALSE) + owner.playsound_local(owner, 'sound/announcer/alarm/bloblarm.ogg', 50, 0, use_reverb = FALSE) to_chat(owner, span_userdanger("!!! UNAUTHORIZED SELF-DESTRUCT ACCESS !!!")) to_chat(owner, span_boldannounce("This is a class-3 security violation. This incident will be reported to Central Command.")) for(var/i in 1 to 3) @@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) active = FALSE return to_chat(owner, span_boldnotice("Arm self-destruct device? (Y/N)")) - owner.playsound_local(owner, 'sound/misc/compiler-stage1.ogg', 50, 0, use_reverb = FALSE) + owner.playsound_local(owner, 'sound/machines/compiler/compiler-stage1.ogg', 50, 0, use_reverb = FALSE) sleep(2 SECONDS) if(QDELETED(owner) || !isturf(owner_AI.loc)) active = FALSE @@ -238,7 +238,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) active = FALSE return to_chat(owner, span_boldnotice("Confirm arming of self-destruct device? (Y/N)")) - owner.playsound_local(owner, 'sound/misc/compiler-stage2.ogg', 50, 0, use_reverb = FALSE) + owner.playsound_local(owner, 'sound/machines/compiler/compiler-stage2.ogg', 50, 0, use_reverb = FALSE) sleep(1 SECONDS) if(QDELETED(owner) || !isturf(owner_AI.loc)) active = FALSE @@ -249,7 +249,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) active = FALSE return to_chat(owner, span_boldnotice("Please repeat password to confirm.")) - owner.playsound_local(owner, 'sound/misc/compiler-stage2.ogg', 50, 0, use_reverb = FALSE) + owner.playsound_local(owner, 'sound/machines/compiler/compiler-stage2.ogg', 50, 0, use_reverb = FALSE) sleep(1.4 SECONDS) if(QDELETED(owner) || !isturf(owner_AI.loc)) active = FALSE @@ -350,7 +350,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) var/sec_left = seconds_remaining() if(!sec_left) timing = FALSE - sound_to_playing_players('sound/machines/alarm.ogg') + sound_to_playing_players('sound/announcer/alarm/nuke_alarm.ogg', 70) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(play_cinematic), /datum/cinematic/malf, world, CALLBACK(src, PROC_REF(trigger_doomsday))), 10 SECONDS) else if(world.time >= next_announce) @@ -372,7 +372,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) return TRUE /// Hostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset. -/datum/ai_module/destructive/lockdown +/datum/ai_module/malf/destructive/lockdown name = "Hostile Station Lockdown" description = "Overload the airlock, blast door and fire control networks, locking them down. \ Caution! This command also electrifies all airlocks. The networks will automatically reset after 90 seconds, briefly \ @@ -381,7 +381,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) one_purchase = TRUE power_type = /datum/action/innate/ai/lockdown unlock_text = span_notice("You upload a sleeper trojan into the door control systems. You can send a signal to set it off at any time.") - unlock_sound = 'sound/machines/boltsdown.ogg' + unlock_sound = 'sound/machines/airlock/boltsdown.ogg' /datum/action/innate/ai/lockdown name = "Lockdown" @@ -424,13 +424,13 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) CHECK_TICK /// Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself. -/datum/ai_module/destructive/override_machine +/datum/ai_module/malf/destructive/override_machine name = "Machine Override" description = "Overrides a machine's programming, causing it to rise up and attack everyone except other machines. Four uses per purchase." cost = 30 power_type = /datum/action/innate/ai/ranged/override_machine unlock_text = span_notice("You procure a virus from the Space Dark Web and distribute it to the station's machines.") - unlock_sound = 'sound/machines/airlock_alien_prying.ogg' + unlock_sound = 'sound/machines/airlock/airlock_alien_prying.ogg' /datum/action/innate/ai/ranged/override_machine name = "Override Machine" @@ -481,7 +481,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) new /mob/living/simple_animal/hostile/mimic/copy/machine(get_turf(to_animate), to_animate, caller, TRUE) /// Destroy RCDs: Detonates all non-cyborg RCDs on the station. -/datum/ai_module/destructive/destroy_rcd +/datum/ai_module/malf/destructive/destroy_rcd name = "Destroy RCDs" description = "Send a specialised pulse to detonate all hand-held and exosuit Rapid Construction Devices on the station." cost = 25 @@ -503,10 +503,10 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) var/obj/item/construction/rcd/RCD = I RCD.detonate_pulse() to_chat(owner, span_danger("RCD detonation pulse emitted.")) - owner.playsound_local(owner, 'sound/machines/twobeep.ogg', 50, 0) + owner.playsound_local(owner, 'sound/machines/beep/twobeep.ogg', 50, 0) /// Overload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase. -/datum/ai_module/destructive/overload_machine +/datum/ai_module/malf/destructive/overload_machine name = "Machine Overload" description = "Overheats an electrical machine, causing a small explosion and destroying it. Two uses per purchase." cost = 20 @@ -567,7 +567,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) return TRUE /// Blackout: Overloads a random number of lights across the station. Three uses. -/datum/ai_module/destructive/blackout +/datum/ai_module/malf/destructive/blackout name = "Blackout" description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. Three uses per purchase." cost = 15 @@ -601,13 +601,13 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) build_all_button_icons() /// HIGH IMPACT HONKING -/datum/ai_module/destructive/megahonk +/datum/ai_module/malf/destructive/megahonk name = "Percussive Intercomm Interference" description = "Emit a debilitatingly percussive auditory blast through the station intercoms. Does not overpower hearing protection. Two uses per purchase." cost = 20 power_type = /datum/action/innate/ai/honk unlock_text = span_notice("You upload a sinister sound file into every intercom...") - unlock_sound = 'sound/items/airhorn.ogg' + unlock_sound = 'sound/items/airhorn/airhorn.ogg' /datum/action/innate/ai/honk name = "Percussive Intercomm Interference" @@ -622,7 +622,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(!found_intercom.is_on() || !found_intercom.get_listening() || found_intercom.wires.is_cut(WIRE_RX)) //Only operating intercoms play the honk continue found_intercom.audible_message(message = "[found_intercom] crackles for a split second.", hearing_distance = 3) - playsound(found_intercom, 'sound/items/airhorn.ogg', 100, TRUE) + playsound(found_intercom, 'sound/items/airhorn/airhorn.ogg', 100, TRUE) for(var/mob/living/carbon/honk_victim in ohearers(6, found_intercom)) var/turf/victim_turf = get_turf(honk_victim) if(isspaceturf(victim_turf) && !victim_turf.Adjacent(found_intercom)) //Prevents getting honked in space @@ -632,7 +632,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) to_chat(honk_victim, span_clown("HOOOOONK!")) /// Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting. -/datum/ai_module/utility/place_cyborg_transformer +/datum/ai_module/malf/utility/place_cyborg_transformer name = "Robotic Factory (Removes Shunting)" description = "Build a machine anywhere, using expensive nanomachines, that can convert a living human into a loyal cyborg slave when placed inside." cost = 100 @@ -707,7 +707,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) return success /// Air Alarm Safety Override: Unlocks the ability to enable dangerous modes on all air alarms. -/datum/ai_module/utility/break_air_alarms +/datum/ai_module/malf/utility/break_air_alarms name = "Air Alarm Safety Override" description = "Gives you the ability to disable safeties on all air alarms. This will allow you to use extremely dangerous environmental modes. \ Anyone can check the air alarm's interface and may be tipped off by their nonfunctionality." @@ -730,10 +730,10 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) continue AA.obj_flags |= EMAGGED to_chat(owner, span_notice("All air alarm safeties on the station have been overridden. Air alarms may now use extremely dangerous environmental modes.")) - owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) + owner.playsound_local(owner, 'sound/machines/terminal/terminal_off.ogg', 50, 0) /// Thermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job. -/datum/ai_module/utility/break_fire_alarms +/datum/ai_module/malf/utility/break_fire_alarms name = "Thermal Sensor Override" description = "Gives you the ability to override the thermal sensors on all fire alarms. \ This will remove their ability to scan for fire and thus their ability to alert." @@ -742,7 +742,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) power_type = /datum/action/innate/ai/break_fire_alarms unlock_text = span_notice("You replace the thermal sensing capabilities of all fire alarms with a manual override, \ allowing you to turn them off at will.") - unlock_sound = 'sound/machines/FireAlarm1.ogg' + unlock_sound = 'sound/machines/fire_alarm/FireAlarm1.ogg' /datum/action/innate/ai/break_fire_alarms name = "Override Thermal Sensors" @@ -761,10 +761,10 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) continue firelock.emag_act(owner_AI, src) to_chat(owner, span_notice("All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.")) - owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) + owner.playsound_local(owner, 'sound/machines/terminal/terminal_off.ogg', 50, 0) /// Disable Emergency Lights -/datum/ai_module/utility/emergency_lights +/datum/ai_module/malf/utility/emergency_lights name = "Disable Emergency Lights" description = "Cuts emergency lights across the entire station. If power is lost to light fixtures, \ they will not attempt to fall back on emergency power reserves." @@ -791,7 +791,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE) /// Reactivate Camera Network: Reactivates up to 30 cameras across the station. -/datum/ai_module/utility/reactivate_cameras +/datum/ai_module/malf/utility/reactivate_cameras name = "Reactivate Camera Network" description = "Runs a network-wide diagnostic on the camera network, resetting focus and re-routing power to failed cameras. \ Can be used to repair up to 30 cameras." @@ -799,7 +799,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) one_purchase = TRUE power_type = /datum/action/innate/ai/reactivate_cameras unlock_text = span_notice("You deploy nanomachines to the cameranet.") - unlock_sound = 'sound/items/wirecutter.ogg' + unlock_sound = 'sound/items/tools/wirecutter.ogg' /datum/action/innate/ai/reactivate_cameras name = "Reactivate Cameras" @@ -824,7 +824,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) fixed_cameras++ uses-- //Not adjust_uses() so it doesn't automatically delete or show a message to_chat(owner, span_notice("Diagnostic complete! Cameras reactivated: [fixed_cameras]. Reactivations remaining: [uses].")) - owner.playsound_local(owner, 'sound/items/wirecutter.ogg', 50, 0) + owner.playsound_local(owner, 'sound/items/tools/wirecutter.ogg', 50, 0) adjust_uses(0, TRUE) //Checks the uses remaining if(QDELETED(src) || !uses) //Not sure if not having src here would cause a runtime, so it's here to be safe return @@ -832,16 +832,16 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) build_all_button_icons() /// Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision. -/datum/ai_module/upgrade/upgrade_cameras +/datum/ai_module/malf/upgrade/upgrade_cameras name = "Upgrade Camera Network" description = "Install broad-spectrum scanning and electrical redundancy firmware to the camera network, enabling EMP-proofing and light-amplified X-ray vision. Upgrade is done immediately upon purchase." //I <3 pointless technobabble //This used to have motion sensing as well, but testing quickly revealed that giving it to the whole cameranet is PURE HORROR. cost = 35 //Decent price for omniscience! upgrade = TRUE unlock_text = span_notice("OTA firmware distribution complete! Cameras upgraded: CAMSUPGRADED. Light amplification system online.") - unlock_sound = 'sound/items/rped.ogg' + unlock_sound = 'sound/items/tools/rped.ogg' -/datum/ai_module/upgrade/upgrade_cameras/upgrade(mob/living/silicon/ai/AI) +/datum/ai_module/malf/upgrade/upgrade_cameras/upgrade(mob/living/silicon/ai/AI) // Sets up nightvision RegisterSignal(AI, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(on_update_sight)) AI.update_sight() @@ -864,44 +864,44 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) upgraded_cameras++ unlock_text = replacetext(unlock_text, "CAMSUPGRADED", "[upgraded_cameras]") //This works, since unlock text is called after upgrade() -/datum/ai_module/upgrade/upgrade_cameras/proc/on_update_sight(mob/source) +/datum/ai_module/malf/upgrade/upgrade_cameras/proc/on_update_sight(mob/source) SIGNAL_HANDLER // Dim blue, pretty source.lighting_color_cutoffs = blend_cutoff_colors(source.lighting_color_cutoffs, list(5, 25, 35)) /// AI Turret Upgrade: Increases the health and damage of all turrets. -/datum/ai_module/upgrade/upgrade_turrets +/datum/ai_module/malf/upgrade/upgrade_turrets name = "AI Turret Upgrade" description = "Improves the power and health of all AI turrets. This effect is permanent. Upgrade is done immediately upon purchase." cost = 30 upgrade = TRUE unlock_text = span_notice("You establish a power diversion to your turrets, upgrading their health and damage.") - unlock_sound = 'sound/items/rped.ogg' + unlock_sound = 'sound/items/tools/rped.ogg' -/datum/ai_module/upgrade/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) +/datum/ai_module/malf/upgrade/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) for(var/obj/machinery/porta_turret/ai/turret as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/porta_turret/ai)) turret.AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) turret.max_integrity = 200 turret.repair_damage(200) turret.lethal_projectile = /obj/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR. - turret.lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + turret.lethal_projectile_sound = 'sound/items/weapons/lasercannonfire.ogg' /// Enhanced Surveillance: Enables AI to hear conversations going on near its active vision. -/datum/ai_module/upgrade/eavesdrop +/datum/ai_module/malf/upgrade/eavesdrop name = "Enhanced Surveillance" description = "Via a combination of hidden microphones and lip reading software, \ you are able to use your cameras to listen in on conversations. Upgrade is done immediately upon purchase." cost = 30 upgrade = TRUE unlock_text = span_notice("OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online.") - unlock_sound = 'sound/items/rped.ogg' + unlock_sound = 'sound/items/tools/rped.ogg' -/datum/ai_module/upgrade/eavesdrop/upgrade(mob/living/silicon/ai/AI) +/datum/ai_module/malf/upgrade/eavesdrop/upgrade(mob/living/silicon/ai/AI) if(AI.eyeobj) AI.eyeobj.relay_speech = TRUE /// Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right? -/datum/ai_module/upgrade/mecha_domination +/datum/ai_module/malf/upgrade/mecha_domination name = "Unlock Mech Domination" description = "Allows you to hack into a mech's onboard computer, shunting all processes into it and ejecting any occupants. \ Do not allow the mech to leave the station's vicinity or allow it to be destroyed. \ @@ -910,19 +910,19 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) upgrade = TRUE unlock_text = span_notice("Virus package compiled. Select a target mech at any time. You must remain on the station at all times. \ Loss of signal will result in total system lockout.") - unlock_sound = 'sound/mecha/nominal.ogg' + unlock_sound = 'sound/vehicles/mecha/nominal.ogg' -/datum/ai_module/upgrade/mecha_domination/upgrade(mob/living/silicon/ai/AI) +/datum/ai_module/malf/upgrade/mecha_domination/upgrade(mob/living/silicon/ai/AI) AI.can_dominate_mechs = TRUE //Yep. This is all it does. Honk! -/datum/ai_module/upgrade/voice_changer +/datum/ai_module/malf/upgrade/voice_changer name = "Voice Changer" description = "Allows you to change the AI's voice. Upgrade is active immediately upon purchase." cost = 40 one_purchase = TRUE power_type = /datum/action/innate/ai/voice_changer unlock_text = span_notice("OTA firmware distribution complete! Voice changer online.") - unlock_sound = 'sound/items/rped.ogg' + unlock_sound = 'sound/items/tools/rped.ogg' /datum/action/innate/ai/voice_changer name="Voice Changer" @@ -1053,7 +1053,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if("name") say_name = strip_html(params["name"], MAX_NAME_LEN) -/datum/ai_module/utility/emag +/datum/ai_module/malf/utility/emag name = "Targeted Safeties Override" description = "Allows you to disable the safeties of any machinery on the station, provided you can access it." cost = 20 @@ -1147,7 +1147,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) return TRUE -/datum/ai_module/utility/core_tilt +/datum/ai_module/malf/utility/core_tilt name = "Rolling Servos" description = "Allows you to slowly roll around, crushing anything in your way with your bulk." cost = 10 @@ -1246,7 +1246,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) stack_trace("non-standard dir entered to get_rotation_from_dir. (got: [dir])") return 0 -/datum/ai_module/utility/remote_vendor_tilt +/datum/ai_module/malf/utility/remote_vendor_tilt name = "Remote vendor tilting" description = "Lets you remotely tip vendors over in any direction." cost = 15 diff --git a/code/modules/antagonists/nightmare/nightmare_equipment.dm b/code/modules/antagonists/nightmare/nightmare_equipment.dm index 6fbe6c6097bec..52a687f9ac795 100644 --- a/code/modules/antagonists/nightmare/nightmare_equipment.dm +++ b/code/modules/antagonists/nightmare/nightmare_equipment.dm @@ -15,7 +15,7 @@ w_class = WEIGHT_CLASS_HUGE sharpness = SHARP_EDGED tool_behaviour = TOOL_MINING - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' wound_bonus = -30 bare_wound_bonus = 20 ///If this is true, our next hit will be critcal, temporarily stunning our target diff --git a/code/modules/antagonists/nightmare/nightmare_organs.dm b/code/modules/antagonists/nightmare/nightmare_organs.dm index 19328f20378de..4aaacb77e5f3e 100644 --- a/code/modules/antagonists/nightmare/nightmare_organs.dm +++ b/code/modules/antagonists/nightmare/nightmare_organs.dm @@ -85,7 +85,7 @@ span_warning("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!"), span_danger("[src] feels unnaturally cold in your hands. You raise [src] to your mouth and devour it!") ) - playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) + playsound(user, 'sound/effects/magic/demon_consume.ogg', 50, TRUE) user.visible_message( span_warning("Blood erupts from [user]'s arm as it reforms into a weapon!"), @@ -131,7 +131,7 @@ to_chat(owner, span_userdanger("You feel the shadows invade your skin, leaping into the center of your chest! You're alive!")) SEND_SOUND(owner, sound('sound/effects/ghost.ogg')) owner.visible_message(span_warning("[owner] staggers to [owner.p_their()] feet!")) - playsound(owner, 'sound/hallucinations/far_noise.ogg', 50, TRUE) + playsound(owner, 'sound/effects/hallucinations/far_noise.ogg', 50, TRUE) respawn_progress = 0 /obj/item/organ/internal/heart/nightmare/get_availability(datum/species/owner_species, mob/living/owner_mob) diff --git a/code/modules/antagonists/ninja/energy_katana.dm b/code/modules/antagonists/ninja/energy_katana.dm index 61a9b81c364c1..efd993550915f 100644 --- a/code/modules/antagonists/ninja/energy_katana.dm +++ b/code/modules/antagonists/ninja/energy_katana.dm @@ -24,10 +24,10 @@ block_chance = 50 armour_penetration = 50 w_class = WEIGHT_CLASS_NORMAL - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = 'sound/items/weapons/bladeslice.ogg' pickup_sound = 'sound/items/unsheath.ogg' drop_sound = 'sound/items/sheath.ogg' - block_sound = 'sound/weapons/block_blade.ogg' + block_sound = 'sound/items/weapons/block_blade.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT diff --git a/code/modules/antagonists/ninja/energy_net_nets.dm b/code/modules/antagonists/ninja/energy_net_nets.dm index 111d1f2651548..5f08762b34135 100644 --- a/code/modules/antagonists/ninja/energy_net_nets.dm +++ b/code/modules/antagonists/ninja/energy_net_nets.dm @@ -30,7 +30,7 @@ /obj/structure/energy_net/play_attack_sound(damage, damage_type = BRUTE, damage_flag = 0) if(damage_type == BRUTE || damage_type == BURN) - playsound(src, 'sound/weapons/slash.ogg', 80, TRUE) + playsound(src, 'sound/items/weapons/slash.ogg', 80, TRUE) /obj/structure/energy_net/atom_destruction(damage_flag) for(var/mob/recovered_mob as anything in buckled_mobs) diff --git a/code/modules/antagonists/nukeop/datums/operative.dm b/code/modules/antagonists/nukeop/datums/operative.dm index 9eca88d33852d..ebaaf8692b2f4 100644 --- a/code/modules/antagonists/nukeop/datums/operative.dm +++ b/code/modules/antagonists/nukeop/datums/operative.dm @@ -8,7 +8,8 @@ show_to_ghosts = TRUE hijack_speed = 2 //If you can't take out the station, take the shuttle instead. suicide_cry = "FOR THE SYNDICATE!!" - stinger_sound = 'sound/ambience/antag/ops.ogg' + stinger_sound = 'sound/music/antag/ops.ogg' + /// Which nukie team are we on? var/datum/team/nuclear/nuke_team /// If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team. @@ -94,7 +95,7 @@ nuke_team = new_team /datum/antagonist/nukeop/admin_add(datum/mind/new_owner,mob/admin) - new_owner.set_assigned_role(SSjob.GetJobType(/datum/job/nuclear_operative)) + new_owner.set_assigned_role(SSjob.get_job_type(/datum/job/nuclear_operative)) new_owner.add_antag_datum(src) message_admins("[key_name_admin(admin)] has nuke op'ed [key_name_admin(new_owner)].") log_admin("[key_name(admin)] has nuke op'ed [key_name(new_owner)].") @@ -114,8 +115,8 @@ var/icon/teammate = render_preview_outfit(preview_outfit_behind) teammate.Blend(rgb(128, 128, 128, 128), ICON_MULTIPLY) - final_icon.Blend(teammate, ICON_UNDERLAY, -world.icon_size / 4, 0) - final_icon.Blend(teammate, ICON_UNDERLAY, world.icon_size / 4, 0) + final_icon.Blend(teammate, ICON_UNDERLAY, -ICON_SIZE_X / 4, 0) + final_icon.Blend(teammate, ICON_UNDERLAY, ICON_SIZE_X / 4, 0) if (!isnull(nuke_icon_state)) var/icon/nuke = icon('icons/obj/machines/nuke.dmi', nuke_icon_state) diff --git a/code/modules/antagonists/nukeop/datums/operative_leader.dm b/code/modules/antagonists/nukeop/datums/operative_leader.dm index c2995e5575326..1af9f1d28c40e 100644 --- a/code/modules/antagonists/nukeop/datums/operative_leader.dm +++ b/code/modules/antagonists/nukeop/datums/operative_leader.dm @@ -44,7 +44,13 @@ /datum/antagonist/nukeop/leader/proc/ask_name() var/randomname = pick(GLOB.last_names) - var/newname = tgui_input_text(owner.current, "You are the nuclear operative [title]. Please choose a last name for your family.", "Name change", randomname, MAX_NAME_LEN) + var/newname = tgui_input_text( + owner.current, + "You are the nuclear operative [title]. Please choose a last name for your family.", + "Name change", + randomname, + max_length = MAX_NAME_LEN, + ) if (!newname) newname = randomname else diff --git a/code/modules/antagonists/nukeop/datums/operative_support.dm b/code/modules/antagonists/nukeop/datums/operative_support.dm index c9ea12b63c5d2..aa0c031c070aa 100644 --- a/code/modules/antagonists/nukeop/datums/operative_support.dm +++ b/code/modules/antagonists/nukeop/datums/operative_support.dm @@ -21,7 +21,7 @@ network = OPERATIVE_CAMERA_NET, \ emp_proof = FALSE, \ ) - our_teammate.playsound_local(get_turf(owner.current), 'sound/weapons/egloves.ogg', 100, 0) + our_teammate.playsound_local(get_turf(owner.current), 'sound/items/weapons/egloves.ogg', 100, 0) to_chat(our_teammate, span_notice("A Syndicate Overwatch Intelligence Agent has been assigned to your team. Smile, you're on camera!")) RegisterSignal(nuke_team, COMSIG_NUKE_TEAM_ADDITION, PROC_REF(late_bodycam)) diff --git a/code/modules/antagonists/nukeop/datums/operative_team.dm b/code/modules/antagonists/nukeop/datums/operative_team.dm index 1e06f32594d84..b676bda303dd6 100644 --- a/code/modules/antagonists/nukeop/datums/operative_team.dm +++ b/code/modules/antagonists/nukeop/datums/operative_team.dm @@ -15,7 +15,7 @@ /datum/team/nuclear/roundend_report() var/list/parts = list() - parts += "[syndicate_name] Operatives:" + parts += span_header("[syndicate_name] Operatives:") switch(get_result()) if(NUKE_RESULT_FLUKE) @@ -55,7 +55,7 @@ parts += "Neutral Victory" parts += "Mission aborted!" - var/text = "
The syndicate operatives were:" + var/text = span_header("
The syndicate operatives were:") var/purchases = "" var/TC_uses = 0 LAZYINITLIST(GLOB.uplink_purchase_logs_by_key) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm b/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm index 7e06dd0d6e050..ebc2c6ec32639 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm @@ -102,7 +102,7 @@ /obj/item/disk/nuclear/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is going delta! It looks like [user.p_theyre()] trying to commit suicide!")) - playsound(src, 'sound/machines/alarm.ogg', 50, -1, TRUE) + playsound(src, 'sound/announcer/alarm/nuke_alarm.ogg', 50, -1, TRUE) for(var/i in 1 to 100) addtimer(CALLBACK(user, TYPE_PROC_REF(/atom, add_atom_colour), (i % 2)? COLOR_VIBRANT_LIME : COLOR_RED, ADMIN_COLOUR_PRIORITY), i) addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), 101) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm index fb23cae705fab..3214232648b2a 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm @@ -95,7 +95,7 @@ GLOBAL_VAR(station_nuke_source) return TRUE auth = weapon update_ui_mode() - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) add_fingerprint(user) return TRUE @@ -336,7 +336,7 @@ GLOBAL_VAR(station_nuke_source) switch(action) if("eject_disk") if(auth && auth.loc == src) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) playsound(src, 'sound/machines/nuke/general_beep.ogg', 50, FALSE) auth.forceMove(get_turf(src)) auth = null @@ -344,7 +344,7 @@ GLOBAL_VAR(station_nuke_source) else var/obj/item/I = usr.is_holding_item_of_type(/obj/item/disk/nuclear) if(I && disk_check(I) && usr.transferItemToLoc(I, src)) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE) playsound(src, 'sound/machines/nuke/general_beep.ogg', 50, FALSE) auth = I . = TRUE @@ -519,7 +519,7 @@ GLOBAL_VAR(station_nuke_source) yes_code = FALSE safety = TRUE update_appearance() - sound_to_playing_players('sound/machines/alarm.ogg') + sound_to_playing_players('sound/announcer/alarm/nuke_alarm.ogg', 70) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_NUKE_DEVICE_DETONATING, src) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index 0160fbd89149c..0dba54bf2aaaf 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) if(custom_threat == "Yes") declaring_war = TRUE - war_declaration = tgui_input_text(user, "Insert your custom declaration", "Declaration", multiline = TRUE, encode = FALSE) + war_declaration = tgui_input_text(user, "Insert your custom declaration", "Declaration", max_length = MAX_MESSAGE_LEN, multiline = TRUE, encode = FALSE) declaring_war = FALSE if(!check_allowed(user) || !war_declaration) @@ -63,7 +63,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) var/custom_threat = tgui_alert(usr, "Do you want to customize the declaration?", "Customize?", list("Yes", "No")) if(custom_threat == "Yes") - war_declaration = tgui_input_text(usr, "Insert your custom declaration", "Declaration", multiline = TRUE, encode = FALSE) + war_declaration = tgui_input_text(usr, "Insert your custom declaration", "Declaration", max_length = MAX_MESSAGE_LEN, multiline = TRUE, encode = FALSE) if(!war_declaration) tgui_alert(usr, "Invalid war declaration.", "Poor Choice of Words") @@ -80,7 +80,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) priority_announce( text = memo, title = "Declaration of War", - sound = 'sound/machines/alarm.ogg', + sound = 'sound/announcer/alarm/nuke_alarm.ogg', has_important_message = TRUE, sender_override = "Nuclear Operative Outpost", color_override = "red", @@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) priority_announce( text = memo, title = "Declaration of War", - sound = 'sound/machines/alarm.ogg', + sound = 'sound/announcer/alarm/nuke_alarm.ogg', has_important_message = TRUE, sender_override = "Nuclear Operative Outpost", color_override = "red", diff --git a/code/modules/antagonists/nukeop/equipment/pinpointer.dm b/code/modules/antagonists/nukeop/equipment/pinpointer.dm index f842b5d6b6e33..82113fb31be2b 100644 --- a/code/modules/antagonists/nukeop/equipment/pinpointer.dm +++ b/code/modules/antagonists/nukeop/equipment/pinpointer.dm @@ -55,7 +55,7 @@ if(isliving(loc)) var/mob/living/L = loc to_chat(L, span_userdanger("Your [name] beeps as it reconfigures its tracking algorithms.")) - playsound(L, 'sound/machines/triple_beep.ogg', 50, TRUE) + playsound(L, 'sound/machines/beep/triple_beep.ogg', 50, TRUE) mode = new_mode scan_for_target() diff --git a/code/modules/antagonists/obsessed/obsessed.dm b/code/modules/antagonists/obsessed/obsessed.dm index 7316102e2ce09..ff4232ab2dc00 100644 --- a/code/modules/antagonists/obsessed/obsessed.dm +++ b/code/modules/antagonists/obsessed/obsessed.dm @@ -1,3 +1,9 @@ +#define OBSESSED_OBJECTIVE_SPEND_TIME "spend_time" +#define OBSESSED_OBJECTIVE_POLAROID "polaroid" +#define OBSESSED_OBJECTIVE_HUG "hug" +#define OBSESSED_OBJECTIVE_HEIRLOOM "heirloom" +#define OBSESSED_OBJECTIVE_JEALOUS "jealous" + /datum/antagonist/obsessed name = "Obsessed" show_in_antagpanel = TRUE @@ -12,9 +18,24 @@ suicide_cry = "FOR MY LOVE!!" preview_outfit = /datum/outfit/obsessed hardcore_random_bonus = TRUE - stinger_sound = 'sound/ambience/antag/creepalert.ogg' + stinger_sound = 'sound/music/antag/creepalert.ogg' + /// How many objectives should be generated + var/objectives_to_generate = 3 + /// Brain trauma that causes the obsession var/datum/brain_trauma/special/obsessed/trauma +/// Dummy antag datum that will show the cured obsessed to admins +/datum/antagonist/former_obsessed + name = "Former Obsessed" + show_in_antagpanel = FALSE + show_name_in_check_antagonists = TRUE + antagpanel_category = ANTAG_GROUP_CREW + show_in_roundend = FALSE + count_against_dynamic_roll_chance = FALSE + silent = TRUE + can_elimination_hijack = ELIMINATION_PREVENT + antag_flags = FLAG_FAKE_ANTAG + /datum/antagonist/obsessed/admin_add(datum/mind/new_owner,mob/admin) var/mob/living/carbon/C = new_owner.current if(!istype(C)) @@ -72,7 +93,7 @@ H.regenerate_icons() /datum/antagonist/obsessed/forge_objectives(datum/mind/obsessionmind) - var/list/objectives_left = list("spendtime", "polaroid", "hug") + var/list/objectives_left = list(OBSESSED_OBJECTIVE_SPEND_TIME, OBSESSED_OBJECTIVE_POLAROID, OBSESSED_OBJECTIVE_HUG) var/datum/objective/assassinate/obsessed/kill = new kill.owner = owner kill.target = obsessionmind @@ -84,49 +105,49 @@ family_heirloom = heirloom_quirk.heirloom?.resolve() break if(family_heirloom) - objectives_left += "heirloom" + objectives_left += OBSESSED_OBJECTIVE_HEIRLOOM // If they have no coworkers, jealousy will pick someone else on the station. This will never be a free objective. if(!is_captain_job(obsessionmind.assigned_role)) - objectives_left += "jealous" + objectives_left += OBSESSED_OBJECTIVE_JEALOUS - for(var/i in 1 to 3) - var/chosen_objective = pick(objectives_left) - objectives_left.Remove(chosen_objective) + for(var/i in 1 to objectives_to_generate) + var/chosen_objective = pick_n_take(objectives_left) switch(chosen_objective) - if("spendtime") + if(OBSESSED_OBJECTIVE_SPEND_TIME) var/datum/objective/spendtime/spendtime = new spendtime.owner = owner spendtime.target = obsessionmind objectives += spendtime - if("polaroid") + if(OBSESSED_OBJECTIVE_POLAROID) var/datum/objective/polaroid/polaroid = new polaroid.owner = owner polaroid.target = obsessionmind objectives += polaroid - if("hug") + if(OBSESSED_OBJECTIVE_HUG) var/datum/objective/hug/hug = new hug.owner = owner hug.target = obsessionmind objectives += hug - if("heirloom") + if(OBSESSED_OBJECTIVE_HEIRLOOM) var/datum/objective/steal/heirloom_thief/heirloom_thief = new heirloom_thief.owner = owner heirloom_thief.target = obsessionmind//while you usually wouldn't need this for stealing, we need the name of the obsession heirloom_thief.steal_target = family_heirloom objectives += heirloom_thief - if("jealous") + if(OBSESSED_OBJECTIVE_JEALOUS) var/datum/objective/assassinate/jealous/jealous = new jealous.owner = owner jealous.target = obsessionmind//will reroll into a coworker on the objective itself objectives += jealous objectives += kill//finally add the assassinate last, because you'd have to complete it last to greentext. + for(var/datum/objective/O in objectives) O.update_explanation_text() /datum/antagonist/obsessed/roundend_report_header() - return "Someone became obsessed!
" + return span_header("Someone became obsessed!
") /datum/antagonist/obsessed/roundend_report() var/list/report = list() @@ -278,3 +299,9 @@ explanation_text = "Steal [target.name]'s family heirloom, [steal_target] they cherish." else explanation_text = "Free Objective" + +#undef OBSESSED_OBJECTIVE_SPEND_TIME +#undef OBSESSED_OBJECTIVE_POLAROID +#undef OBSESSED_OBJECTIVE_HUG +#undef OBSESSED_OBJECTIVE_HEIRLOOM +#undef OBSESSED_OBJECTIVE_JEALOUS diff --git a/code/modules/antagonists/paradox_clone/paradox_clone.dm b/code/modules/antagonists/paradox_clone/paradox_clone.dm index e809e8cecbf00..960cf7f59ec2f 100644 --- a/code/modules/antagonists/paradox_clone/paradox_clone.dm +++ b/code/modules/antagonists/paradox_clone/paradox_clone.dm @@ -52,7 +52,7 @@ kill.update_explanation_text() objectives += kill - owner.set_assigned_role(SSjob.GetJobType(/datum/job/paradox_clone)) + owner.set_assigned_role(SSjob.get_job_type(/datum/job/paradox_clone)) //clone doesnt show up on message lists var/obj/item/modular_computer/pda/messenger = locate() in owner.current @@ -73,7 +73,7 @@ original_mind.quick_copy_all_memories(owner) /datum/antagonist/paradox_clone/roundend_report_header() - return "A paradox clone appeared on the station!
" + return span_header("A paradox clone appeared on the station!
") /datum/outfit/paradox_clone name = "Paradox Clone (Preview only)" diff --git a/code/modules/antagonists/pirate/pirate.dm b/code/modules/antagonists/pirate/pirate.dm index 0fa80f5524776..6bff6eb357208 100644 --- a/code/modules/antagonists/pirate/pirate.dm +++ b/code/modules/antagonists/pirate/pirate.dm @@ -104,7 +104,7 @@ /datum/team/pirate/roundend_report() var/list/parts = list() - parts += "Space Pirates were:" + parts += span_header("Space Pirates were:") var/all_dead = TRUE for(var/datum/mind/M in members) diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm index 602fcbe8b071f..feb62ec4fca66 100644 --- a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm +++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm @@ -438,7 +438,7 @@ var/mob_cost = get_cost(sold_item) sold_item.process_capture(mob_cost, mob_cost * 1.2) do_sparks(8, FALSE, sold_item) - playsound(picked_turf, 'sound/weapons/emitter2.ogg', 25, TRUE) + playsound(picked_turf, 'sound/items/weapons/emitter2.ogg', 25, TRUE) sold_item.flash_act() sold_item.adjust_confusion(10 SECONDS) sold_item.adjust_dizzy(10 SECONDS) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index d490944e1e310..da7b76577275c 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -6,7 +6,7 @@ antag_moodlet = /datum/mood_event/revolution antag_hud_name = "rev" suicide_cry = "VIVA LA REVOLUTION!!" - stinger_sound = 'sound/ambience/antag/revolutionary_tide.ogg' + stinger_sound = 'sound/music/antag/revolutionary_tide.ogg' var/datum/team/revolution/rev_team /// When this antagonist is being de-antagged, this is the source. Can be a mob (for mindshield/blunt force trauma) or a #define string. @@ -584,19 +584,19 @@ if(headrevs.len) var/list/headrev_part = list() - headrev_part += "The head revolutionaries were:" + headrev_part += span_header("The head revolutionaries were:") headrev_part += printplayerlist(headrevs, !check_rev_victory()) result += headrev_part.Join("
") if(revs.len) var/list/rev_part = list() - rev_part += "The revolutionaries were:" + rev_part += span_header("The revolutionaries were:") rev_part += printplayerlist(revs, !check_rev_victory()) result += rev_part.Join("
") var/list/heads = SSjob.get_all_heads() if(heads.len) - var/head_text = "The heads of staff were:" + var/head_text = span_header("The heads of staff were:") head_text += "